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

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)

 

 

 

 

Week-10

(11/03/25  ~ 11/07/25)

 

 

 

 

Week-11

(11/10/25  ~ 11/14/25)

 

 

 

 

Week-12

(11/17/25  ~ 11/21/25)

 

 

 

 

Week-13

(11/24/25  ~ 11/28/25)

 

Thanksgiving Break (11/26/25 ~ 11/28/25)

 

 

Week-14

(12/01/25  ~ 12/05/25)

 

 

 

 

Week-15

(12/08/25  ~ 12/12/25)

 

 

 

 

Final Exam

(12/15/25  ~ 12/19/25)