COSC450 OPERATING SYSTEM, FALL 2020

Fall 2017 (08/31/12~ 12/11/20)

 

Week

Lecture Notes

Announcement

Week-01

(08/31/20  ~ 09/04/20)

Note #0  .PDF

·         Syllabus

Note #1  .PDF

·         What is operating system

·         Macroscopic view of computer system

·         Computer Structure – Von Newmann

·         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

o   Fifty Generation – Mobile Computers

 

Note #2  .PDF

·         Computer system architecture

o   CPU

o   Interrupt and Implementation

o   Memory Hierarchy

o   Input/Out devices

o   Buses – parallel and serial bues

o   Single and Multiprocessor System Types

·         Multiprogramming

·         Operating System Operation

o   Dual-Mode and Multimode Operations

 

 

Week-02

(09/07/20  ~ 09/11/20)

Note #3  .PDF

·         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

·         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

 

 

 

Week-03

(09/14/20  ~ 09/18/20)

Note #5  .PDF

·         Interprocess Communication

o   With Shared Memory

o   With Message Passing

·         Direct Communication

·         Indirect Communication

·         Threads

o   Overview of Threads

o   Benefit of Threads

o   Multicore Programming with Threads

 

Note #6  .PDF

·         Thread Implementation

o   User level thread

o   Kernel level thread

·         Multithreading Model

o   One-to-Many

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

 

 

Mini-Test #1:  9/18/20

(Note #1 ~ Note #3)

Week-04

(09/21/20  ~ 09/25/20)

Note #7  .PDF

·         Scheduler

o   Long-Term, Short-Term (CPU), Memory

·         Scheduling Queues

·         Preemptive or Non-preemptive Scheduling

·         Scheduling Criteria

·         CPU Scheduling (Shot-term Scheduler)

o   Shortest Job First

o   Shortest Remaining Time

o   Round Robin

o   Priority Queue

o   Guaranteed Scheduling

o   Lottery Scheduling

 

Note #8  .PDF

·         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

 

Week-05

(09/28/20  ~ 10/02/20)

Note #10  .PDF

·         Inter-Process Communication

·         Race Condition

·         Critical Section

·         Mutual Exclusion in a Critical Section

o   With Busy Waiting

·         Disabling Interrupts –non-preemptive kernel

·         Lock Variables

·         Strict Alternation

·         Peterson’s Solution

·         Hardware Solution

·         Test and Set Lock –

·         Memory Barriers

·         Atomic Variable

·         Priority Inversion problems with busy waiting

 

Note #11  .PDF

·         Mutual Exclusion in a Critical Section

o   With Sleep and Wake up

·         Producer Consumer Problem

·         Race Condition Producer Consumer problem

·         Semaphore

o   Concept of Semaphore

o   Semaphore Operation

o   Semaphore Implementation

o   Producer Consumer problem with semaphores

o   Careless Usage of semaphore causes deadlock

·         Dining Philosophers Problem

·         Reader’s and Writer’s Problem

·         Mutexes

·         Monitor

o   Implementation of Monitor

o   Producer Consumer with Monitor

·         Message Passing

o   Producer Consumer with Message Passing

 

 

Week-06

(10/05/20  ~ 10/09/20)

Note#12  .PDF

·         Memory Management

o   With Mono-Process

o   With Multi-Processes

o   Multi-process with Fixed partition

o   Multi-process with variable partition

o   Modeling Multiprogramming

o   Swapping

o   Free Memory Space Management

·         With Bitmap

·         With Free-List

o   Memory allocation algorithm – first, best, worst, next fit

 

Node#13  .PDF

·         Virtual Memory

·         Virtual Memory with Paging

o   Page tables

o   Physical Address Mapping(MMU)

 

 

Mini-Test#2 (10/09/20)

(Note#4, #5, #6, #7, #10, #11)

Week-07

(10/12/20  ~ 10/16/20)

Note #14  .PDF

·         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/16/20)

(Note #1 ~ #7, #10~ #13)

Week-08

(10/19/20  ~ 10/23/20)

 

 

 

 

Week-09

(10/26/20  ~ 10/30/20)

 

 

 

 

Week-10

(11/02/20  ~ 11/06/20)

 

 

 

 

Week-11

(11/09/20  ~ 11/13/20)

 

 

 

 

Week-12

(11/16/20  ~ 11/20/20)

 

 

 

 

Week-13

(11/23/20  ~ 11/27/20)

 

Thanksgiving Break

(11/25/20 ~11/27/20)

 

Week-14

(11/30/20  ~ 12/04/20)

 

 

 

 

Week-15

(12/07/20  ~ 12/11/20)

 

 

 

 

Final Exam

(12/14/20  ~ 12/18/20)