|
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
|
|
||||||||||||||||||||||||||
|
|
|
|