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.