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
- Explain OS control and management of hardware resources
- Explain OS management and execution of processes
- Explain OS control and management of real and virtual memory
- Explain classical concurrency issues and their solutions
- Anaylze and implement threads
- Analyze OS interaction with networks and architecture
Course Practicum Requirements
- C/C++ programming to implement basic operations of process management (process creation, termination etc)
- Build a client and server model via socket programming in C/C++
- C/C++ programming to create a shared protected circular queue using process synchronization mechanisms (Semaphore) with Pthreads library
- 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
- Operating-System Structures
- Processes, Inter-process Communication
- Threads
- Process Synchronization, Semaphore, Critical Section
- CPU Scheduling
- Deadlocks
- Memory Management
- Virtual Memory
- File System Implementation
Course Improvement Decisions
(Course improvement decisions or recommendations from past assessments)
- FA19: no specific recommendations
- FA15: incorporate more training on classical concurrency issues
ABET Outcome Coverage
(Provide Mapping to ABET Student Outcomes)
- TBD
Other Notes
(Any important notes or issues to consider)
- none