Processes

6/7/98


Click here to start


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)

Author: Gary L. Burt

Email: burt@umbc

Home Page: www.cs.umbc.edu/~burt