University of Cincinnati Logo

EECE-4029 Operating Systems
Electrical Engineering and Computer Science

Learning Objectives
OS function and characteristics (Unit 1)
  1. Understand the relationship between the OS layer and the hardware that supports it
  2. Create and control a process
  3. Explain all functions of general purpose and embedded OSes
Processes (Unit 2)
  1. Explain the meaning of a process, a process state, and a collection of important operations on processes
  2. Explain co-routining
  3. Explain critical sections, mutual exclusion, and process co-operation
  4. Implement a semaphore
  5. Build several producer-consumer processes
Problems (Unit 3)
  1. Explain deadlock, livelock, starvation, resource contention
  2. Implement deadlock avoidance code
Memory (Unit 4)
  1. Explain how to organize computer memory and manage it
  2. Explain the implementation of and need for virtual memory
  3. Implement a simple paging algorithm
  4. Implement a simple memory management controller (e.g. buddy system)
Input/Output (Unit 5)
  1. Explain the interface between a device controller and applications
  2. Implement a multi-threaded device driver
  3. Implement DMA transfers
  4. Implement block and character transfers
Files (Unit 6)
  1. Explain how files are stored and directory structures
  2. Explain fragmentation, inodes, file descriptors
  3. Implement a defragmenter.
Paul Erdos
Ladies on Campus
Oscar Robinson