Introduction to operating systems concepts. The operating system as a
resource manager. The principles for the design and implementation of
operating systems. User interface programming in current operating
systems. Command languages and user interface. Process scheduling and
deadlock prevention. Memory management, virtual memory, paging, and
segmentation. Interrupt processing. Device management, I/O systems and
I/O processing. Security and protection. Examples of operating systems
including distributed and open systems.
Here is a brief overview of the course objectives. A more detailed
description of the course content is available off the
CSA
website.
- Overview of operating systems
- operating systems as a user interface and resource manager
- historical perspective
- operating system organization (layers, micro kernel)
- CPU scheduling and concurrent process coordination
- interrupts, clock interrupts, interrupt vector, interrupt service routines
- context switching and other scheduling concepts
- scheduling algorithms (FCFS, SJF, Priority, RR, etc.) and their evaluation
- rate conditions and critical section problem and its solutions
- semaphores, wait and signal operations
- classical problems of inter process communication and their solutions
- Memory management
- memory management in historical perspective (fixed and variable partitions, swapping, etc.)
- virtual memory
- page replacement algorithms
- design issues for paging systems (working set model, page size, etc.)
- degmentation, segmentation with paging and system examples
- File systems and secondary storage management
- files: naming, attributes, and directories
- implementation issues
- file security and protection
- I/O time and disk head scheduling algorithms
- Deadlocks
- detection and recovery
- avoidance
- prevention
- Distributed operating systems
- goals, advantages, and disadvantages
- hardware and software concepts for implementation
- design issues (transparency, flexibility, reliability, and similar topics)
- client/server approach