Course Description
Coverage of the key concepts in modern operating systems. Specific topics include process management, synchronization mechanisms, scheduling strategies, deadlock detection/avoidance, memory management, file systems, protection and security, and distributed systems. Concepts will be reinforced through programming projects using a realistic operating system.
Additional Requirements for Graduate Students:
Graduate Students must read papers and write summaries of them.
The papers will be drawn from the literature. They will also have additional homework and programming problems.
Athena Title
Operating Systems
Prerequisite
(CSCI 4720 or CSCI 4720E or CSEE 4280) and CSCI 2720
Semester Course Offered
Offered fall
Grading System
A - F (Traditional)
Course Objectives
At the completion of this course, students should be able to do the following: 1. Describe and explain the processes, threads, and concepts of inter-process communication and synchronization. 2. Describe the context switch and components of process scheduling: process control blocks, the interrupts, the ready queue, and CPU scheduling algorithms. 3. Design, implement and analyze concurrent programs using semaphores or monitors, with the awareness of race conditions, deadlock, and starvation. 4. Describe and apply memory management concepts: virtual and physical address spaces, paging, segmentation, page sharing and protection, page replacement algorithms, and translation lookaside buffer. 5. Define, restate, discuss, and explain mass storage, disk scheduling, and file systems.
Topical Outline
Operating System Structure (5 hours) Processes (6 hours) Threads (4 hours) Scheduling (5 hours) Synchronization (6 hours) Deadlock (4 hours) Memory (6 hours) File System (6 hours) Advanced Concepts, such as Protection and Security, Concurrency, I/O Subsystem, Mass Storage, Time Management in Distributed Systems (6 hours)
Syllabus