CMPS 3600 Operating Systems
Catalog Description
CMPS 3600 Operating Systems (4)
A study of the introductory concepts in operating systems: historical development of batch, multi-programmed, and interactive systems; virtual memory, process, and thread management; interrupt and trap handlers, abstraction layer, message passing; kernel tasks and kernel design issues; signals and interprocess communication; synchronization, concurrency, and deadlock problems. Prerequisite: CMPS 2020.
Prerequisites by Topic
Programming skill in a high level language and knowledge of data structures and algorithms.
Units and Contact Time
4 semester units. 3 units lecture, 1 unit lab.
Required for CS and CE.
Required Textbook
Operating Systems: Internals and Design Principles 6/E by William Stallings, ISBN: 9-78-013230998-1
Recommended Texbook and Other Supplemental Materials
The ANSI C Programming Language by Kernighan and Ritchie
The Linux Programming Interface by Michael Kerrisk (available on Safari/CSUB Library)
Donna Meyers
Student Learning Outcomes
This course covers the following ACM/IEEE Body of Knowledge student learning outcomes:

CS-OS: Operating Systems
CE-CSE: Computer Systems Engineering

ABET Outcome Coverage

The course maps to the following performance indicators for Computer Science (CAC/ABET) and Computer Engineering (EAC/ABET):

(CAC PIb1): Identify key components and algorithms necessary for a solution.
Final project
(CAC PIb2): Produce a solution within specifications.
Final project
(CAC PIc4): Implement the designed solution for a given problem.
Final project
(EAC PIc1): Follow systematic and logical design procedures and define specifications to meet project requirements.
Final project
(CAC PId4, EAC PId4): Meet deadlines and achieve project goals.
Final Project
(CAC PIi3, ECE PIk2): Utilize problem solving skills and techniques to complete the task
Final Project
Lecture Topics and Rough Schedule
Week 1 computer system overview
Week 2 historical development
Week 3 process description & control
Week 4 security issues
Week 5 principles of threaded programs
Week 6 SMP & microkernels
Week 7 principles of concurrency
Week 8 semaphores
Week 9 principles of deadlock & starvation
Week 10 linux kernel concurrency
Week 11 memory management
Week 12 virtual memory
Week 13 uni-processor scheduling algorithms
Week 14 real-time scheduling
Week 15 I/O scheduling

Estimated ABET Category Content
CAC Computing/EACEngineering Topics Advanced 3 Credit Hours
Grading Policy
                                        A  93%
                                        A- 90%
                                        B+ 87%
      Lab & HW Assignments ...... 20%   B  83%
                                        B- 80%
      In-Class Exam I ........... 25%   C+ 75%
                                        C  70%
      In-Class Exam II  ......... 25%   C- 60%
                                        D+ 55%
      Final Project ............. 30%   D  50%
                                        D- 40% 
                                        F  below 40%  
Prepared By
Donna Meyers on January, 2014.
Approved by CEE/CS Department on January, 2014.
Effective Wtr 2014