COSC450
OPERATING SYSTEM
Fall
2024 (08/26/24 ~ 12/09/24)
Week |
Lecture Notes |
Announcement |
||
Week-01 (08/26/24 ~ 08/30/24) |
Note #0 .PDF ·
Introduction
to COSC450 |
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/02/24 ~ 09/06/24) |
LABOR DAY (9/2/24) |
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 |
|
|
Week-03 (09/09/24 ~ 09/13/24) |
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 |
Note #4 .PDF Process and 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 |
|
Mini-Test #1 (9/12/24) .PDF Note #1, #2, #3 |
Week-04 (09/16/24 ~ 09/20/24) |
Note #5 .PDF Process and 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 |
Note #6 .PDF Process and 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 |
|
|
Week-05 (09/23/24 ~ 09/27/24) |
Note #7 .PDF Process and Thread Management ·
Scheduler o Long-Term,
o Short-Term
(CPU), o 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 and 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 Process and Thread Management ·
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 |
Note #10 .PDF Process and Thread Management ·
Race
Condition ·
Critical
Section (or region) ·
Solutions
for Mutual Exclusion in a Critical Section o With Busy Waiting ·
Disabling
Interrupts ·
Lock
Variables ·
Strict
Alternation ·
Peterson’s
Solution ·
Hardware
Solution o Test and Set Lock o Memory Barriers o Atomic Variable ·
Priority
Inversion problems with busy waiting |
|
Week-06 (09/30/24 ~ 10/04/24) |
Note #11 .PDF Process and 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 |
Note #12 .PDF Memory Management ·
Memory Management o With
Mono-Process o With
Multi-Processes o Multi-process
with Fixed partition- § With
separate input Queue § With
single input Queue o Multi-process
with variable partition o Modeling
Multiprogramming o Swapping o Free
Memory Space Management § With
Bitmap § With
Free-List |
|
Mini-Test #2 (10/3/24) .PDF Note #4, 5, 6, 7, 10, 11 |
Week-07 (10/07/24 ~ 10/11/24) |
Note #13 .PDF Memory Management ·
Memory
Management Contin. o Virtual Memory o Virtual Memory with Paging § Page tables § Physical Address Mapping(MMU) |
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 |
|
|
Week-08 (10/14/24 ~ 10/18/24) |
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 |
Midterm1 review note .PDF |
Midterm #1 (10/17/24) .PDF Note #1, 2, 3, 4, 5, 6, 7,
10, 11, 12, 13, 14 |
|
Week-09 (10/21/24 ~ 10/25/24) |
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) |
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 Implementing Directories |
|
|
Week-10 (10/28/24 ~ 11/01/24) |
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 |
Note #19 .PDF File
Management
·
Logical Backup |
|
Mini-Test #3 (10/29/24) .PDF Note #12,
#13, #14, #15, #16 |
Week-11 (11/04/24 ~ 11/08/24) |
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 |
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 ·
Detection
Algorithm with multiple matrix o Recover from Deadlock after a deadlock
detection |
|
|
Week-12 (11/11/24 ~ 11/15/24) |
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 |
Note #23 .PDF Input/Output
Management ·
Input
/ Output o I/O Devices (categories, components) o Device Controllers o How CPU communicate with Device
controller ·
Memory-Mapped
I/O (Indirect) ·
Non-Memory-Mapped
I/O (Direct) ·
Hybrid o Direct Memory Access (DMA) o Interrupt Revisited |
|
Mini-Test #4 (11/12/24) .PDF Note #17, #18, #19 |
Week-13 (11/18/24 ~ 11/22/24) |
Note #24 .PDF Input/Output
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 (Hard Disk Driver) |
Midterm2 review note .PDF |
|
Midterm #2 (11/21/24) Note#14, 15, 16, 17, 18, 19, 20, 21, 22 |
Week-14 (11/25/24 ~ 11/29/24) |
Note #25 .PDF Input/Output
Management ·
Solid State Driver (SSD) 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 |
THANKSGIVING
BREAK (11/27/24 ~ 11/29/24) |
|
|
Week-15 (12/02/24 ~ 12/06/24) |
|
|
|
|
Week-16 (12/09/24 ~12/10/24 ) |
|
|
|
|
Final Exam
Week (12/11/24 ~ 12/17/24) |
Final
Exam: Comprehensive Date:
12/17/24 Time:
01:30 P.M. ~ 04:00 P.M. |
|
|