| 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 and CSE Major or ECE major or permission of instructor
|
| Course Outcomes |
- Knowledge of fundamental concepts underlying modern operating systems, including virtual memory and multiprogramming.
- Working knowledge of the components of operating systems, including file systems, the I/O subsystem, and the CPU scheduler.
- An ability to design and implement simplified versions of the main modules of operating systems.
|
| Textbook |
- William Stallings
Operating Systems, Internals and Design Principles (7th edition, latest)
Pearson (Prentice Hall), March 2012.
ISBN-10: 0-13-230998-X. ISBN-13: 978-0-13-230998-1
- Supplementary Material:
Tanenbaum, Modern Operating Systems, (3rd edition), Prentice Hall, 2007. ISBN-10: 0-13-600663-9. ISBN-13: 978-0136006633. Abraham Silberschatz, Peter Galvin, Greg Gagne Operating System Concepts (seventh edition), Wiley, 2004. ISBN 0-471-69466-5.
|
| Major Topics Covered in Course |
- Computer architecture
- Memory management
- I/O subsystem
- Resource allocation strategies
- Concurrency
- Threads and processes
- CPU Scheduling
|
| 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 |