Operating Systems
Core principles and concepts governing operating systems — process management, inter-process communication, CPU scheduling, thread synchronization, memory management, file systems, and OS security.
Instructor: Istiaq Ahmed Fahad
Term: Fall 2026
Location: Department of Computer Science and Engineering, BRAC University
Course Overview
CSE321: Operating Systems provides a comprehensive understanding of the principles and concepts governing the functions of modern operating systems. The course acquaints students with the state-of-the-art approaches that make the design, implementation, and operation of complex operating systems possible.
Key topics covered include:
- Process Management & Concurrency: Process lifecycle, context switching, inter-process communication (IPC), multithreading, and CPU scheduling.
- Synchronization & Deadlocks: Race conditions, mutex locks, semaphores, critical section problem, and deadlock avoidance/handling.
- Memory Management: Main memory allocation, paging architectures, virtual memory, demand paging, and page replacement strategies.
- Storage & File Systems: File organization, directory structures, allocation methods, UNIX inodes, and disk scheduling.
- Protection & Modern Systems: Access control matrices, security mechanisms, virtualization, containers, and mobile operating systems.
Course Information
- Institution: Department of Computer Science and Engineering, BRAC University
- Course Portal: CSE321 Course View
- Role: Course Instructor (Theory)
Textbooks & References
- Operating System Concepts Essentials — Abraham Silberschatz, Peter B. Galvin, Greg Gagne (Wiley, 10th Edition, 2018).
- Modern Operating Systems — Andrew S. Tanenbaum (Prentice Hall, 4th Edition, 2015).
- Operating Systems: Three Easy Pieces (OSTEP) — Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (Online Book).
Prerequisites
- Hard Prerequisite: CSE221 (Algorithms)
- Soft Prerequisite: CSE340 (Computer Architecture)
Schedule
| Topic | Materials |
|---|---|
| Week 1 — Introduction to Operating Systems & Process Concepts Overview of operating system structures, process concepts, process states, Process Control Block (PCB), process creation and termination, and Inter-Process Communication (IPC). | |
| Week 2 — Operations on Processes & Inter-Process Communication (IPC) Deep dive into IPC mechanisms: shared memory, message passing, Unix pipes, and system calls for process management. | |
| Week 3 — Threads & Concurrency Threads overview, multicore programming, user vs kernel threads, multithreading models, thread libraries (pthreads), and threading issues. | |
| Week 4 — CPU Scheduling Algorithms Basic concepts of CPU scheduling, scheduling criteria, FCFS, SJF, Priority, Round Robin, Multilevel Queue, and Multilevel Feedback Queue scheduling. | |
| Week 5 — Process Synchronization I Concurrency, race conditions, critical section problem, software solutions (Peterson’s Algorithm), and hardware support (Test-and-Set, Compare-and-Swap). | |
| Week 6 — Process Synchronization II & Classical Problems Mutex locks, binary and counting semaphores, monitors, and classic synchronization problems (Bounded-Buffer, Readers-Writers, Dining Philosophers). | |
| Week 7 — Deadlocks & Storage Systems Overview Deadlock characterization, prevention, avoidance (Banker’s Algorithm), detection, recovery, and magnetic disk architecture overview. | |
| Week 8 — File Systems Implementation & Storage File concepts, attributes, directory structures, allocation methods (contiguous, linked, indexed), UNIX inode structure, crash consistency, and journaling. | |
| Week 9 — Main Memory Management & Paging Address spaces, logical vs physical addresses, contiguous memory allocation, paging architecture, page tables, TLBs, and hierarchical page tables. | |
| Week 10 — Virtual Memory & Page Replacement Virtual memory concepts, demand paging, page fault handling, page replacement algorithms (FIFO, Optimal, LRU), and thrashing. | |
| Week 11 — Protection & Security Security threats, protection goals and principles, domain of protection, access matrix, mandatory access control, and Unix/Android security mechanisms. | |
| Week 12 — Advanced Security Defenses & Access Control Implementing security defenses, firewalls, capability-based systems, revocation of access rights, and language-based protection. | |
| Week 13 — Virtual Machines, Containers & Mobile OS Virtualization concepts, hypervisors (Type 1 & Type 2), containers vs virtual machines, Docker fundamentals, and mobile operating system architectures. |