Input/Output
Introduction
I/O Hardware
Hardware Example
Device Controllers
Example of Controllers
Direct Memory Access
Interleaving
I/O Software
I/O Software (II)
I/O Software Layers
Interrupt Handlers
Device Drivers
Device-Independent I/O Software
Naming
Protection
Sector Sizes
Buffering
Error handling
User-Space I/O Software
Deadlocks
Example
Resources
Preemptable Example
In General
Events
Principles of Deadlock
Conditions for Deadlock
Conditions for Deadlock (II)
Deadlock Modeling
Deadlock Modeling (II)
Deadlock Strategies
Ostrich Algorithm
Detection and Recovery
Deadlock Prevention
Summary of Prevention
Deadlock Avoidance
Start Condition
Still Safe
Unsafe
Banker's Algorithm for Multiple Resources
Banker's Algorithm for Multiple Resources (II)
Banker's Algorithm for Multiple Resources (III)
However
Two-phase Locking
Interrupt Handlers in MINIX
Disks
Clock Handler
Device Drivers in MINIX
Device Drivers in MINIX (II)
User-System Communication
Request Message
Reply Message
I/O Task
User-level I/O Software
Deadlock Handling
Deadlock Handling (II)
Block Devices
Block Devices (II)
Operation Requested
Driver Library
Reasons to Partition
RAM Disks
Overview
Disks (II)
Disks (III)
Disk Software
Disk Arm Scheduling Algorithms
FCFS/SSF/Elevator
Disk Errors
Track-at-a-Rime Caching
Overview of the Hard Disk Driver
Overview of the Hard Disk Driver (II)
Overview of the Hard Disk Driver (III)
Overview of the Hard Disk Driver (IV)
Overview of the Hard Disk Driver (V)
Overview of the Hard Disk Driver (VI)
Control Registers
Select Driver/Head
Floppy Disk Handling
Floppy Disk Handling (II)
Floppy Disk Handling (III)
Clocks
Clocks (II)
Clocks (III)
Clocks (IV)
Watchdog Timers
Terminals
Terminal Hardware
Terminal Types
Memory-mapped Terminals
Memory-mapped Terminals (II)
Video Controller
Video Controller (II)
Keyboard
RS-232 Terminals
RS-232 Terminals (II)
X Terminals
Terminal Input Software
Special Characters
Output Software
Output Software (II)
ANSI Escape
Additional Items
System Task
System Task (II)
System Task (III)
Summary
Summary (II)
Email: burt@umbc
Home Page: www.cs.umbc.edu/~burt