SlideShare une entreprise Scribd logo
1  sur  119
Chapter 5
Input/Output
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o OS controls I/O devices =>
o Issue commands,
o handles interrupts,
o handles errors
o Provide easy to use interface to devices
o Hopefully device independent
o First look at hardware, then software
o Emphasize software
o Software structured in layers
o Look at disks
Overview
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Some typical device
network, and bus data
rates.
I/O Devices
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Two types of I/O devices- block, character
o Block- can read blocks independently of one
another
o Hard disks, CD-ROMs, USB sticks
o 512-32,768 bytes
o Character-accepts characters without regard to
block structure
o Printers, mice, network interfaces
o Not everything fits, e.g. clocks don’t fit
o Division allows for OS to deal with devices in
device independent manner
o File system deals with blocks
Overview
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
A is track, B is sector, C is geometrical sector, D is cluster
Disk geometry
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o I/O unit has 2 components-mechanical,
electronic (controller)
o Controller is a chip with a connector which
plugs into cables to device
o Disk
o Disk might have 10,000 sectors of 512 bytes per track
o Serial bit stream comes off drive
o Has preamble, 4096 bits/sector, error correcting code
o Preamble has sector number, cylinder number, sector size….
Device Controllers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Controller assembles block from bit stream,
does error correction, puts into buffer in
controller
o Blocks are what are sent from a disk
Device Controllers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Controller has registers which OS can write
and read
o Write-gives command to device
o Read-learn device status……
o Devices have data buffer which OS can
read/write (e.g. video RAM, used to display
pixels on a screen)
o How does CPU communicate with registers
and buffers?
Memory Mapped I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
(a) Separate I/O ports and memory space.
(b) Memory-mapped I/O. (c) Memory mapped data buffers
and separate ports (Pentium)
Memory-Mapped I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o First scheme
o Puts read on control line
o Put address on address line
o Puts I/O space or memory space on signal line to differentiate
o Read from memory or I/O space
o Memory mapped approach
o Put address on address line and let memory and I/O devices
compare address with the ranges they serve
How CPU addresses registers and
buffers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Don’t need special instructions to
read/write control registers=> can write a
device driver in C
o Don’t need special protection to keep users
from doing I/O directly. Just don’t put I/O
memory in any user space
Memory mapped advantages
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o An instruction can reference control
registers and memory
Loop test port_4 //check if port 4 is zero
beq ready //it is is zero, go to ready
branch loop //otherwise, continue testing
Ready
If instruction just references registers, then
need more instructions to do the test-read it
in, test it……
Memory mapped advantages
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Can cache memory words, which means
that old memory value (e.g. for port 4)
could remain in cache
o => have to be able to disable caching when
it is worthwhile
o I/O devices and memory have to respond
to memory references
o Works with single bus because both
memory and I/O look at address on bus
and decide who it is for
o harder with multiple buses
Memory mapped disadvantage
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o I/O devices and memory have to respond
to memory references
o Works with single bus because both
memory and I/O look at address on bus
and decide who it is for
o harder with multiple buses
Memory mapped disadvantage
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Works with single bus because both
memory and I/O look at address and
decide who it is for
o Harder with multiple buses because I/O
devices can’t see their addresses go by
any more
Memory mapped disadvantage
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
(a) A single-bus architecture.
(b) A dual-bus memory architecture.
Memory-Mapped I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Solution is for CPU to try memory first. If it
does not get a response then it tries I/O
device
o Other fixes-snooping device, filter
addresses
o Main point-have to complicate hardware to
make this work
Solutions
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o CPU COULD request data one byte at a
time from I/O controller
o Big waste of time, use DMA
o DMA controller on mother-board; normally
one controller for multiple devices
o CPU reads/writes to registers in controller
o Memory address register
o Byte count register
o Control registers-I/O port, direction of transfer, transfer units
(byte/word), number of bytes to transfer in a burst
DMA
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Controller reads a block into its memory
o Computes checksum
o Interrupts OS
o Sends byte at a time to memory
When DMA is not used
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Operation of a DMA transfer.
How does DMA work?
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Cycle stealing mode-transfer goes on word
at a time, competing with CPU for bus
cycles. Idea is that CPU loses the
occasional cycle to the DMA controller
o Burst mode-DMA controller grabs bus and
sends a block
o Fly by mode-DMA controller tells device
controller to send word to it instead of
memory. Can be used to transfer data
between devices.
DMA controller modes
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Why buffer data in controllers?
o Can do check-sum
o Bus may be busy-need to store data someplace
o Is DMA really worth it? Not if
o CPU is much faster then DMA controller and can do the job
faster
o don’t have too much data to transfer
Questions
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The connections between the devices and the interrupt controller
use interrupt lines on the bus rather than dedicated wires.
PC interrupt structure
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Controller puts number on address line
telling CPU which device wants attention
and interrupts CPU
o Table (interrupt vector) points to interrupt
service routine
o Number on address line acts as index into
interrupt vector
o Interrupt vector contains PC which points to
start of service routine
Interrupt processing
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Interrupt service routine acks interrupt
o Saves information about interrupted program
o Where to save information
o User process stack, kernel stack are both possibilities
o Both have problems
Interrupt processing
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Sure, if we don’t use pipelined or
superscaler CPU’s. But we do use them.
o Can’t assume that all instructions up to and
including given instruction have been
executed
o Pipeline-bunch of instructions are partially completed
o Superscaler-instructions are decomposed and can execute out
of order
Can we save the PC and PSW?
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
1. PC (Program Counter) is saved in a known
place.
2. All instructions before the one pointed to by
the PC have fully executed.
3. No instruction beyond the one pointed to by
the PC has been executed.
4. Execution state of the instruction pointed to
by the PC is known.
The precise (ideal) interrupt
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
(a) A precise interrupt. (b) An imprecise interrupt.
Precise and Imprecise Interrupts (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o With great difficulty
o Either Need complicated hardware logic to
re-start after interrupt (Pentium)
o Or have complicated processing in the OS
How to process an imprecise
interrupt
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Device independence-don’t have to specify
the device when accessing the device
o Uniform naming-name should not depend
on device type
o Error handling-do it as close to the device
as possible (e.g. controller should be the
first to fix error, followed by the driver)
o OS needs to make I/O operations blocking
(e.g. program blocks until data arrives on a
read) because it is easy to write blocking
ops
I/O Software-Goals
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Buffering- e.g. when a packet arrives
o Shared devices (disks) and un-shared
devices (tapes) must be handled
I/O Software-Goals
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Steps in printing a string.
Programmed I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Send data one character at a time
Programmed I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o The good: simple idea, OK if the CPU is not
bothered too much
o The bad: CPU is bothered too much
Good vs Bad
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Idea: block process which requests I/O,
schedule another process
o Return to calling process when I/O is done
o Printer generates interrupt when a
character is printed
o Keeps printing until the end of the string
o Re-instantiate calling process
Interrupt Driven I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
. (a) Code executed at the time the print system call is made. (b)
Interrupt service procedure for the printer.
Interrupt-Driven I/O
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DMA
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Use DMA controller to send characters to
printer instead of using the CPU
o CPU is only interrupted when the buffer is
printed instead of when each character is
printed
o DMA is worth it if (1) DMA controller can drive
the device as fast as the CPU could drive it (2)
there is enough data to make it worthwhile
. (a) Code executed when the print system call is made. (b)
Interrupt service procedure.
I/O Using DMA
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Layers of the I/O software system.
I/O Software Layers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interrupt Handlers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o The idea: driver starting the I/O blocks until
interrupt happens when I/O finishes
o Handler processes interrupt
o Wakes up driver when processing is finished
o Drivers are kernel processes with their very
own
o Stacks
o PCs
o states
Interrupt processing details
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
1. Save registers not already saved by interrupt
hardware.
2. Set up a context for the interrupt service
procedure.
3. Set up a stack for the interrupt service
procedure.
4. Acknowledge the interrupt controller. If there is
no centralized interrupt controller, re-enable
interrupts.
5. Copy the registers from where they were
saved to the process table.
Interrupt processing details
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
6 Run the interrupt service procedure.
7 Choose which process to run next.
8 Set up the MMU context for the process to run
next.
9 Load the new process’ registers, including its
PSW.
10 Start running the new process.
Device Drivers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Device Drivers-Act 1
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Driver contains code specific to the device
o Supplied by manufacturer
o Installed in the kernel
o User space might be better place
o Why? Bad driver can mess up kernel
o Need interface to OS
o block and character interfaces
o procedures which OS can call to invoke driver (e.g. read a block)
Device drivers Act 2
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Checks input parameters for validity
o Abstract to concrete translation (block number to
cylinder, head, track, sector)
o Check device status. Might have to start it.
o Puts commands in device controller’s registers
o Driver blocks itself until interrupt arrives
o Might return data to caller
o Does return status information
o The end
o Drivers should be re-entrant
o OS adds devices when system (and therefore driver)
is running
Device-Independent I/O Software
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Driver functions differ for different drivers
Kernel functions which each driver needs are different for differen
drivers
Too much work to have new interface for each new device type
Why the OS needs a standard interface
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interface:Driver functions
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o OS defines functions for each class of devices which it
MUST supply, e.g. read, write, turn on, turn off……..
o Driver has a table of pointers to functions
o OS just needs table address to call the functions
o OS maps symbolic device names onto the right driver
Interface:Names and protection
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o OS maps symbolic device names onto the right driver
o Unix: /dev/disk0 maps to an i-node which contains the
major and minor device numbers for disk0
o Major device number locates driver, minor device number passes
parameters (e.g. disk)
o Protection: In Unix and Windows devices appear as
named objects => can use file protection system
(a) Unbuffered input. (b) Buffering in user space.
(c) Buffering in the kernel followed by copying to user space.
(d) Double buffering in the kernel.
Buffering
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Networking may involve many copies of a packet.
Buffering
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
More Functions of Independent
Software
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Error reporting-programming errors (the user asks for
the wrong thing), hardware problems (bad disk) are
reported if they can’t be solved by the driver
o Allocates and releases devices which can only be
used by one user at a time (CD-ROM players)
o Queues requests or
o Lets open simply fail
o Device independent block size-OS does not have to
know the details of the devices
o E.g. combine sectors into blocks
User Space I/O Software
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Library routines are involved with I/O-printf,scanf,write
for example. These routines makes system calls
o Spooling systems-keep track of device requests made
by users.
o Think printing.
o User generates file, puts it in a spooling directory.
o Daemon process monitors the directory, printing the user file
o File transfers also use a spooling directory
Example Flow through layers
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o User wants to read a block, asks OS
o Device independent software looks for block in cache
o If not there, invokes device driver to request block from
disk
o Transfer finishes, interrupt is generated
o User process is awakened and goes back to work
Disks
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Magnetic (hard)
o Reads and writes are equally fast=> good for storing file
systems
o Disk arrays are used for reliable storage (RAID)
o Optical disks (CD-ROM, CD-Recordables, DVD) used
for program distribution
Seek time is 7x better, transfer rate is 1300 x better, capacity is
50,000 x better.
Floppy vs hard disk (20 years apart)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disks-more stuff
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Some disks have microcontrollers which do bad block
re-mapping, track caching
o Some are capable of doing more then one seek at a
time, i.e. they can read on one disk while writing on
another
o Real disk geometry is different from geometry used by
driver => controller has to re-map request for (cylinder,
head,sector) onto actual disk
o Disks are divided into zones, with fewer tracks on the
inside, gradually progressing to more on the outside
(a) Physical geometry of a disk with two zones.
(b) A possible virtual geometry for this disk.
Disk Zones
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Redundant Array of Inexpensive
Disks (RAID)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Parallel I/O to improve performance and reliability
o vs SLED, Single Large Expensive Disk
o Bunch of disks which appear like a single disk to the
OS
o SCSI disks often used-cheap, 7 disks per controller
o SCSI is set of standards to connect CPU to
peripherals
o Different architectures-level 0 through level 7
Raid Levels
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Raid level 0 uses strips of k sectors per strip.
o Consecutive strips are on different disks
o Write/read on consecutive strips in parallel
o Good for big enough requests
o Raid level 1 duplicates the disks
o Writes are done twice, reads can use either disk
o Improves reliability
o Level 2 works with individual words, spreading word +
ecc over disks.
o Need to synchronize arms to get parallelism
Backup and parity drives are shown shaded.
RAID Levels 0,1,2
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Raid Levels 4 and 5
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Raid level 3 works like level 2, except all parity bits go
on a single drive
o Raid 4,5 work with strips. Parity bits for strips go on
separate drive (level 4) or several drives (level 5)
Backup and parity drives are shown shaded.
RAID
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Optical disks have higher density then mag disks
o Used for distributing commercial software + reference
works (books)
o Cheap because of high production volume of music
CDs
o First used for playing music digitally
CD
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Laser burns holes on a master (coated glass) disk
o Mold is made with bumps where holes were
o Resin poured into –has same pattern of holes as
glass disk
o Aluminum put on top of resin
o Pits (depressions) and lands (unburned area) are
arranged in spirals
o Laser is used to read the pits and lands and convert
them into bits (0 and 1)
CD
Recording structure of a compact disc or CD-ROM.
CD
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o CD’s can be used to store data as well as audio
o Enter the CD-ROM
o Needed to improve the error-correcting ability of the
CD
o Encode each byte (8 bits) in a 14 bit symbol with 6 bits
of ECC
o 42 symbols form a frame
o Group 98 frames into a CD-ROM sector
o Extra error-correcting code is attached to sector
CD-ROM
Sector
CD-ROMs Sector Layout
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o 650 MB capacity
o 150 GB SCSI disk capacity
o 150 KB/sec in mode 1,
o up to 5 MB/sec for 32x CD-ROM
o Scsi-2 magnetic disk transfers at 10 MB/sec
o Bottom line: CD drives can’t compare to scsi disk
drives
CD-ROM Performance
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Added graphics, video, data
o File system standards agreed upon
o High Sierra for file names of 8 characters
o Rock ridge for longer names and extensions
o CD-ROM’s used for publishing games, movies,
commercial software, reference works
o Why? Cheap to manufacture and large capacity
CD-ROM
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
o Cheaper manufacturing process led to cheaper CD-
ROM (CD-R)
o Used as backup to disk drives
o Small companies can use to make masters which they
give to high volume plants to reproduce
CD-Recordable
Cross section of a CD-R disk and laser. A silver
CD-ROM has similar structure, except without dye layer and
with pitted aluminum layer instead of gold layer.
CD-Recordables
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DVD (Digital Versatile Disk)
DVD use same design as CD with a few
improvements
1. Smaller pits
(0.4 microns versus 0.8 microns for CDs).
2. A tighter spiral
(0.74 microns between tracks versus 1.6
microns for CDs).
3. A red laser
(at 0.65 microns versus 0.78 microns for CDs).
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DVD (Digital Versatile Disk)
• This led to much bigger capacity ~ 5 Gbyte
(seven fold increase in capacity)
• Can put a standard movie on the DVD (133
minutes)
• Hollywood wants more movies on the same
disk, so have 4 formats
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DVD
DVD Formats
1. Single-sided, single-layer (4.7 GB).
2. Single-sided, dual-layer (8.5 GB).
3. Double-sided, single-layer (9.4 GB).
4. Double-sided, dual-layer (17 GB).
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DVD: next generation
• Blu-ray
• HD
• Computer industry and Hollywood have not
agreed on formats yet!!
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
A double-sided, dual-layer DVD disk.
DVD
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Hard Disk Formatting
• Low level format-software lays down tracks
and sectors on empty disk (picture next
slide)
• High level format is done next-partitions
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
512 bit sectors standard
Preamble contains address of sector, cylinder number
ECC for recovery from errors
Sector Format
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Offset sector from
one track to
next one in
order to get
consecutive
sectors
Cylinder Skew
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Copying to a buffer takes time; could wait a disk rotation before
head reads next sector. So interleave sectors to avoid this
(b,c)
Interleaved sectors
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
High level format
• Partitions-for more then one OS on same
disk
• Pentium-sector 0 has master boot record
with partition table and code for boot block
• Pentium has 4 partitions-can have both
Windows and Unix
• In order to be able to boot, one sector has
to be marked as active
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
High level format for each partition
• master boot record in sector 0
• boot block program
• free storage admin (bitmap or free list)
• root directory
• empty file system
• indicates which file system is in the
partition (in the partition table)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Power goes on
• BIOS reads in master boot record
• Boot program checks which partition is
active
• Reads in boot sector from active partition
• Boot sector loads bigger boot program
which looks for the OS kernel in the file
system
• OS kernel is loaded and executed
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Arm Scheduling Algorithms
Read/write time factors
1. Seek time (the time to move the arm to the
proper cylinder).
2. Rotational delay (the time for the proper sector
to rotate under the head).
3. Actual data transfer time.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Arm Scheduling Algorithms
o Driver keeps list of requests (cylinder number,
time of request)
o Try to optimize the seek time
o FCFS is easy to implement, but optimizes
nothing
oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
While head is on cylinder 11, requests for 1,36,16,34,9,12 come in
FCFS would result in 111 cylinders
SSF would require 1,3,7,15,33,2 movements for a total of 61
cylinders
SSF (Shortest Seek Time First)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Elevator algorithm
o It is a greedy algorithm-the head could get
stuck in one part of the disk if the usage was
heavy
o Elevator-keep going in one direction until there
are no requests in that direction, then reverse
direction
o Real elevators sometimes use this algorithm
o Variation on a theme-first go one way, then go
the other
oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Uses 60 cylinders, a bit better
The Elevator
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Controller Cache
o Disk controllers have their own cache
o Cache is separate from the OS cache
o OS caches blocks independently of where they
are located on the disk
o Controller caches blocks which were easy to
read but which were not necessarily requested
oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Bad Sectors-the controller approach
o Manufacturing defect-that which was written
does not correspond to that which is read
(back)
o Controller or OS deals with bad sectors
o If controller deals with them the factory
provides a list of bad blocks and controller
remaps good spares in place of bad blocks
o Substitution can be done when the disk is in
use-controller “notices” that block is bad and
substitutes
oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
(a) A disk track with a bad sector.
(b) Substituting a spare for the bad sector.
(c) Shifting all the sectors to bypass the bad one.
Error Handling
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Bad Sectors-the OS approach
o Gets messy if the OS has to do it
o OS needs lots of information-which blocks are
bad or has to test blocks itself
oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Stable Storage
o RAIDS can protect against sectors
going bad
o Can’t protect against write operations
spitting out garbage or crashes
during writes
o Stable storage: either correct data is
laid down or old data remains in
place
o Necessary for some apps-data can’t
be lost or go bad
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Assumptions
o Can detect a bad write on
subsequent reads via ECC
o Probability of having bad data in
sector on two different disks is
negligible
o If CPU fails, it stops along with any
write in progress at the time. Bad
data can be detected later via ECC
during read op
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The idea and the operations
o Use 2 identical disks-do the same
thing to both disks
o Use 3 operations
o Stable write-first write, then read back
and compare. If they are the same
write to second disk. If write fails, try
up to n times to get it to succeed.
After n failures keep using spare
sectors until it succeeds. Then go to
disk 2.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The idea and the OPS
o Stable read-read from disk 1 n times
until get a good ECC, otherwise read
from disk 2 (assumption that
probability of both sectors being bad
is negligible)
o Crash recovery-read both copies of
blocks and compare them. If one
block has an ECC error, overwrite it
with the good block. If both pass the
ECC test, then pick either
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
(a)Crash happens before write (b) crash happens during write to 1
(c)crash happens after 1 but before 2 (d) during 2, after 1 (e) both
are the same
CPU Crashes
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-32. A programmable clock.
Clock Hardware
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Clock Software (1)
Typical duties of a clock driver
1. Maintaining the time of day.
2. Preventing processes from running longer than
they are allowed to.
3. Accounting for CPU usage.
4. Handling alarm system call made by user
processes.
5. Providing watchdog timers for parts of the
system itself.
6. Doing profiling, monitoring, statistics gathering.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-33. Three ways to maintain the time of day.
Clock Software (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-34. Simulating multiple timers with a single clock.
Clock Software (3)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Soft Timers
Soft timers succeed according to rate at which
kernel entries are made because of:
1. System calls.
2. TLB misses.
3. Page faults.
4. I/O interrupts.
5. The CPU going idle.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-35. Characters that are handled
specially in canonical mode.
Keyboard Software
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-36. The ANSI escape sequences accepted by the
terminal driver on output. ESC denotes the ASCII escape
character (0x1B), and n, m, and s are optional
numeric parameters.
The X Window System (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-37. Clients and servers in the M.I.T. X Window System.
The X Window System (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The X Window System (3)
Types of messages between client and server:
1. Drawing commands from the program to the
workstation.
2. Replies by the workstation to program queries.
3. Keyboard, mouse, and other event
announcements.
4. Error messages.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-38. A skeleton of an X Window application program.
Graphical User Interfaces (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
. . .
Figure 5-38. A skeleton of an X Window application program.
Graphical User Interfaces (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
. . .
Figure 5-39. A sample
window located at
(200, 100) on an
XGA display.
Graphical User Interfaces (3)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-40. A skeleton of a Windows main program.
Graphical User Interfaces (4)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
. . .
Figure 5-40. A skeleton of a Windows main program.
Graphical User Interfaces (5)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
. . .
Figure 5-41. An example rectangle drawn using Rectangle.
Each box represents one pixel.
Bitmaps (1)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-42. Copying bitmaps using BitBlt. (a) Before. (b) After.
Bitmaps (2)
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-43. Some examples of character outlines
at different point sizes.
Fonts
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-44. The THINC protocol display commands.
Thin Clients
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-45. Power consumption of various parts
of a notebook computer.
Power Management
Hardware Issues
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-46. The use of zones for backlighting the display.
(a) When window 2 is selected it is not moved.
(b) When window 1 is selected, it moves to reduce the
number of zones illuminated.
Power Management
The Display
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Figure 5-47. (a) Running at full clock speed. (b) Cutting voltage by
two cuts clock speed by two and power consumption by four.
Power Management
The CPU
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Contenu connexe

Similaire à IO.ppt

The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...
Sindhu Mani
 
Motherboard Components
Motherboard ComponentsMotherboard Components
Motherboard Components
stooty s
 

Similaire à IO.ppt (20)

The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...The primary purpose of memory interfacing is to facilitate the transfer of da...
The primary purpose of memory interfacing is to facilitate the transfer of da...
 
Input output accessing
Input output accessingInput output accessing
Input output accessing
 
Unit 5
Unit 5Unit 5
Unit 5
 
UNIT 5- UNDERSTANDING THE SYSTEM DESIGN PROCESS.pptx
UNIT 5- UNDERSTANDING THE SYSTEM DESIGN PROCESS.pptxUNIT 5- UNDERSTANDING THE SYSTEM DESIGN PROCESS.pptx
UNIT 5- UNDERSTANDING THE SYSTEM DESIGN PROCESS.pptx
 
Unit 6
Unit 6Unit 6
Unit 6
 
07 Input Output
07  Input  Output07  Input  Output
07 Input Output
 
I/O Channel IBM 370
I/O Channel IBM 370I/O Channel IBM 370
I/O Channel IBM 370
 
Introduction to 8085svv
Introduction to 8085svvIntroduction to 8085svv
Introduction to 8085svv
 
Input output in computer Orgranization and architecture
Input output in computer Orgranization and architectureInput output in computer Orgranization and architecture
Input output in computer Orgranization and architecture
 
Computer organization research, everything that u want (2020)
Computer organization research, everything that u want (2020)Computer organization research, everything that u want (2020)
Computer organization research, everything that u want (2020)
 
tan2.ppt
tan2.ppttan2.ppt
tan2.ppt
 
History of computer hardware
History of computer hardwareHistory of computer hardware
History of computer hardware
 
Ch 01 os8e
Ch 01  os8eCh 01  os8e
Ch 01 os8e
 
Memory Management
Memory ManagementMemory Management
Memory Management
 
Mikroprosessor system
Mikroprosessor systemMikroprosessor system
Mikroprosessor system
 
Io sys
Io sysIo sys
Io sys
 
I/O System
I/O SystemI/O System
I/O System
 
Motherboard Components
Motherboard ComponentsMotherboard Components
Motherboard Components
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Components of a computer
Components of a computerComponents of a computer
Components of a computer
 

Plus de Varsha506533 (10)

Lect3_ customizable.pptx
Lect3_ customizable.pptxLect3_ customizable.pptx
Lect3_ customizable.pptx
 
Lect3.pptx
Lect3.pptxLect3.pptx
Lect3.pptx
 
Lect1_ DSP.pptx
Lect1_ DSP.pptxLect1_ DSP.pptx
Lect1_ DSP.pptx
 
Lect1a_ basics of DSP.pptx
Lect1a_ basics of DSP.pptxLect1a_ basics of DSP.pptx
Lect1a_ basics of DSP.pptx
 
Lect4_ customizable.pptx
Lect4_ customizable.pptxLect4_ customizable.pptx
Lect4_ customizable.pptx
 
Lect 2a Direct Current Motor Drives.pptx
Lect 2a Direct Current Motor Drives.pptxLect 2a Direct Current Motor Drives.pptx
Lect 2a Direct Current Motor Drives.pptx
 
Lecture 1b Selection of Motor Rating.pptx
Lecture 1b Selection of Motor Rating.pptxLecture 1b Selection of Motor Rating.pptx
Lecture 1b Selection of Motor Rating.pptx
 
Lecture 1a Selection of Motor Rating.pptx
Lecture 1a Selection of Motor Rating.pptxLecture 1a Selection of Motor Rating.pptx
Lecture 1a Selection of Motor Rating.pptx
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .ppt
 
L1_Introduction.ppt
L1_Introduction.pptL1_Introduction.ppt
L1_Introduction.ppt
 

Dernier

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Dernier (20)

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 

IO.ppt

  • 1. Chapter 5 Input/Output Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 2. o OS controls I/O devices => o Issue commands, o handles interrupts, o handles errors o Provide easy to use interface to devices o Hopefully device independent o First look at hardware, then software o Emphasize software o Software structured in layers o Look at disks Overview Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 3. Some typical device network, and bus data rates. I/O Devices Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 4. o Two types of I/O devices- block, character o Block- can read blocks independently of one another o Hard disks, CD-ROMs, USB sticks o 512-32,768 bytes o Character-accepts characters without regard to block structure o Printers, mice, network interfaces o Not everything fits, e.g. clocks don’t fit o Division allows for OS to deal with devices in device independent manner o File system deals with blocks Overview Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 5. A is track, B is sector, C is geometrical sector, D is cluster Disk geometry Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 6. o I/O unit has 2 components-mechanical, electronic (controller) o Controller is a chip with a connector which plugs into cables to device o Disk o Disk might have 10,000 sectors of 512 bytes per track o Serial bit stream comes off drive o Has preamble, 4096 bits/sector, error correcting code o Preamble has sector number, cylinder number, sector size…. Device Controllers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 7. o Controller assembles block from bit stream, does error correction, puts into buffer in controller o Blocks are what are sent from a disk Device Controllers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 8. o Controller has registers which OS can write and read o Write-gives command to device o Read-learn device status…… o Devices have data buffer which OS can read/write (e.g. video RAM, used to display pixels on a screen) o How does CPU communicate with registers and buffers? Memory Mapped I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 9. (a) Separate I/O ports and memory space. (b) Memory-mapped I/O. (c) Memory mapped data buffers and separate ports (Pentium) Memory-Mapped I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 10. o First scheme o Puts read on control line o Put address on address line o Puts I/O space or memory space on signal line to differentiate o Read from memory or I/O space o Memory mapped approach o Put address on address line and let memory and I/O devices compare address with the ranges they serve How CPU addresses registers and buffers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 11. o Don’t need special instructions to read/write control registers=> can write a device driver in C o Don’t need special protection to keep users from doing I/O directly. Just don’t put I/O memory in any user space Memory mapped advantages Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 12. o An instruction can reference control registers and memory Loop test port_4 //check if port 4 is zero beq ready //it is is zero, go to ready branch loop //otherwise, continue testing Ready If instruction just references registers, then need more instructions to do the test-read it in, test it…… Memory mapped advantages Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 13. o Can cache memory words, which means that old memory value (e.g. for port 4) could remain in cache o => have to be able to disable caching when it is worthwhile o I/O devices and memory have to respond to memory references o Works with single bus because both memory and I/O look at address on bus and decide who it is for o harder with multiple buses Memory mapped disadvantage Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 14. o I/O devices and memory have to respond to memory references o Works with single bus because both memory and I/O look at address on bus and decide who it is for o harder with multiple buses Memory mapped disadvantage Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 15. o Works with single bus because both memory and I/O look at address and decide who it is for o Harder with multiple buses because I/O devices can’t see their addresses go by any more Memory mapped disadvantage Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 16. (a) A single-bus architecture. (b) A dual-bus memory architecture. Memory-Mapped I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 17. o Solution is for CPU to try memory first. If it does not get a response then it tries I/O device o Other fixes-snooping device, filter addresses o Main point-have to complicate hardware to make this work Solutions Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 18. o CPU COULD request data one byte at a time from I/O controller o Big waste of time, use DMA o DMA controller on mother-board; normally one controller for multiple devices o CPU reads/writes to registers in controller o Memory address register o Byte count register o Control registers-I/O port, direction of transfer, transfer units (byte/word), number of bytes to transfer in a burst DMA Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 19. o Controller reads a block into its memory o Computes checksum o Interrupts OS o Sends byte at a time to memory When DMA is not used Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 20. Operation of a DMA transfer. How does DMA work? Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 21. o Cycle stealing mode-transfer goes on word at a time, competing with CPU for bus cycles. Idea is that CPU loses the occasional cycle to the DMA controller o Burst mode-DMA controller grabs bus and sends a block o Fly by mode-DMA controller tells device controller to send word to it instead of memory. Can be used to transfer data between devices. DMA controller modes Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 22. o Why buffer data in controllers? o Can do check-sum o Bus may be busy-need to store data someplace o Is DMA really worth it? Not if o CPU is much faster then DMA controller and can do the job faster o don’t have too much data to transfer Questions Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 23. The connections between the devices and the interrupt controller use interrupt lines on the bus rather than dedicated wires. PC interrupt structure Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 24. o Controller puts number on address line telling CPU which device wants attention and interrupts CPU o Table (interrupt vector) points to interrupt service routine o Number on address line acts as index into interrupt vector o Interrupt vector contains PC which points to start of service routine Interrupt processing Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 25. o Interrupt service routine acks interrupt o Saves information about interrupted program o Where to save information o User process stack, kernel stack are both possibilities o Both have problems Interrupt processing Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 26. o Sure, if we don’t use pipelined or superscaler CPU’s. But we do use them. o Can’t assume that all instructions up to and including given instruction have been executed o Pipeline-bunch of instructions are partially completed o Superscaler-instructions are decomposed and can execute out of order Can we save the PC and PSW? Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 27. 1. PC (Program Counter) is saved in a known place. 2. All instructions before the one pointed to by the PC have fully executed. 3. No instruction beyond the one pointed to by the PC has been executed. 4. Execution state of the instruction pointed to by the PC is known. The precise (ideal) interrupt Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 28. (a) A precise interrupt. (b) An imprecise interrupt. Precise and Imprecise Interrupts (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 29. o With great difficulty o Either Need complicated hardware logic to re-start after interrupt (Pentium) o Or have complicated processing in the OS How to process an imprecise interrupt Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 30. o Device independence-don’t have to specify the device when accessing the device o Uniform naming-name should not depend on device type o Error handling-do it as close to the device as possible (e.g. controller should be the first to fix error, followed by the driver) o OS needs to make I/O operations blocking (e.g. program blocks until data arrives on a read) because it is easy to write blocking ops I/O Software-Goals Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 31. o Buffering- e.g. when a packet arrives o Shared devices (disks) and un-shared devices (tapes) must be handled I/O Software-Goals Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 32. Steps in printing a string. Programmed I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 33. Send data one character at a time Programmed I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 34. o The good: simple idea, OK if the CPU is not bothered too much o The bad: CPU is bothered too much Good vs Bad Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 35. o Idea: block process which requests I/O, schedule another process o Return to calling process when I/O is done o Printer generates interrupt when a character is printed o Keeps printing until the end of the string o Re-instantiate calling process Interrupt Driven I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 36. . (a) Code executed at the time the print system call is made. (b) Interrupt service procedure for the printer. Interrupt-Driven I/O Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 37. DMA Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Use DMA controller to send characters to printer instead of using the CPU o CPU is only interrupted when the buffer is printed instead of when each character is printed o DMA is worth it if (1) DMA controller can drive the device as fast as the CPU could drive it (2) there is enough data to make it worthwhile
  • 38. . (a) Code executed when the print system call is made. (b) Interrupt service procedure. I/O Using DMA Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 39. Layers of the I/O software system. I/O Software Layers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 40. Interrupt Handlers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o The idea: driver starting the I/O blocks until interrupt happens when I/O finishes o Handler processes interrupt o Wakes up driver when processing is finished o Drivers are kernel processes with their very own o Stacks o PCs o states
  • 41. Interrupt processing details Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 1. Save registers not already saved by interrupt hardware. 2. Set up a context for the interrupt service procedure. 3. Set up a stack for the interrupt service procedure. 4. Acknowledge the interrupt controller. If there is no centralized interrupt controller, re-enable interrupts. 5. Copy the registers from where they were saved to the process table.
  • 42. Interrupt processing details Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 6 Run the interrupt service procedure. 7 Choose which process to run next. 8 Set up the MMU context for the process to run next. 9 Load the new process’ registers, including its PSW. 10 Start running the new process.
  • 43. Device Drivers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 44. Device Drivers-Act 1 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Driver contains code specific to the device o Supplied by manufacturer o Installed in the kernel o User space might be better place o Why? Bad driver can mess up kernel o Need interface to OS o block and character interfaces o procedures which OS can call to invoke driver (e.g. read a block)
  • 45. Device drivers Act 2 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Checks input parameters for validity o Abstract to concrete translation (block number to cylinder, head, track, sector) o Check device status. Might have to start it. o Puts commands in device controller’s registers o Driver blocks itself until interrupt arrives o Might return data to caller o Does return status information o The end o Drivers should be re-entrant o OS adds devices when system (and therefore driver) is running
  • 46. Device-Independent I/O Software Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 47. Driver functions differ for different drivers Kernel functions which each driver needs are different for differen drivers Too much work to have new interface for each new device type Why the OS needs a standard interface Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 48. Interface:Driver functions Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o OS defines functions for each class of devices which it MUST supply, e.g. read, write, turn on, turn off…….. o Driver has a table of pointers to functions o OS just needs table address to call the functions o OS maps symbolic device names onto the right driver
  • 49. Interface:Names and protection Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o OS maps symbolic device names onto the right driver o Unix: /dev/disk0 maps to an i-node which contains the major and minor device numbers for disk0 o Major device number locates driver, minor device number passes parameters (e.g. disk) o Protection: In Unix and Windows devices appear as named objects => can use file protection system
  • 50. (a) Unbuffered input. (b) Buffering in user space. (c) Buffering in the kernel followed by copying to user space. (d) Double buffering in the kernel. Buffering Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 51. Networking may involve many copies of a packet. Buffering Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 52. More Functions of Independent Software Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Error reporting-programming errors (the user asks for the wrong thing), hardware problems (bad disk) are reported if they can’t be solved by the driver o Allocates and releases devices which can only be used by one user at a time (CD-ROM players) o Queues requests or o Lets open simply fail o Device independent block size-OS does not have to know the details of the devices o E.g. combine sectors into blocks
  • 53. User Space I/O Software Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Library routines are involved with I/O-printf,scanf,write for example. These routines makes system calls o Spooling systems-keep track of device requests made by users. o Think printing. o User generates file, puts it in a spooling directory. o Daemon process monitors the directory, printing the user file o File transfers also use a spooling directory
  • 54. Example Flow through layers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o User wants to read a block, asks OS o Device independent software looks for block in cache o If not there, invokes device driver to request block from disk o Transfer finishes, interrupt is generated o User process is awakened and goes back to work
  • 55. Disks Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Magnetic (hard) o Reads and writes are equally fast=> good for storing file systems o Disk arrays are used for reliable storage (RAID) o Optical disks (CD-ROM, CD-Recordables, DVD) used for program distribution
  • 56. Seek time is 7x better, transfer rate is 1300 x better, capacity is 50,000 x better. Floppy vs hard disk (20 years apart) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 57. Disks-more stuff Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Some disks have microcontrollers which do bad block re-mapping, track caching o Some are capable of doing more then one seek at a time, i.e. they can read on one disk while writing on another o Real disk geometry is different from geometry used by driver => controller has to re-map request for (cylinder, head,sector) onto actual disk o Disks are divided into zones, with fewer tracks on the inside, gradually progressing to more on the outside
  • 58. (a) Physical geometry of a disk with two zones. (b) A possible virtual geometry for this disk. Disk Zones Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 59. Redundant Array of Inexpensive Disks (RAID) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Parallel I/O to improve performance and reliability o vs SLED, Single Large Expensive Disk o Bunch of disks which appear like a single disk to the OS o SCSI disks often used-cheap, 7 disks per controller o SCSI is set of standards to connect CPU to peripherals o Different architectures-level 0 through level 7
  • 60. Raid Levels Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Raid level 0 uses strips of k sectors per strip. o Consecutive strips are on different disks o Write/read on consecutive strips in parallel o Good for big enough requests o Raid level 1 duplicates the disks o Writes are done twice, reads can use either disk o Improves reliability o Level 2 works with individual words, spreading word + ecc over disks. o Need to synchronize arms to get parallelism
  • 61. Backup and parity drives are shown shaded. RAID Levels 0,1,2 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 62. Raid Levels 4 and 5 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Raid level 3 works like level 2, except all parity bits go on a single drive o Raid 4,5 work with strips. Parity bits for strips go on separate drive (level 4) or several drives (level 5)
  • 63. Backup and parity drives are shown shaded. RAID Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 64. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Optical disks have higher density then mag disks o Used for distributing commercial software + reference works (books) o Cheap because of high production volume of music CDs o First used for playing music digitally CD
  • 65. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Laser burns holes on a master (coated glass) disk o Mold is made with bumps where holes were o Resin poured into –has same pattern of holes as glass disk o Aluminum put on top of resin o Pits (depressions) and lands (unburned area) are arranged in spirals o Laser is used to read the pits and lands and convert them into bits (0 and 1) CD
  • 66. Recording structure of a compact disc or CD-ROM. CD Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 67. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o CD’s can be used to store data as well as audio o Enter the CD-ROM o Needed to improve the error-correcting ability of the CD o Encode each byte (8 bits) in a 14 bit symbol with 6 bits of ECC o 42 symbols form a frame o Group 98 frames into a CD-ROM sector o Extra error-correcting code is attached to sector CD-ROM
  • 68. Sector CD-ROMs Sector Layout Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 69. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o 650 MB capacity o 150 GB SCSI disk capacity o 150 KB/sec in mode 1, o up to 5 MB/sec for 32x CD-ROM o Scsi-2 magnetic disk transfers at 10 MB/sec o Bottom line: CD drives can’t compare to scsi disk drives CD-ROM Performance
  • 70. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Added graphics, video, data o File system standards agreed upon o High Sierra for file names of 8 characters o Rock ridge for longer names and extensions o CD-ROM’s used for publishing games, movies, commercial software, reference works o Why? Cheap to manufacture and large capacity CD-ROM
  • 71. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 o Cheaper manufacturing process led to cheaper CD- ROM (CD-R) o Used as backup to disk drives o Small companies can use to make masters which they give to high volume plants to reproduce CD-Recordable
  • 72. Cross section of a CD-R disk and laser. A silver CD-ROM has similar structure, except without dye layer and with pitted aluminum layer instead of gold layer. CD-Recordables Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 73. DVD (Digital Versatile Disk) DVD use same design as CD with a few improvements 1. Smaller pits (0.4 microns versus 0.8 microns for CDs). 2. A tighter spiral (0.74 microns between tracks versus 1.6 microns for CDs). 3. A red laser (at 0.65 microns versus 0.78 microns for CDs). Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 74. DVD (Digital Versatile Disk) • This led to much bigger capacity ~ 5 Gbyte (seven fold increase in capacity) • Can put a standard movie on the DVD (133 minutes) • Hollywood wants more movies on the same disk, so have 4 formats Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 75. DVD DVD Formats 1. Single-sided, single-layer (4.7 GB). 2. Single-sided, dual-layer (8.5 GB). 3. Double-sided, single-layer (9.4 GB). 4. Double-sided, dual-layer (17 GB). Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 76. DVD: next generation • Blu-ray • HD • Computer industry and Hollywood have not agreed on formats yet!! Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 77. A double-sided, dual-layer DVD disk. DVD Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 78. Hard Disk Formatting • Low level format-software lays down tracks and sectors on empty disk (picture next slide) • High level format is done next-partitions Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 79. 512 bit sectors standard Preamble contains address of sector, cylinder number ECC for recovery from errors Sector Format Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 80. Offset sector from one track to next one in order to get consecutive sectors Cylinder Skew Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 81. Copying to a buffer takes time; could wait a disk rotation before head reads next sector. So interleave sectors to avoid this (b,c) Interleaved sectors Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 82. High level format • Partitions-for more then one OS on same disk • Pentium-sector 0 has master boot record with partition table and code for boot block • Pentium has 4 partitions-can have both Windows and Unix • In order to be able to boot, one sector has to be marked as active Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 83. High level format for each partition • master boot record in sector 0 • boot block program • free storage admin (bitmap or free list) • root directory • empty file system • indicates which file system is in the partition (in the partition table) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 84. Power goes on • BIOS reads in master boot record • Boot program checks which partition is active • Reads in boot sector from active partition • Boot sector loads bigger boot program which looks for the OS kernel in the file system • OS kernel is loaded and executed Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 85. Disk Arm Scheduling Algorithms Read/write time factors 1. Seek time (the time to move the arm to the proper cylinder). 2. Rotational delay (the time for the proper sector to rotate under the head). 3. Actual data transfer time. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 86. Disk Arm Scheduling Algorithms o Driver keeps list of requests (cylinder number, time of request) o Try to optimize the seek time o FCFS is easy to implement, but optimizes nothing oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 87. While head is on cylinder 11, requests for 1,36,16,34,9,12 come in FCFS would result in 111 cylinders SSF would require 1,3,7,15,33,2 movements for a total of 61 cylinders SSF (Shortest Seek Time First) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 88. Elevator algorithm o It is a greedy algorithm-the head could get stuck in one part of the disk if the usage was heavy o Elevator-keep going in one direction until there are no requests in that direction, then reverse direction o Real elevators sometimes use this algorithm o Variation on a theme-first go one way, then go the other oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 89. Uses 60 cylinders, a bit better The Elevator Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 90. Disk Controller Cache o Disk controllers have their own cache o Cache is separate from the OS cache o OS caches blocks independently of where they are located on the disk o Controller caches blocks which were easy to read but which were not necessarily requested oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 91. Bad Sectors-the controller approach o Manufacturing defect-that which was written does not correspond to that which is read (back) o Controller or OS deals with bad sectors o If controller deals with them the factory provides a list of bad blocks and controller remaps good spares in place of bad blocks o Substitution can be done when the disk is in use-controller “notices” that block is bad and substitutes oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 92. (a) A disk track with a bad sector. (b) Substituting a spare for the bad sector. (c) Shifting all the sectors to bypass the bad one. Error Handling Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 93. Bad Sectors-the OS approach o Gets messy if the OS has to do it o OS needs lots of information-which blocks are bad or has to test blocks itself oTanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 94. Stable Storage o RAIDS can protect against sectors going bad o Can’t protect against write operations spitting out garbage or crashes during writes o Stable storage: either correct data is laid down or old data remains in place o Necessary for some apps-data can’t be lost or go bad Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 95. Assumptions o Can detect a bad write on subsequent reads via ECC o Probability of having bad data in sector on two different disks is negligible o If CPU fails, it stops along with any write in progress at the time. Bad data can be detected later via ECC during read op Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 96. The idea and the operations o Use 2 identical disks-do the same thing to both disks o Use 3 operations o Stable write-first write, then read back and compare. If they are the same write to second disk. If write fails, try up to n times to get it to succeed. After n failures keep using spare sectors until it succeeds. Then go to disk 2. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 97. The idea and the OPS o Stable read-read from disk 1 n times until get a good ECC, otherwise read from disk 2 (assumption that probability of both sectors being bad is negligible) o Crash recovery-read both copies of blocks and compare them. If one block has an ECC error, overwrite it with the good block. If both pass the ECC test, then pick either Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 98. (a)Crash happens before write (b) crash happens during write to 1 (c)crash happens after 1 but before 2 (d) during 2, after 1 (e) both are the same CPU Crashes Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 99. Figure 5-32. A programmable clock. Clock Hardware Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 100. Clock Software (1) Typical duties of a clock driver 1. Maintaining the time of day. 2. Preventing processes from running longer than they are allowed to. 3. Accounting for CPU usage. 4. Handling alarm system call made by user processes. 5. Providing watchdog timers for parts of the system itself. 6. Doing profiling, monitoring, statistics gathering. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 101. Figure 5-33. Three ways to maintain the time of day. Clock Software (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 102. Figure 5-34. Simulating multiple timers with a single clock. Clock Software (3) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 103. Soft Timers Soft timers succeed according to rate at which kernel entries are made because of: 1. System calls. 2. TLB misses. 3. Page faults. 4. I/O interrupts. 5. The CPU going idle. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 104. Figure 5-35. Characters that are handled specially in canonical mode. Keyboard Software Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 105. Figure 5-36. The ANSI escape sequences accepted by the terminal driver on output. ESC denotes the ASCII escape character (0x1B), and n, m, and s are optional numeric parameters. The X Window System (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 106. Figure 5-37. Clients and servers in the M.I.T. X Window System. The X Window System (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 107. The X Window System (3) Types of messages between client and server: 1. Drawing commands from the program to the workstation. 2. Replies by the workstation to program queries. 3. Keyboard, mouse, and other event announcements. 4. Error messages. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 108. Figure 5-38. A skeleton of an X Window application program. Graphical User Interfaces (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 . . .
  • 109. Figure 5-38. A skeleton of an X Window application program. Graphical User Interfaces (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 . . .
  • 110. Figure 5-39. A sample window located at (200, 100) on an XGA display. Graphical User Interfaces (3) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 111. Figure 5-40. A skeleton of a Windows main program. Graphical User Interfaces (4) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 . . .
  • 112. Figure 5-40. A skeleton of a Windows main program. Graphical User Interfaces (5) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 . . .
  • 113. Figure 5-41. An example rectangle drawn using Rectangle. Each box represents one pixel. Bitmaps (1) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 114. Figure 5-42. Copying bitmaps using BitBlt. (a) Before. (b) After. Bitmaps (2) Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 115. Figure 5-43. Some examples of character outlines at different point sizes. Fonts Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 116. Figure 5-44. The THINC protocol display commands. Thin Clients Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 117. Figure 5-45. Power consumption of various parts of a notebook computer. Power Management Hardware Issues Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 118. Figure 5-46. The use of zones for backlighting the display. (a) When window 2 is selected it is not moved. (b) When window 1 is selected, it moves to reduce the number of zones illuminated. Power Management The Display Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
  • 119. Figure 5-47. (a) Running at full clock speed. (b) Cutting voltage by two cuts clock speed by two and power consumption by four. Power Management The CPU Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639