COSC450 OPERATING SYSTEM, FALL 2025 (9/1/2025 ~ 12/12/2025)
|
Week |
Lecture Notes |
Announcement |
||
|
Week-01 (09/01/25 ~ 09/05/25) |
Note #0 .PDF · Introduction to Operating System |
Note #1 .PDF Overview of Operating System · What is operating system · Macroscopic view of computer system · Computer Structure – Von Newmann Architecture · Von Newmann Bottleneck · Instruction cycle · History of Computer system o First Generation -vacuum tubes and plugboards o Second Generation – Transistors and Batch System o Third Generation – IC and multiprogramming o Fourth Generation – Personal computer and LSI (VLSI, ULSI) o Fifth Generation – Mobile Computers |
|
|
|
Week-02 (09/08/25 ~ 09/12/25) |
Note #2 .PDF Overview of Operating System · Computer system architecture o CPU o Interrupt and Implementation o Memory Hierarchy o Input/Out devices o Buses – parallel and serial buses o Single and Multiprocessor System Types · Operating System Implementation o Multiprogramming o Multitasking o Dual-Mode Multimode Operation |
Note #3 .PDF Overview of Operating System · OS as a Resources Manager o Process Management o Memory Management o File Management o Input / Output System Management o Deadlock Management o Cache Management · Operating System Structures o Monolithic o Layered System o Microkernels o Virtual machine o Client-Server module o Exokernels |
|
|
|
Week-03 (09/15/25 ~ 09/19/25) |
Note #4 .PDF Process & Thread Management · Processes · Process Model · Process Creation · Process Termination · Process States · Process Table (Process Control Block) · Process with Multiple-Threads · Process Scheduling o Scheduling Queues o CPU Scheduling o Context Switch · Process Creation in Linux · Process Termination in Linux · Android Process Hierarchy |
Note #5 .PDF Process & Thread Management · Interprocess Communication o With Shared Memory (shared memory in Linux) o With Message Passing (message Queue, socket in Linux) · Direct Communication · Indirect Communication · Message Passing Synchronization o Blocking o Non-blocking · Queueing · Threads o Overview of Threads o Benefit of Threads o Multicore Programming with Threads |
|
|
|
Week-04 (09/22/25 ~ 09/26/25) |
Note #6 .PDF Process & Thread Management · Thread Implementation o User level thread o Kernel level thread · Multithreading Model o Many-to-one o One-to-One o Many-to-Many · The Thread Library · The Threading Issues o Issues with fork(), exec() o Signal handling o Thread termination o Thread local storage o Scheduler Activations |
Note #7 .PDF Process & Thread Management · Scheduler o Long-Term, Short-Term (CPU), Memory · Scheduling Queues · Preemptive or Non-preemptive Scheduling · Scheduling Criteria · CPU Scheduling (Shot-term Scheduler) o FCFS (First Come First Serve) o Shortest Job First o Shortest Remaining Time o Round Robin o Priority Queue o Guaranteed Scheduling o Lottery Scheduling |
Note #8 .PDF Process & Thread Management · Multi-Processor Scheduling o Approaches to Multiple Processor Scheduling o Scheduling for Multicore processors · Fine Grained multithreading · Coarse-Grained multithreading · Load Balancing Note #9 .PDF · Real-Time CPU Scheduling o Minimizing Latency o Preemptive Priority-Based Scheduling o Rate-Monotonic Scheduling o Earliest-Deadline-First Scheduling o Proportional Share Scheduling · Criteria for selecting an algorithm |
Mini-Test #1 (9/25/25) Note #1, #2, #3 .PDF |
|
Week-05 (09/29/25 ~ 10/03/25) |
Note #10 .PDF Process & Thread Management · Inter-Process Communication · Race Condition · Critical Section (or region) · Solutions for Mutual Exclusion in a Critical Section o With Busy Waiting · Disabling Interrupts –non-preemptive kernel · Lock Variables –violating the first necessary condition (mutual exclusion ) · Strict Alternation –violating the second necessary condition ( block by a process outside critical section) · Peterson’s Solution · Hardware Solution o Test and Set Lock – o Memory Barriers o Atomic Variable · Priority Inversion problems with busy waiting |
Note #11 .PDF Process & Thread Management · Mutual Exclusion in a Critical Section with Sleep and Wake up o Producer Consumer Problem o Race Condition Producer Consumer problem o Semaphore · Concept of Semaphore · Semaphore Operation · Semaphore Implementation · Producer Consumer problem with semaphores · Careless Usage of semaphore causes deadlock o Dining Philosophers Problem o Reader’s and Writer’s Problem o Mutexes o Monitor · Implementation of Monitor · Producer Consumer with Monitor o Message Passing · Producer Consumer with Message Passing |
|
|
|
Week-06 (10/06/25 ~ 10/10/25) |
Note #12 .PDF Memory Management · With Mono-Process · With Multi-Processes · Multi-process with Fixed partition- o With separate input Queue o With single input Queue · Multi-process with variable partition · Modeling Multiprogramming · Swapping · Free Memory Space Management o With Bitmap o With Free-List § Memory allocation algorithm – first, best, worst, next fit |
|
|
|
|
Week-07 (10/13/25 ~ 10/17/25) |
Note #13 .PDF Memory Management · Memory Management Contin. o Virtual Memory o Virtual Memory with Paging § Page tables § Physical Address Mapping(MMU) |
|
|
Mini-Test #2 (10/14/25) Note #4, #5, #6, #7, #10, #11 Solution) .PDF |
|
Week-08 (10/20/25 ~ 10/24/25) |
Fall Break (10/20/25., 10/21/25) |
Note #14 .PDF Memory Management · Virtual Memory with Paging o Page Table with Hardware Support · Translation Look-Aside Buffer o Page Table Structure · Shared Pages · Multilevel Page Table · Hashed Page Table · Inverted Page table |
|
Midterm #1 (10/23/25) Note 1, 2, 3, 4, 5, 6, 7, 10, 11 |
|
Week-09 (10/27/25 ~ 10/31/25) |
Note #15 .PDF Memory Management · Demand Page and Page Fault · Free-Frame List · Performance of Demand Page with Page Fault · Swapping with Paging · Copy-on-Write between Parent and Child · Page Table Entries · Page Replacement Algorithms o Optimal Algorithm o Not Recently Used o First In First Out o Second Change o The Clock Page Replacement o Least Recently Used |
Note #16 .PDF Memory Management · Belady’s Anomaly o Structure of Stack Algorithm o Stack Algorithm · Design Issues for Paging System o Local versus Global allocation o Load Control o Page Size · Segmentation o Hardware for Segmentation Implementation o Advantage and Disadvantage with Segmentation · Segmentation with Paging (case study MULTICS) |
|
|
|
Week-10 (11/03/25 ~ 11/07/25) |
Note #17 .PDF File Management · File System o File Name o File Structure o File Types o File Access o File Attributes o File Operation · Directories · Directory Operations · File System Layout · Implementing File –How to save file in the disk o Contiguous Allocation o Linked List Allocation o Linked List Allocation with File Allocation Table o Index-Node o Implementing Directories |
Note #18 .PDF File Management · Shared File in multiuser system o Save i-node index o Symbolic link · Log-Structured File System (extension of i-node + contiguous) · Journaling File System · Disk Space Management o Block size o Free block management · Linked List · Bit Map |
|
Mini-Test #3 (11/6/25) Note 12, 13, 14, 15, 16 (ignore skipped topics) |
|
Week-11 (11/10/25 ~ 11/14/25) |
Note #19 .PDF File Management · Disk Space Management · Free Block Management o Linked List o Bit Map · Disk Quota · File System Backup o Physical Backup o Logical Backup |
Note #20 .PDF Deadlock Management · What is Deadlock? · Resource Allocation Graph o Deadlock example with Resources Allocation Graph · Resource Types for a Process · Sequence for Resource Use · Implementation of Resource request, use and release · Deadlock Condition · Four Strategies for Dealing Deadlock |
|
|
|
Week-12 (11/17/25 ~ 11/21/25) |
Note #21 .PDF Deadlock Management · Deadlock detection and Recovery. o Detection with one resource of each type o Detection with multiple resource of each type o Detection Algorithm with multiple matrix o Recover from Deadlock after a deadlock detection |
Note #22 .PDF Deadlock Management ·
Deadlock Avoidance o
Safe and Unsafe State o
Banker’s Algorithm for a Single Resource per
each Type o
Banker’s Algorithm for Multiple Resource per
each Type ·
Deadlock Prevention o
Attack Mutual Exclusion o
Attack Hold and Wait o
Attack No Preemption o
Attack Circular Wait |
|
|
|
Week-13 (11/24/25 ~ 11/28/25) |
|
Thanksgiving Break (11/26/25 ~ 11/28/25) |
|
|
|
Week-14 (12/01/25 ~ 12/05/25) |
Note #23 .PDF I/O Management ·
I/O Devices (categories, components) ·
Device Controllers ·
How CPU communicate with Device controller o
Memory-Mapped I/O (Indirect) o
Non-Memory-Mapped I/O (Direct) o
Hybrid ·
Direct Memory Access (DMA) ·
Interrupt Revisited |
Note #24 .PDF I/O Management ·
Principle of I/O Software o
Goal of I/O Software o
Implementation of I/O § Programmed
I/O § Interrupt-Driven
I/O § I/O
using DMA ·
Input /Output Software Layer o
Interrupt Handler o
Device Driver ·
HDD |
|
|
|
Week-15 (12/08/25 ~ 12/12/25) |
Note #25 .PDF I/O Management ·
Solid State Driver o
Structure of Solid State
Driver o
Architecture of a SSD o
Basic Operations in SSD (read, write erase) o
Flash Translation Layer (FTL) o
Garbage Collection |
|
|
|
|
Final Exam (12/15/25 ~ 12/19/25) |
|
|
|
|