Input/Output

6/7/98


Click here to start


Table of Contents

Input/Output

Introduction

I/O Hardware

Hardware Example

Device Controllers

Device Controllers

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

Device-Independent I/O Software

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

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)

Author: Gary L. Burt

Email: burt@umbc

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