CSE 3221

Operating Systems

Contact Info
Last Modified:
Sep 5 14:10

Course Description

This course will cover the fundamental concepts that underlie operating systems, including multiprogramming, concurrent processes, CPU scheduling, deadlocks, memory management, file systems, protection and security. Many examples from real systems are given to illustrate the application of particular concepts.
  • Introduction, (basic definitions, OS components and structures).
  • Processes (scheduling, communication, operations).
  • Threads (multi-thread programming, multi-core systems, thread libraries and implementations).
  • Process Synchronization (critical section problem, deadlocks, software and hardware solutions, mutex locks, semaphores, monitors, classic problems).
  • CPU Scheduling (Criteria and algorithms, thread scheduling, multiproicessor scheduling, real-time scheduling).
  • Main Memory (swappiung, memory allocation, segmentation, paging, structure of page tables).
  • Virtual memory (demand paging, copy on write, page replacement, allocation, thrashing, memory mapped files, allocating kernel memory).
  • Mass Storage (Disk organization, attachment, scheduling, management, swap space).
  • File System Interface (access methods, directories, mounting, sharing, protection)
  • File System Implementation (file system structure, directory implementation, allocation methods, efficiency, recovery)

Lecture Hours

Tue. 5:00-8:00 Life Sciences Bldg (LSB) 103.

Office Hours

Tuesday 8:00-8:30pm, Monday and Friday 12:30-1:00pm.

Programming Assignments

There will be three programming assignments involving process operations, threads and synchronization and memory management. The programming language is C and the programs will have to run on our Linux systems. Each assignment is worth 10%.


There will be a midterm worth 25% and a final worth 45%. The final will cover all the material in the course.


The text is A. Silberschatz, P.B. Galvin, G. Gagne, “Operating System Concepts,” 9th Edition, John Wiley & Sons, 2013.

Last Modified: Sep 5 14:55