68
Chapter 11 I/O Systems 1 Review of system architecture user mode kernel mode USER Shell System and application programs systems calls | API | middleware Kernel access points file sys. memory process support mgt mgt I/O subsystem Device drivers rdware ports | buses | controllers DEVICES

Chapter 11 I/O Systems1 Review of system architecture user mode kernel mode USER Shell System and application programs systems calls | API | middleware

Embed Size (px)

Citation preview

Chapter 11 I/O Systems 1

Review of system architecture

user mode

kernel mode

USER

Shell System and application programs systems calls | API | middleware

Kernel access points file sys. memory process support mgt mgt

I/O subsystem

Device drivers

Hardware ports | buses | controllers DEVICES

Chapter 11 I/O Systems 2

Review of File System

File interface User friendly, abstractions, e.g.,

(user mode) GUI, folders, standard interface,portability/transparency/virtualservices

File implementation Resource manager, including

(kernel mode) efficiency (e.g., clusters for CPU) (defragmentation, compression)

security (e.g., encryption) availability

reliability fault tolerance

Chapter 11 I/O Systems 3

I/O management as compared to file management

• File management is divided into file interface (services provided to application layer, user) and file implementation– File interface designed for user-friendliness, e.g.virtual file

systems give consistent interface to users– File implementation handles implementation

• I/O also divided into interface and implementation– I/O interfaces are standardized, simplified for services to other OS

services, application layer– I/O implementation is becoming more and more complex

• More devices• Compression and redundancy added to devices• Much of this is now in hardware (controllers)

Chapter 11 I/O Systems 4

I/O Systems• Computing versus I/O

– Early systems had minimal user interface• I/O was most tedious and repetitive part – beginning of OS

– Early programming languages (FORTRAN, etc.) designed for computation

• COBOL for business processing (1960s)– Lots of I/O– Systems integrated I/O and process-bound jobs

• Current Applications (games, video, etc.)– “Challenge to incorporate them into our computers”

Chapter 11 I/O Systems 5

I/O layers

• I/O subsystem provides device independent interface to applications and OS

• Device drivers – software that encapsulates devices for uniform device-access interface to I/O subsystem

• Basic I/O hardware– Ports, buses, device controllers

Chapter 11 I/O Systems 6

Question

• Why are i/o functions divided into separate layers?a.To handle the increased complexity of devices

b.To provide a uniform interface for application programs and OS using so many different types of devices

ans: a and b

Chapter 11 I/O Systems 7

Some Types of I/O Devices

• Machine readable– Disk drives, sensors, controllers

• Transmission– NICs, modems, FAX

• Human-readable– Keyboard, mouse, screen, joystick, printer

• Robotics

Some differences between devices• Data rate

– Keyboard 100bps; Gigabit ethernet Gbps• Application

– Software and policies vary for applications– Priorities; access rights

• Complexity• Unit of transfer• Data representation• Error conditions

Chapter 11 I/O Systems 8

Chapter 11 I/O Systems 9

Device communication• Bus

– Set of wires and circuitry, with functional information on each wire (data, address, control) and protocol for exchanging information (send, receive) on channel

• Discuss PCI bus (next slide)• Discuss daisy chain

• Port- Connection point• Serial (USB, firewire), parallel (IDE)• Timer (typically at port 040-043 hex)

• Controller-firmware (microcode on chips) operates port, bus, or device– Host adapter (NIC) and SCSI controllers typically are on circuit

boards

Chapter 11 I/O Systems 10

PCI bus

monitor

Graphicscontroller

Processor(s)

caches

memorycontroller

USB controller to USB bus

SCSI controller to SCSI bus and multiple disks

ISA bridge

IDE controller to disks

Parallel printers modem

ISA bus mouse keyboard Serial printers, cameras, etc.

Chapter 11 I/O Systems 11

PCI bushttp://www.tech-pro.net/intro_pci.html

