Generated on Tue Oct 25 10:19:18 2022

CS 474: Operating Systems I (JSON)

Catalog description: Operating system principles and structures, and interactions with architectures.

Prerequisites: At least a C- in C S 273, C S 371, and C S 372.    (Catalog Link)

Credits: 3 (3)

Coordinator: Tao Wang

Textbook: Operating Systems Concepts, Ninth Edition, Silberschatz, Galvin, and Gagne, ISBN 978-1118063330
    (also: online reading)

BS degree role: required

Course Learning Objectives

  1. Explain OS control and management of hardware resources
  2. Explain OS management and execution of processes
  3. Explain OS control and management of real and virtual memory
  4. Explain classical concurrency issues and their solutions
  5. Anaylze and implement threads
  6. Analyze OS interaction with networks and architecture

Course Practicum Requirements

  1. C/C++ programming to implement basic operations of process management (process creation, termination etc)
  2. Build a client and server model via socket programming in C/C++
  3. C/C++ programming to create a shared protected circular queue using process synchronization mechanisms (Semaphore) with Pthreads library
  4. C/C++ programming to explore the inner-workings of a linux file system (EXT3, EXT4) and bring out various properties of the file system under test

Course Topics

  1. Operating-System Structures
  2. Processes, Inter-process Communication
  3. Threads
  4. Process Synchronization, Semaphore, Critical Section
  5. CPU Scheduling
  6. Deadlocks
  7. Memory Management
  8. Virtual Memory
  9. File System Implementation

Course Improvement Decisions

(Course improvement decisions or recommendations from past assessments)

  1. FA19: no specific recommendations
  2. FA15: incorporate more training on classical concurrency issues

ABET Outcome Coverage

(Provide Mapping to ABET Student Outcomes)

  1. TBD

Other Notes

(Any important notes or issues to consider)

  1. none