|
Nov 22, 2024
|
|
|
|
CS 3840 - Operating Systems4 lecture hours 0 lab hours 4 credits Course Description This course introduces students to the design and implementation of modern operating systems. Topics covered include the history of operating systems, process synchronization and scheduling, deadlock detection and avoidance, memory management, file systems, protection and security, and input/output systems. Students will be exposed to the POSIX interface through lecture and homework assignments. Students will see the construction of a simple operating system executing on a small microprocessor. Students will construct simple shell scripts to run in a UNIX shell. (prereq: (CS 2711 or CE 1921 ) and (CS 2040 or CS 3210 )) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Identify the components of operating system process management
- Recognize issues related to concurrent processes and synchronization techniques
- Discuss and illustrate several approaches to operating system memory management
- Analyze the usage of memory management systems experimentally
- Discuss and illustrate commonly used scheduling algorithms
- Describe input/output handling in operating systems
- Illustrate file system interfaces and implementation
- Apply POSIX system calls
- Construct and execute simple shell scripts
Prerequisites by Topic
- C/C++ programming experience (including memory management, C/C++ compilation model, structures/unions)
- RISC Assembly Language programming
Course Topics
- Course introduction
- Operating systems overview
- Operating systems architecture and design
- Processes
- Context switching
- Interprocess communication
- Threads
- Scheduling
- Synchronization
- Deadlocks
- Swapping
- Virtual memory
- Page replacement algorithms and performance
- File systems introduction
- Access control
- File allocation schemes
- DMA
- Security
- Shell scripting
- Developing OS topics
Coordinator Dr. Walter Schilling
Add to Portfolio (opens a new window)
|
|