| Course |
CSE306 |
| Title |
Operating Systems |
| Credits |
3 |
| Course Coordinator |
Michael Kifer |
| Current Catalog Description |
Students are introduced to the structure of modern operating systems. Topics include virtual memory, resource allocation strategies, concurrency, and protection. The design and implementation of a simple operating system are performed.
|
| Prerequisite |
CSE 219 or CSE 260; CSE 220 or ESE 380
|
| Course Goals |
- Introduce the fundamental concepts underlying modern operating systems, including virtual memory and multiprogramming.
- Provide students with a working knowledge of the components of operating systems, including file systems, the I/O subsystem, and the CPU scheduler.
- Give students experience designing and implementing simplified versions of the main modules of operating systems.
|
| Textbook |
- Operating System Concepts 6th edition, By Silberschatz, Galvin, Gane, ISBN: 0-47-25060-0
- Operating Systems, Prentice Hall, 5-th edition, by Stallings, ISBN: 0-13-147954-7
|
| Major Topics Covered in Course |
- Introduction (1 week)
- Computer architecture (1 week)
- Memory management (2 weeks)
- I/O subsystem (1.5 weeks)
- Resource allocation strategies (1 week)
- Concurrency (1 week)
- Threads and processes (2 weeks)
- CPU scheduling (1 week)
|
| Laboratory Projects |
- Implementation of various modules of operating systems. Typically 3-4 projects that span the period of 8 weeks. The projects are based on either NACHOS or OSP software.
|
| Course Webpage |
/~cse306 |