Table of Contents
Processes
The Process Model
Multiprogramming of Four Programs.
Multiprogramming of Four Programs. (II)
Multiprogramming of Four Programs. (III)
Problem
Process Hierarchies
Process States
Transition State Diagram
Alternative View
Scheduler
Implementation of Processes
Sample Fields
Threads
Heavyweight Threads
Lightweight Threads
Threads II
Threads III
Design Issues
Design Issues (II)
Design Issues (III)
Good News, Bad News
InterProcess Communications
Three Issues
Race Conditions
Race Conditions (II)
Race Conditions Example
Race Conditions Example (II)
Critical Sections
Mutual Exclusion
Solution
Four Conditions
Mutual Exclusion with Busy Waiting
Lock Variables
Lock Variables Faults
Strict Alternation
Strict Alternation Faults
Peterson's Solution
Peterson's Solution (II)
Peterson's Solution (III)
TSL Instruction
TSL
Peterson's Solution & TSL Instruction Fault
Priority Inversion Problem
SLEEP & WAKEUP
Producer-Consumer Problem
Buffer Problems
Fatal Race Condition
Fatal Race Condition (II)
Fatal Race Condition (III)
Semaphores
Semaphores (II)
Producer-Consumer Problem Revisited
Producer-Consumer Problem Revisited (II)
Producer-Consumer Problem Revisited (III)
Monitors
Monitors (II)
Monitors (III)
Monitors (IV)
Down Side
Message Passing
Message Passing (II)
Message Passing (III)
Examples
Classical IPC Problems
The Dining Philosophers Problem
The Dining Philosophers Problem (II)
Readers and Writers Problem
Sleeping Barber Problem
Sleeping Barber Problem (II)
Sleeping Barber Problem Code
Sleeping Barber Problem Code (II)
Sleeping Barber Problem Code (III)
Process Scheduling
Scheduling Criteria
Scheduling Criteria (II)
Clocks
Preemptive Scheduling
Round Robin
Round Robin (II)
Round Robin (III)
Priority Scheduling
Priority Scheduling (II)
Priority Scheduling (III)
Multiple Queues
Shortest Job First
Guaranteed Scheduling
Lottery Scheduling
Two-level Scheduling
Two-level Scheduling (II)
Policy versus Mechanism
Real-Time Scheduling
Real-Time Scheduling(II)
Real-Time Scheduler Algorithms
Internal Structure of MINIX
Internal Structure of MINIX (II)
Internal Structure of MINIX (III)
Process Management
Process Management (II)
Process Management (III)
I/O Tasks Layer
Kernel
Kernel (II)
System Task
Server Processes
Server Processes (II)
User Processes
Process Management in MINIX
Boot Process
Boot Process (II)
Boot Process (III)
Boot Process (IV)
Creating Processes
IPCs in MINIX
Process Scheduling
Process Scheduling (II)
Process Scheduling (III)
Process Scheduling (IV)
Process Scheduling (V)
Process Scheduling (VI)
Resource
Organization of source code
Others
Conventions
Memory Layout
Memory Layout (II)
Some Code Items
Some Code Items
Interrupt Processing Hardware
Interrupt Handling
Interrupt Handling (II)
Interprocess Communications
Queues
Hardware-Dependent Code
Utilities and the Kernel Library
Summary
Summary (II)
Summary (III)
Summary (IV)
Summary (V)
Summary (VI)
|