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