Multiprogramming

The Scheduler

Interrupts

Process Activity

Direct Memory Access (DMA)

Cost of Context Switching

Scheduling Strategies

Scheduling Environments

Batch

Scheduling Strategies for Batch Systems

First Come, First Served

Shortest Job First (SJF)

Shortest Remaining Time Next

Interactive

Scheduling Strategies for Interactive Systems

Round-Robin Scheduling

Priority Scheduling

Multiple Queues

Shortest Process Next

Guaranteed Scheduling

Lottery Scheduling

Fair-Share Scheduling

Real-Time

Scheduling Requirements

Threads

POSIX Threads

User-Level Threads

Kernel-Level Threads