The major goals for a student taking this course are
- To introduce basic as well as advance concepts in operating systems.
- To identify software design issues for modern systems.
Upon completion of this course, students should
- Understand the basic and current concepts underlying modern operating systems
- Understand important issues in the design of these concepts in modern operating systems
- Understand how the operating system's responsibilities are distributed among its components (e.g., the resource manager, the scheduler, and the memory manager).
- Understand concurrency with respect to process execution.
- Understand the levels of abstraction with respect to memory.
- Understand how the I/O system and the operating system interact.
Upon completion of this course, students should be able to
- Identify the components of the operating system
- Identify the major process scheduling algorithms and the pros and cons associated with each algorithm
- Specify the circumstances in which deadlocks occur
- Know the different levels of memory and how it is managed
- Know what a process is and what a thread is
- Know how I/O occurs.