• This is an edited version of an article that appeared a few years ago in PC Support Advisor. Although it provides a good general introduction to PCI bus concepts, further improvements have been made since the article was written.)

• The acronym PCI stands for Peripheral Component Interconnect, which aptly describes what it does. PCI was designed to satisfy the requirement for a standard interface for connecting peripherals to a PC, capable of sustaining the high data transfer rates needed by modern graphics controllers, storage media, network interface cards and other devices.

• Earlier bus designs were all lacking in one respect or another. The IBM PC-AT standard ISA (Industry Standard Architecture) bus, for example, can manage a data transfer rate of 8MB/sec at best. In practice, the throughput that can be sustained is much less than that. Other factors, like the 16-bit data bandwidth and 24 bit wide address bus - which restricts memory mapped peripherals to the first 16MB of memory address space - made the ISA bus seem increasingly outmoded .

Personal Computer busesBus PCI

Clock 33MHz - 66MHz

Number of bits 32 64

Data per Clock Cycle 1 1

Maximum Transfer Rate 133MB/s /266MB/s/533MHz

Bus PCI -X

Clock 66MHz - 133MHz

Number of bits 64

Data per Clock Cycle 1, 2, 4

Maximum Transfer Rate 533MB/s to 4266MB/s

Bus AGP (accelerated graphics port)

Clock 66HMz

Number of bits 32/64

Data per Clock Cycle 1-8

Maximum Transfer Rate 266MB/s- 2133MB/s and higherChapter 11 I/O Systems 12

Chapter 11 I/O Systems 13

Device Controllers• Device (mechanical component) separated from

Controller (electronic component)• Controller is sometimes a chip on the motherboard

or else a printed circuit card to be inserted into a PCI expansion slot

• Controller connected to device(s) by connecting cables

• Interface between device and controller is standardized for IDE, SCSI, USB, FireWire, etc.

Chapter 11 I/O Systems 14

Example: device controller for disk

