Download CS_Course_Syllabus_Template

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

RSTS/E wikipedia , lookup

Security-focused operating system wikipedia , lookup

DNIX wikipedia , lookup

Burroughs MCP wikipedia , lookup

VS/9 wikipedia , lookup

CP/M wikipedia , lookup

Spring (operating system) wikipedia , lookup

Unix security wikipedia , lookup

Distributed operating system wikipedia , lookup

Memory management unit wikipedia , lookup

Process management (computing) wikipedia , lookup

Paging wikipedia , lookup

Transcript
Course Syllabi
Course Title and Code

Operating Systems CSC229
Course Identification and General Information:
Department
Contact Hours
Web Address
Computer Science
2 theory classes per week of 75 minutes each
1 practical lab per week of 100 minutes
Course Level
6
Credit Hours
4(3+2+0)
http://www.coc.qu.edu.sa/en/Dr.master.syed/Pages/Course.aspx

Course Instructor/Coordinator’s Name: Dr. Master Prince + Maha Al Otabi

Textbook Title, Author, and Year:
(1) Operating System Concepts, 9th Edition, Avi Silberschatz, Peter Baer Galvin, Greg Gagne, ISBN-13:
9781118063330, John Wiley & Sons, 2013.
(2) Lab Booklet(Material includes 12 Practical part as experiments on Linux OS)

Other Supplemental Materials:
(1) Teach Yourself Linux in 24 Hours, Third Edition, Bill Ball, Stephen Smoogen, 2000.
(2) Getting Started with Ubuntu 11.10 (Ubuntu’s Manual from official website): http://files.ubuntumanual.org/manuals/getting-started-withubuntu/11.10/en_US/print/Getting%20Started%20with%20Ubuntu%2011.10.pdf.
(3) Operating Systems Design and Implementation, 3rd Edition, (2011), Kindle Edition, Andrew S.
Tanenbaum, Albert S Woodhull, ISBN: o-13-142938-8.

Specific Course Information:
Catalog Description:

Overview of operating systems (OS) principles and concepts, components, structure.
OS services, system calls, APIs, interrupts, system mode and user mode, system programs, security,
protection, OS design and implementation, processes.
Process, operation on process, PCB, process synchronization (concurrency).
CPU Scheduling: Basic concepts, scheduling criteria, states diagram, dispatching, context switching, CPU
performance, resource allocation, and schedulers.
Scheduling algorithms, preemptive and non-preemptive scheduling, SJF, Round Robin.
Main memory, virtual memory, algorithms, swapping, contiguous memory allocation, segmentation,
paging, page replacement, allocation of frames, memory-mapped files.
File-Systems, File Concept, directories.
o
o
o
Pre-requisites: CEN 126.
Co-Requisites: None.
Required, Elective, or Selected Elective: Required.







Specific Goals for the Course: Summary of the main learning outcomes for enrolled
students.

Provide a grand tour of the major components of OS.
Page 1 of 4












Learn and understand the OS concepts and fundamentals, OS structure, I/O system, APIs, System calls,
process management, memory management, File system.
Illustrate several open-sources of OS.
Install, and apply basic concepts using the Linux operating system.
Clarify the various features of processes, including scheduling, creation, termination, and communication.
Study and analyze various CPU Scheduling algorithms.
Improve student's skills in thinking based on discussions and problem solving.
Learn and summarize the main features, functionalities, and services of OS.
Describe the mechanism of using interrupts, dispatching, context switching and describe the difference
between processes and threads.
Differentiate various process scheduler types.
Understand and describe the memory management, swapping, contiguous memory allocation, memory
paging, page tables, and memory segmentation.
Describe the file systems.
Program Outcomes Addressed by the Course:
This course provides the following outcomes with the following relationship:
Computer Science Program Outcome
Relationship to
Course
a) An ability to apply knowledge of computing and mathematics appropriate to the
program’s student outcomes and to the discipline.
b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution.
c) An ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet desired needs.
d) An ability to function effectively on teams to accomplish a common goal.
e) An understanding of professional, ethical, legal, security and social issues and
responsibilities.
f)
An ability to communicate effectively with a range of audiences.
g) An ability to analyze the local and global impact of computing on individuals,
organizations, and society.
h)
Recognition of the need for and an ability to engage in continuing professional
development.
i)
An ability to use current techniques, skills, and tools necessary for computing
practice.
j)
Medium
Not Related
Not Related
Medium
Not Related
Not Related
Not Related
Not Related
High
An ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
Not Related
demonstrates comprehension of the tradeoffs involved in design choices.
k)
An ability to apply design and development principles in the construction of software
systems of varying complexity.
Page 2 of 4
Not Related

Brief List of Topics to be covered:












Overview of OS principles and concepts, components, structure.
OS services. system calls, APIs, interrupts, system mode and user mode, system programs,
OS generation and System Boot.
Protection and Security, OS design and implementation, Unix OS structure, other types of OS such as IOS.
Processes & threads, operation of process, interposes communication, virtual Machine.
Process management and process synchronization.
CPU Scheduling: Basic concepts, scheduling criteria, states diagram, schedulers.
Scheduling algorithms, FCFS, SJF preemptive and non-preemptive scheduling, Examples, Round Robin.
Main memory, allocation algorithms, swapping process.
Logical and physical addresses, Memory paging, page tables, Memory Segmentation, allocation of
frames.
File-Systems interface.
Outcome Assessment:
1. Direct Assessment
☒
☒
☒
☒
☐
☐
☐
☒
☐
☐
☒
☐
☒
☒
☒
☒
Midterm Written Exam I
Midterm Written Exam II
Final Written Exam
Quizzes
Homework
Integrative Projects
Students’ Portfolios
Case Study
Oral Exams
Written Reports
Participation in Lecture
Illustrative Presentations
Use of Computer Facilities by Students
Reading of References Related to Course Topics
Team Work
Practice in the Lab
2. Indirect Assessment
☐
☒
☐
☒

Pre-Course Questionnaire
Post-Course Questionnaire
Group Discussions
Students’ Interviews
Course Outline:
Topics
Contact Hours
7
10
Overview of operating systems principles and concepts, components, structure.
OS services, system calls, APIs, and interrupts.
System mode and user mode, system programs, OS generation and System Boot, Unix
OS structure, other types of OS’ such as IOS.
Page 3 of 4
10
6
9
10
5
Scheduling algorithms, FCFS, SJF preemptive and non-preemptive scheduling,
Examples, Round Robin.
Second mid Term Exam
Main memory, allocation algorithms, swapping process.
4
Logical and physical addresses, Memory paging, page tables, Page table structures
algorithms, Memory Segmentation, allocation of frames.
File-Systems interface
4
Review
10
75
Protection and Security, OS design and implementation, Virtual Machine, processes &
threads, operation on process, Interposes Communication, Synchronization.
Process management and process synchronization, communication models.
First mid Term Exam
CPU Scheduling: Basic concepts, scheduling criteria, states diagram, schedulers.
Total Contact Hours
Notes:

A 3 Credit Theory-Course should utilize 45 Contact Hours in 15 Weeks.

A 2 Credit Practical-Course should utilize 30 Contact Hours in 15 Weeks.

A 4 Credit Course (3 Theory and 1 Practical) should utilize 60 Contact Hours in 15 Weeks.

Each theory-credited Contact Hour is equivalent to 50 lecture minutes and 10 minutes of rest.

Each practical-credit Contact Hour is equivalent to 100 lab minutes and 20 minutes of rest.
Page 4 of 4