CS 3080: Operating Systems
CS 3080:Operating Systems
Semester Hours: 3.0
Contact Hours: 3
Coordinator: Hassan Rajaei
Text: Operating System Concepts
Author(s): Silbershatz Galvin, gagne
Year: 2008
SPECIFIC COURSE INFORMATION
Catalog Description
Features of modern multiprocessing operating systems. Threads and processes; resource management; scheduling, concurrency, and communication; virtual memory management; secondary storage management. Students cannot get credit for both CS 3080 and CS 3270. Prerequisite: Grade of C or better in CS 2020 and CS 2170 or CS 2190.
Course type: REQUIRED
SPECIFIC COURSE GOALS
- I can describe process scheduling algorithms, and compare their performance.
- I can use language primitives to manage threads and processes.
- I can describe concurrency issues and compare approaches to solving them.
- I can implement pseudo-code & actual code to solve certain synchronization problems.
- I can describe real and virtual memory management algorithms.
- I can derive the mapping between virtual and real addresses.
- I can describe certain scheduling algorithms for device management.
COMPUTER SCIENCE STUDENT OUTCOMES ADDRESSED BY THIS COURSE
- CS 1 Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
- CS 2 Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline
- CS 6 Apply computer science theory and software development fundamentals to produce computing-based solutions
LIST OF TOPICS COVERED
- Overview (~ 13%, 2.0 weeks)
- OS history and features
- Process, user and kernel threads
- Security
- Introduction to Unix/Linux (reintroduced and utilized throughout the course)
- Scheduling (~ 20%, 3 weeks)
- Process and thread management
- Scheduling algorithms
- Performance tradeoffs
- Examples
- Concurrency (~ 20%, 3 weeks)
- Race condition
- Mutual exclusion algorithms for processes and threads
- Deadlock
- Examples
- Communication (~ 15%, 2.25 weeks)
- Shared memory
- Pipes and other paradigms
- Examples
- Memory Management (~ 15%, 2.25 weeks)
- Real and virtual memory
- Address Translation
- Paging algorithms
- Performance and examples
- Device Management (~ 10%, 1.5 weeks)
- Device interaction
- Buffer management
- Disk schedulers
- Platform Specifics (~ 7%, 1 week)
- Windows
- Unix
COMPUTER SECURITY TOPICS
Faculty who recently offered CS 3080 have discussed and identified a list of topics related to computer security in this course. Below is a list for instructors to incorporate. (*) indicates topics that are mandatory.
Security Topic |
Description |
Textbook Reference1 |
Estimated Class Hours |
Isolation |
Virtual Machines. Benefits of a virtual machine. Include discussion of how virtual machines provide a level of isolation from the guest to the host OS. |
Chapter 16 |
1 |
*Isolation |
Virtual Memory. Discussing how virtual memory works, including how kernel processes are allocated separately and isolated, from user processes. |
Chapter 9 |
1 |
*Protection |
User vs. kernel mode; SVC-protect CPU, I/O and computer memory; ring structure. Notions of protection domains and access matrices are applied in OS to control access to resources. Specifically cover notion of principle of least privilege. |
Chapter 2 Chapter 14 |
5 |
*Security |
Discussion of security threats and attacks. Basics of encryption, authentication, and hashing techniques. Topics including port scanning, denial of service, and worms. Authentication of users (passwords, biometrics, etc.). |
Chapter 15 |
2 |
*Concurrency |
Threading, threading issues such as thread safety. Synchronization techniques. |
Chapter 4 Chapter 5 |
3-6 |
1Silberschatz, 8th Edition.
Updated: 12/03/2025 04:28PM