• Serial bit stream feeds between disk to controller– Controller organizes it into preamble (cylinder

& sector #, sector size, bit and sector synchronization data) ; perhaps 4096 bit data sector; checksum (or ECC)

– ECC verified– If everything checks, data is assembled as block

and forwarded to memory

Chapter 11 I/O Systems 15

Controller / CPU Communication

• Registers on controller written to/ read from– Contain commands, device status, etc.– May include data buffers

• Bus contains address, control, data lines

• If CPU wants to read/ write data• Places address on bus address line

• For a write, it places data on data lines.

• Asserts read/write signal on bus control line

• Device responds to signal

Chapter 11 I/O Systems 16

Memory-Mapped I/O or Port I/O or hybrids

• Port I/O uses dedicated instructions, dedicated addresses– IN Reg1, Port

» CPU to get value in controller register(@ Port) » and store in CPU register Reg1

– OUT Port, Reg1» CPU sends value in Reg1 to Port for controller

• Memory-mapped I/O instruction might be– MOV Reg1, 4

» data in memory 4 sent to Reg1» Same instructions as for memory; same address notation

Chapter 11 I/O Systems 17

Memory-Mapped I/O

• Each control register is assigned a unique memory address (devices and memory share memory address space); uses same instructions as CPU programs

• Programmer can use C code (Port I/O requires some assembly code to distinguish between instructions)

• Each method has some disadvantages

Chapter 11 I/O Systems 18

Controller/host handshake with interface registers

• Status register - set by controller– Completed/failure– Busy bit for availability

• Control register – set by host– Control information for speed, mode (read/write),

parity checking on/off, word length, full/half duplex– Command ready bit

• Data-in register – set by controller; read by host• Data-out register – written by host; read by controller for

output to device• Possibly input/output is cached in multiple registers

Chapter 11 I/O Systems 19

Sample Polling Protocol • Host polls for busy bit to be off (busy waiting)• If busy bit it off (device free), host can send

signals (on bus lines) to– set mode bit in command register to write– place byte(s) in data-out register (other info possible)– set command-ready bit

• Controller sets busy bit– fetches data-out from register– outputs data-out to device – sets status bit for success/ failure ` `– clears command-ready bit, busy bit

Chapter 11 I/O Systems 20

Interrupts for device I/O

• In hardware– Device sends signal (IRQ) on interrupt-request line– Interrupt controller asserts signal; identifies interrupt #– Signal causes CPU to interrupt what it is doing

• Interrupt # identifies position in interrupt vector that holds address of ISR

– CPU saves value of current PC (possibly other values)– Transfers to interrupt vector, indirectly

• Location contains (changeable) address of interrupt handler (ISR)• In software

– ISR may disable interrupts, save state of registers it needs, enable interrupts

– ISR determines nature of interrupt and handles interrupt– ISR may restore registers of interrupted process

Chapter 11 I/O Systems 21

Interrupt-controller

• Prevents interruption during critical processing

• Prioritizes interrupts• Determines which device raised interrupt• Programmable or Advanced Programmable

Interrupt-controllers– Enables different prioritization methods (hard,

rotating, cascading), for example

Chapter 11 I/O Systems 22

Question

• Why are interrupts prioritized?a. It is faster

b. It is fairer

c. It is important not to lose data that may be overwritten by fast devices

d. Prioritization prevents deadlockAnswer: c

Chapter 11 I/O Systems 23

Masking and disabling interrupts

• Maskable or nonmaskable– Nonmaskable interrupts (power or memory failure)– Maskable interrupts – devices, etc.

• PCI bus has 2 interrupt request lines– Maskable interrupt line can be temporarily turned off during

execution of critical instructions

• Interrupt chaining– Each address in interrupt vector may point to a chain of

ISRs• Nested prioritized interrupts

– Interrupts stored and handled in priority order

Chapter 11 I/O Systems 24

Precise and Imprecise Interrupts

• Pipelining of instructions - multiple instructions are in a state of execution

• When an interrupt occurs, multiple instructions may be partially executed – This is called an imprecise interrupt– System must ensure that the instructions previous to the instruction

whose PC has been saved are completed– System can roll back those instructions after the one whose PC has

been saved (possibly including PC instruction)– Adds complexity to current systems

Chapter 11 I/O Systems 25

Exceptions or traps

• Interrupt mechanism is used to handle software traps– Examples: memory access violations, division by zero

• Interrupt mechanism may be used for page or segment faults

• Interrupt mechanism may be used for calls to the kernel

• Threads may communicate thru interrupts– Place common data on system stack

Chapter 11 I/O Systems 26

DMA (Direct Memory Access)

• Fast I/O processor• Kernel process writes command block to DMA

– Address in memory, address on device, r/w, # of blocks

• DMA transfers block to/from memory to device; interrupt upon completion– Memory cycle stealing– DMA “handshake” with device controller (perhaps

IDE)

• DVMA can transfer block between two devices

Chapter 11 I/O Systems 27

Question

• DMAs use cycle stealing. What does that mean?a. CPU cycles are stolen by the DMA controllerb. Memory cycles are stolen from other devices

by the DMA controllerc. Memory cycles are stolen from the CPU by the

DMA controller• Ans: c (i.e., CPU is prevented from accessing

memory while DMA is transferring data in or out)

Chapter 11 I/O Systems 28

Kernel I/O structure

• Kernel requests uniform set of services from subsystem– (through kernel-subsystem interface)– Typically- read(), write(), seek()

• Subsystem requests services of device drivers, which encapsulate peculiarities of devices– (through subsystem- driver interface)– Example: PCI device driver

• Drivers requests services (data, error flags, etc.) of controllers– (driver- controller interface)– Example of controller: PCI bus device controller

• Controllers handle I/O devices - ever more different and complex– Speed, sharing, unit of transfer, access method, in sync or not– They all transfer bits– Example of device: PCI bus

Chapter 11 I/O Systems 29

Back door to device driver

• Bypasses subsystem– In UNIX, for example, the command ioctl ()

• Returns File descriptor– In UNIX, devices are handled as files

• Determines command to device driver – Defined integer value

• Provides pointer to data structure with control information, data for output if necessary

Chapter 11 I/O Systems 30

Clocks and Timers

• Either hardware clock or very fast (high frequency) counter is used for timing services– Generates periodic interrupts (clock ticks)

– Programmable clocks control frequency of interrupt

– Clock Driver• Maintains time of day

• May limit CPU time allowed to process

• Handles the alarm system call

• Provides software timers for the system

• Statistics, monitoring, etc.

Chapter 11 I/O Systems 31

Software Timers

– Software interrupts are attached to clock ticks• Time slice interrupt

• Preemptive priority scheduling

• Periodic write-out of cache to disk

• Network time-out and resend, break connections, etc.

• Can provide services to user programs – – /usr/bin/time (Cshell)

– sleep () in programs

Chapter 11 I/O Systems 32

Kernel I/O Subsystem services

• Management of name space for files and devices• Access control authentication for files and devices• Operation control (modem cannot do a seek)• File-system space allocation• Device allocation• Buffer, i/o caches, spooling management• I/O scheduling• Device monitoring• Error handling, failure recovery• Device-driver configuration and initialization• Scheduling of disk operations• Table Maintenance

Chapter 11 I/O Systems 33

Performance Issues -Buffers

• Buffering ameliorates speed mismatch between producer and consumer– Ex: modem and hard disk– Typically, double buffering is used

– Once buffer is filled, disk write is requested– Modem can continue; writes to other buffer until output is completed

• Ameliorates differences in data-transfer size– Perhaps holds data until it can be defragmented (reassembled)

Chapter 11 I/O Systems 34

Performance Issues - Caching

• Cache is high speed storage that holds, by definition, copy of data from slower storage– Used for efficiency purposes

• Cache on CPU is completely hardware controlled– Only issue for OS would be size, replacement

• Caches in memory, on devices

Chapter 11 I/O Systems 35

Performance issues - Spooling

• Disk buffers holding data for output (or input)– Control is handled by system daemon process or kernel

thread• Spooling list is available

– Job can be removed

– Output is delayed until complete (usually)• Can cause deadlock over printer (or other hardware) if a

process holds (locks) printer while waiting for other resource

– Output process can continue executing if printer is busy

– Consistent output as processes complete one at a time

Chapter 11 I/O Systems 36

I/O protection

• All I/O operations are privileged– User program traps to kernel, kernel suspends process,

verifies user rights, completes I/O, signals user

• Memory-mapped and i/o port locations are denied to users. Users must trap to kernel

• But graphic games need direct access to memory-mapped graphics controller memory– Performance issue – cost of trap to kernel– OS can provide a section of graphics memory to a

single user at a time using dedicated bus

Chapter 11 I/O Systems 37

Magnetic Disks• “Platters” coated with magnetic material

– logically divided into circular tracks• Cylinders are concentric tracks• tracks divided into sectors

– sector is smallest unit of access

– Access time (about 10ms)• Read-Write head on disk arm positioned over track (seek time

– random access)• Rotational latency – disk rotated to proper sector (direct

access)• Transfer rate – copying data to/from disk (33MB/s)• Transfer by Disk Controller – one on each disk

– Sometimes controller is shared by disks (e.g., SCSI)

– Head crash – head damages magnetic surface

Chapter 11 I/O Systems 38

Magnetic Tape

• Audio and video recording; archival data storage (disks have taken many of these functions)

• Sequential access– “direct” access is achieved by fast wind, rewind

• Capacity– 2010 - the highest capacity Hitachi tape cartridges

stored up to 50 TB of data without compression

Chapter 11 I/O Systems 39

Optical Disks• Cheaper

• R or R/W

• Capacity – 30GB and more

• Slower than hard disks (at least currently)

• Have replaced floppy disks– Capacity is greater– Cost per byte is less– Reliability is probably better as well

Chapter 11 I/O Systems 40

Disk Structure

• Sectors, blocks, clusters– A sector is the minimal unit of allocation (hardware determination)– A block is a minimal unit of transfer

• OS determines the number of sectors to a block

– Blocks (logical) are mapped onto sectors• Mapping difficulties

– Number of sectors may decrease for inner cylinders– Bad sectors are mapped onto other positions holding “spare” sectors

– In Windows, a cluster is the minimal unit of file allocation• OS determines the number of blocks in cluster to increase contiguity

in file storage

Chapter 11 I/O Systems 41

Device Attachment• Host-attached storage

– SCSI – up to 16 devices on bus– Controller card on host; up to 15 storage targets– Polling is used to give each device a turn– Handshakes for connection

– IDE-ATA(Advanced Technology Attachment) – parallel interface standards

– SATA, Firewire, USB are all serial bus interface standards– Fiber channel (perhaps over Ethernet)

– Basis for SANs; switched “fabric” with large address space to connect large number of devices

– Alternatively, arbitrated loop (FDDI) is used to connect up to 126 devices

Chapter 11 I/O Systems 42

Device attachment• Firewire/ USB

– High-speed serial data bus standards to connect a number of different peripheral devices

– Have been implemented across different platforms

– Firewire developed by Apple; {USB by Intel} – Firewire (speed of version S3200 up to 3.2

Gbps); SCSI (160Mbps, defined for both ATA and SATA); and super speed USB(up to 4.8Gbps); Firewire can daisy-chain 63+ devices

Device Attachment

• USB and firewire standards define the cables and connectors between devices and computers (e.g., keyboards, cameras, printers) as well as the communication protocol used for connection.

• Ports, interfaces, power supply, cable connectors are all included in the standard

Chapter 11 I/O Systems 43

Chapter 11 I/O Systems 44

Disk Attachment (cont.)

• Network-Attached Storage– Network cables rather than SCSI (or other)

cables• Location transparency

– host does not know whether I/O devices are directly attached or distant

» (except for the increased latency (delay) and for outputting a hard copy)

– RPC over TCP/IP is commonly used to request service from storage devices

Chapter 11 I/O Systems 45

Disk scheduling

• Assume that we have a large number of requests for disk i/o– Scheduling these requests in specific orders can

increase throughput and decrease average waiting time

– Issues and algorithms are similar to process scheduling although here we try to minimize hardware issues such as seek time (time for disk arm to move the head to the required cylinder).

Chapter 11 I/O Systems 46

Disk Management• Disk formatting

– Disk must be formatted before it is used– Low level formatting – usually when

manufactured• Divides magnetic recording units into sectors

– Each sector contains a header, a trailer (control info for controller) and a data area (usually 512-1024 bytes)

» Sector number, error-correcting code» Soft error if ECC can recover from mismatch

• Bad sectors are isolated• Spare sectors are set aside for later needs

Chapter 11 I/O Systems 47

OS disk formatting

• High Level formatting– OS installs multi-level data structures on a disk– Partitions disk into sets of cylinders

• Logical disks are mapped onto the physical disk• Can provide a separate logical disk for OS code with limited

access rights for users• Separate user data to make backups easier

– Logical formatting• Create disk’s file system• Maps of free and allocated space, initial directory of files on disk

Chapter 11 I/O Systems 48

Raw Disks• OS activity is limited for raw disks (except

for combining sectors into blocks)– Swap disks

• Process data may be stored contiguously• Eliminate cost of i-node directories, linking blocks,

etc.

– Database systems• Provide their own high level formatting

– These services bypass buffer cache, file locking, prefetching, directories, file naming

Chapter 11 I/O Systems 49

Boot block• Bootstrap program on system disk in static

location– Minimal boot program in ROM executed when

machine is powered on• Brings rest of bootstrap program from disk into

memory and transfers to it– Bootstrap program stored in “boot blocks” at fixed

location on (boot or system) disks

– Program does system and register initialization

– Copies OS kernel from disk into memory

– Transfers control to (jumps to) some address in memory to begin executing kernel

Chapter 11 I/O Systems 50

Swap Space Management

• Swap space is an extension of memory– Disk access is much slower than memory

access• Access to swap space should be minimized for

required virtual memory performance• Swap space was typically much larger than main

memory until the large increases of main memory today

– Swap space may be used for entire process or only for swapping out pages when necessary

Chapter 11 I/O Systems 51

Swap-space location• Part of normal file system

– Same file-handling routines used as other services• Inefficient, particularly the traversing of file-system data

structures

• Raw partition or separate disk– Algorithms focus on speed rather than storage

efficiency

• Linux, Windows may allow raw partitions to be incremented, if necessary, with space in the normal file system

Chapter 11 I/O Systems 52

RAID (redundant arrays of I disks)

• I (inexpensive, independent)• Performance and reliability issues by

accessing disks in parallel– Reliability

• Assume mean time to failure of a single disk is 100,000 hours

– If we have 100 disks in our organization, the mean time for one disk to fail is 1000 hours or 42 days!

» Necessity of some type of backup» If we want no loss of data at all, then we need parallel

redundant disk updates

Chapter 11 I/O Systems 53

RAID -redundancy• Mirroring

– Two disks, one controller. Every write is to both disks

• Issues – Single controller can fail (you can duplex instead with

different controllers)

– If disks are both old and/or from same manufacturer, probability of both failing is considerably higher

– Power failures must also be handled

» If power fails in between the two disk writes, which update is correct?

Chapter 11 I/O Systems 54

Performance improvement with RAID

• Striping – Bit-level striping

• Say bit i is read/written to disk i

• We can decrease the time necessary to fetch a block by a factor based on the number of disks.

– Block level striping• Each successive block is stored in “next” disk

– Byte level striping is also possible

Chapter 11 I/O Systems 55

RAID levels

• Schemes to balance reliability, efficiency, and cost– RAID level 0 – block striping for efficiency– RAID level 1 – disk mirroring for redundancy (possibly multiple

paths for reads for efficiency) 100% overhead for writes; double # of disks

– RAID level 2 – ECC organization with bit striping for reliability and efficiency

– 2-3 error correcting bits stored on extra disk(s) for each byte– 3 extra disks must be added for 8 disks– Note that error correcting disks must be updated for each write to a data

disk– RAID level 3 – byte-interleaved parity organization

• Byte striping, with parity bytes (checksum) on separate disk– Controller will be able to tell which disk was damaged – Parity disk must be updated during each write

Chapter 11 I/O Systems 56

RAID levels

• RAID level 4 – block-interleaved parity organization– Block-level striping; parity block on an extra

disk to be used for reconstruction of failed block

• Multiple reads can be done concurrently, but writes must all wait for parity block

• Scalable, since new disk can be initialized to all 0s and parity block is still correct

Chapter 11 I/O Systems 57

RAID levels • RAID level 5 block-level striping; block-

interleaved distributed parity (most popular RAID architecture)– Parity bits are spread among all disks but not on

disk that holds the data of specified parity• Improves performance, since two different disks are

used for all updates• Recovery more complex

• RAID level 6 – more redundancy • RAID level 0-1 disks are striped and then mirrored to

another identical disk set

Chapter 11 I/O Systems 58

Comments on RAID

• Concepts of combination of redundancy and efficiency can be extended to other media

• Extra expense of RAID

• Not all errors are caught, i.e., corruption of data or metadata– Solaris ZPS file system keeps checksums of

data, metadata together with inode of file

Chapter 11 I/O Systems 59

Stable Storage

• Definition of stable (persistent) storage – data is never lost – Multiple locations hold B; A overwrites B in

one location; now is B or A considered correct?– If failure occurs, protocol must determine which value

– Requires redundancy• Multiple disks with independent failure rates

– Updating must guarantee that failures will still leave data consistent (and correct)

Chapter 11 I/O Systems 60

Disk write outcomes

• Write, then read to verify that write is completed• Three possible outcomes

– Successful completion

– Partial failure• Sector being overwritten is corrupted in midst of transfer

• Write, then read, are repeated

– Total failure• Failure occurs before the disk write, leaving previous disk data

values untouched

Chapter 11 I/O Systems 61

Assume any type of failure occurs

• Controller can sense this and sends error message– If both disks hold same data, we assume they were not

corrupted

– If one block/ disk can be detected as incorrect, replace it with data from the other

– If contents are not the same, but both disks appear correct, copy the data from the second disk into the first

• Or assume that update to second disk was not complete, and we return to earlier state of no change

• Update can be stored in a NVRAM and repeated

Chapter 11 I/O Systems 62

Robotic jukebox

• Automated hierarchical storage for removal media– May hold tens of drives and thousands of

cartridges or disks– Retrieval is typically tens of seconds or minutes– Common for archival storage and infrequently

used information• Brought to secondary storage when needed

Chapter 11 I/O Systems 63

Optical JukeboxOptical Jukebox - An automated storage device that holds many optical disks with a small number of

optical read/write drives used to archive and store massive amounts of data. A robotic arm moves optical disks from storage slots to the drives. Also referred to as an optical library.

• Phase-Change – A recording process that uses laser light to convert points on an optical disk from an amorphous state to a crystalline state.

• Picker – The robotic component of an optical jukebox that moves optical disks to and from storage slots and optical drives. Also referred to as a media picker.

• Shelf – See Slot.• Single-Head Drives – Drives that can only read or write to one media surface at a time. The disk must

be flipped and re-inserted into the drive in order to read or write to the other side. 5 ¼” drives are single-headed.

• Slot – An area inside an optical jukebox where optical disks are stored. A jukebox can store as few as 20 optical disks or as many as 638, depending on the manufacturer and model number of the jukebox.

• Time to Deliver Data (TDD) – The total time it takes to deliver requested data back to an application. This includes the time it takes for the picker to fetch an optical disk, move it to and insert it into an optical drive, spin up the drive, locate the requested data, and transfer it back to the application. Measured in seconds.

• WORM – Write Once Read Many. A type of optical media that allows data to be written only once. Files cannot be overwritten. Commonly used in regulated industries requiring permanent file archives. Some regulatory agencies include the Securities Exchange Commission, Nuclear Regulatory Commission, and Food and Drug Administration.

• http://www.9to5computer.com/OPTICAL-JUKEBOX-TERMS.htm

Chapter 11 I/O Systems 64

Future mass-storage media

• Holographic storage– Laser to record 3-dimensional arrays of pixels– Very fast

• Microelectronic mechanical systems

• Biological mechanisms

Chapter 11 I/O Systems 65

Question

• Name three protocol standards for connecting devices to hosts.– SCSI – firewire – USB – LANs– SANs

Chapter 11 I/O Systems 66

What is a jukebox?

• Something that holds records.

• What is a robotic jukebox?

Chapter 11 I/O Systems 67

Power Management

• Most computers consume about 200-watts (200 joules per second) – that is a lot of energy for a company’s computers

• Battery-powered computers hold their charge for at most a few hours

• Wireless systems use even more power when continually sending/ receiving data

• Minimal improvements in battery life

Chapter 11 I/O Systems 68

Operating systems can save power

• Devices can be made to sleep/ hibernate• Displays (big users of power) can be lit in

zones• Disks (big users of power) powered down

when not in use; applications programs delay writing out to disk; RAM disk used

• OS uses artificial intelligence to estimate sleep times, etc.