B-Pro
Compendium for Spiral Bilingual Programming

Syllabus

The detailed syllabus used for this course is shown below. Different parts of the syllabus can be viewed by clicking on the appropriate tabs.

Catalog Description:
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.

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