FIT2070 Lecture Notes - Lecture 10: Disk Controller, Computer, Hard Disk Drive Performance Characteristics
L10 - I/O Management & Disk Scheduling
Categories of I/O Devices
● Human Readable
○ Suitable for communicating with the computer user
○ Printers, terminals, video display, keyboard, mouse
● Machine Readable
○ Suitable for communicating with electronic equipment
○ Disk drives. USB keys, sensors, controllers
● Communication
○ Suitable for communicating with remote devices
○ Modems, digital line drivers
Difference in I/O Devices
●Date Rate:
differences of magnitude between the data transfer rates
●Application
: the use to which a device is put has an influence on the software
●Complexity of Control
: effect on the OS is filters by the complexity of the I/O module
that controls the device
● Unit of transfer:
data may be transferred as a stream of bytes of character of in larger
blocks
● Data Representation:
difference data encoding schemes are used by different
devices
● Error Conditions:
the nature of errors, the way in which they are reported, their
consequences, and the available range of responses differs from one device to
another
Organisation of the I/O Function
● Programmed I/O
○ No interrupts
○ Process issues an I/O command on behalf of a process to an I/O module
○ Process waits for the I/O operation to be completed before proceeding
● Interrupt-driven I/O
○ Processor issues an I/O command on behalf of a process
■ Non-blocking: processor continues to execute instructions from the
process that issued the I/O command
■ Blocking: the next instruction the processor executes it from the OS.
Puts the current process in a blocked state and schedule another
process
○ A lot of data transfer
● Direct Memory Access (DMA)
○ DMA module controls the exchange of data between main memory and an I/O
module (through the system bus) without going through the processor
○ When the processor wants to read or write data it issues a command to the
DMA module
○ When the transfer is complete, DMA sends an interrupt signal to the process
○ Processor is involved only at the beginning and end of the transfer
○ Efficient
Mode of I/O Organization
I/O Buffering
● Smooths out peaks in I/O demand
● When there is a variety of I/O and process activities to service, buffering increase the
efficiency of the OS
● Perform input transfers in advance of requests being made and perform output
transfers some time after the request is made
● Improves the system performance in dealing with multiple I/O requests
● Block-oriented device
○ Stores information in blocks that are usually of fixed sized
○ Transfers are made one block at a time
○ Possible to reference data by its block number
○ Example: Disks and USB keys
● Stream-oriented device:
○ Transfers data in and out as a stream of bytes
○ No block structure
○ Example: terminals, printers, communications ports
● Without a buffer, OS directly accesses the device when it needs to
● Single Buffer
○ OS assignments a buffer in MM for an I/O request (reading ahead or
anticipated input)
○ Block-Oriented
Document Summary
Suitable for communicating with the computer user. Difference in i/o devices blocks devices that controls the device. Date rate: differences of magnitude between the data transfer rates. Application : the use to which a device is put has an influence on the software. Complexity of control : effect on the os is filters by the complexity of the i/o module. Unit of transfer: data may be transferred as a stream of bytes of character of in larger. Data representation: difference data encoding schemes are used by different. Error conditions: the nature of errors, the way in which they are reported, their consequences, and the available range of responses differs from one device to another. Process issues an i/o command on behalf of a process to an i/o module. Process waits for the i/o operation to be completed before proceeding. Processor issues an i/o command on behalf of a process.