|
CS-405: Operating systems Fall 2020 TR: 8:00 am – 9:20 am; Synchronous/Online |
|
|||||||||||||||||||||||||||
|
Course
Description: Study of the principles and design techniques of operating systems. Topics include concurrent processes, scheduling, deadlocks, memory management, file and directory organizations and protection/security. Prerequisite: C or better grade in CS-341 and CS-375. Objective: To study and understand the design principles of Operating Systems. Text: Operating System Concepts Silberschatz,
Galvin, Gagne, 9th ed., John Wiley. Office Hours:
Link Link To Handouts and
Assignments. Syllabus: I.
Introduction a. Components of computer systems b. Components of operating systems c. Design and implementation of operating systems II. Process management a. Process concepts b. Scheduling c. Inter-process communication d. Processes and threads III. Process synchronization a. Synchronization mechanisms b. Classic synchronization problems c. Multiprocessing/multithreading programming IV. Memory management a. Memory management concepts b. Paging c. Segmentation d. Principle of locality e. Virtual memory V. File system management a. File system concepts b. File structures c. Directory structures d. Disk scheduling VI. Other components of operating systems Upon completing CS 405, students will · Understand the techniques used to design and implement operating systems · Understand how components of operating systems work · Develop a better understanding of what is behind the scene of program execution · Recognize and appreciate the importance of the principle of locality · Evaluate performances of algorithms and techniques used in operating systems · Analyze and develop solutions for processing synchronization · Gain experience in developing code for multi-threading tasks Course Objectives and Expectations: Upon entering the course –
students should: ·
Be capable of developing programming
solutions from written requirements ·
Be capable of developing datasets for
various scenarios and test developed solutions ·
Have clear understanding of computer
hardware and low level (assembly) programming Upon completion of the course
- students will: o Be
able to clearly articulate the components of an operating system and describe
their functions o Be
able to develop independent units that can perform operating system functions o Be
able to test for, study, and understand performance measures of a operating system o Have
a broad understanding of different types, uses, and research topics in
Operating systems. Policy: Pre-requisite for this
course is C or better grades in CS-375 and in CS-341. You should satisfy this
pre-requisite to attend this class. If this is your fourth (4th)
time taking this class – you need department permission to attend this class.
See Course Repetition Policy. Projects and Homework
should be done on an individual basis. Co-operative learning is encouraged.
Collaboration in generating the submitted work will be construed as
plagiarism and will be reported to the department. A Departmental policy sheet is available on the Web – Collaboration Policy. Other
policy details may be handed out in class. WSU is committed to Inclusive Excellence. WSU Promotes and celebrates diverse cultures, ethnic heritages, and includes all perspectives and promotes the understanding of issues relating to race, ethnicity, culture, gender, age, sexual orientation, ability levels, socioeconomic status, and religion. The complete statement with resources is at Inclusive Excellence Statement. |
Grading:
Grading Scale
|
|
||||||||||||||||||||||||||
|
|
|
|