CSE 410 Operating Systems (3 cr)
Catalog Course Description
Principles and evolution of operating systems. Process and processor management. Concurrent processes and threads. Primary and secondary storage management. Case studies of modern operating systems.
(Letters refer to program outcomes; caps indicate greater emphasis.)
- Demonstrate an understanding of the objectives and functions of a modern operating system. (a,e,i,j)
- Demonstrate an understanding of the architectural mechanisms required to support a modern operating system, including interrupts, dual-mode operation, and system components (such as processors, cache memory, random-access memory, and secondary storage). (a,i,j)
- Demonstrate an understanding of the role of processes and threads, including mechanisms to describe and control processes and threads (such as state transition diagrams and process control blocks). (a,i,j)
- Demonstrate an understanding of processor scheduling, including types of scheduling (such as long-term and short-term scheduling) and scheduling algorithms. (a,i,j)
- Demonstrate an understanding of the principles of concurrency, including process competition and cooperation, the mechanisms used for process synchronization and communication (such as semaphores, monitors, and message passing), and an understanding of the difficulties associated with concurrent execution, including deadlock and starvation. (a,i,j)
- Demonstrate an understanding of the mechanisms used to manage primary storage, including partitioning, paging, and segmentation. (a,i,j)
- Demonstrate an understanding of the role of virtual memory, including hardware support (such as the TLB) and operating system policies (such as placement, replacement, and cleaning). (a,i,j)
Program Outcomes covered in CSE 410
- An ability to apply knowledge of computing and mathematics appropriate to the discipline
- An understanding of professional, ethical, legal, security and social issues and responsibilities
- An ability to use current techniques, skills, and tools necessary for computing practice
- 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 demonstrates comprehension of the tradeoffs involved in design choices
Assessment of how well outcomes are being achieved will be done by applying a rubric to a random sample of at least 25% of the students who have completed the work being used for assessment. Assessment tools are examinations and programming projects. For each outcome being assessed, each student in the sample will be judged to (a) exceed, (b) meet, or (c) fail to meet an objective standard designed to assess this outcome. Unless otherwise specified the thresholds used are: meet (70%), exceed (85%). We will say that this offering of the course achieved the particular outcome if and only if 70% or more of the students sampled were assessed to be in categories (b) or (c).
- Course outcomes I - VII assessed by
- specific assignments and specific exam questions.
- Evolution of operating systems
- Architectural support for operating systems
- Processes and threads
- Processor scheduling
- Concurrency: synchronization and communication
- Concurrency: deadlock and starvation
- Physical and virtual memory
- Secondary storage devices
- File systems
- Stallings, "Operating Systems" (6th edition). Prentice Hall, 2008.