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

 

Midterm 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

  • Disk Quota
  • File System Backup
    • Physical Backup

·         Logical Backup

 

Mini-Test #3 (10/29/24)

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

 

 

Mini-Test #4 (11/7/24)

Note #17, #18, #19

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

 

 

 

 

Week-13

(11/18/24  ~ 11/22/24)

 

 

 

Midterm #2 (11/21/24)

Note#14, 15, 16, 17, 18, 19, 20, 21, 22

 

Week-14

(11/25/24  ~ 11/29/24)

 

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.