ECS 251: Operating Systems

ECS 251
Operating Systems
Effective Term
2016 Spring Quarter
Learning Activities
Lecture - 3.0 hours
Discussion - 1.0 hours
Models, design, implementation, performance evaluation in operating systems. Algorithms, internal architectures for single processor OS and distributed systems. Concurrency control, recovery, security. OS kernel-level programming. Special topics embedded systems, real-time system, device driver, NPU (Network Processor Unit).
ECS 150
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.

Summary of Course Content
I. OS Structure
Monolithic and Structured Kernel, Micro-Kernel, Processes, Threads, Events, Servers, OS Extensibility

II. Scheduling and Process Control
Context Switching, Process Management, Scheduling Algorithms, Interrupt, Device Drivers

III. Concurrency Control and Recovery
Synchronization, Deadlock, Priority Inversion, Fault Tolerance and Recovery

IV. File/Storage Systems and Memory Management
Disk Management, I/O Subsystems, Virtual Memory Management, Distributed Shared Memory, Security and Access Control, File System Structure, Distributed File Systems

V. Performance Evaluation and Monitoring VI. Special OS Topics
Communication Models, Domain-specific Operating Systems (Real-time, Embedded, Network OS, etc.) , Distributed operating systems, Distributed system issues, Embedded systems, Real-time systems, and NPU (Network Processor Unit)

Programming Projects:

The instructor will assign two problems during the quarter, one will be related to scheduling and concurrency and the other will be related to memory management or file systems. The two programming assignments will give students an opportunity to understand the principles deeply.

Illustrative Reading
Deitel, Deitel, and Chofnes, Operating Systems, 3rd edition, Prentice-Hall, 2004, ISBN:0-13-124696-8

Potential Course Overlap
There is no significant overlap with other courses.

Course Category