Operating Systems I, CS 331
Couse Description
A theoretical study of the major system utilities of a general purpose computer; editors, assemblers, interpreters, linkers, loaders, compilers. An introdution to the principles of operating systems for a general purpose computer: command language, access and privacy, management of processes, memory and I/O devices, (Prerequisites: CS221 and CS232.)
3 Credits
When: Monday at 6:30 - 9:30
Where: MC 204
Text:Operating System Concepts, 5th Edition, by Silberschatz Galvin
This text is not currently in the book store, however, it may be ordered from Amazon.
Grading: 1/3 - homeworks, 1/3 midterm, 1/3 final. Attendance is required.
Tentitave Coverage (this coverage is subject to change).
Chapters 1-3
What is an OS
Parallel Systems
Real-time Systems, computer structures
IO Structures; DMA, Memory
OS Structures
- Process Management I
Process Management Command Line Interfaces
System Calls
The Java OS
Chapters 4 and 5
MultiProgramming, Scheduling Criterion, Shortest Job First, Preemptive SJF, Priority Scheduling Starvation. Gantt Charts, Round Robin Scheduling
CPU Scheduling
Processes, Process States, Queueing and Scheduling, PCBs, Medium Term Scheduling,Process Termination, Producer-consumer
Threading, Interprocess Communication, Indirect Communication
Multi-level Queues, multi-processor and real-time scheduling
6 Process Synchronization
Cooperating Processes, Critical Section, hardware Synchronization, Semaphores, Dining Philosophers Atomic transactions
7 Deadlocks
Resource Allocation Graphs, deadlock avoidance, wait-for graph, semaphores
8 Storage Management
memory management, paging, segmentation, hardware design, address binding, dynamic loading, dynamic linking, overlays, swapping, logical vs. physical addresses, external and internal fragmantation, compaction algorithms.