0% found this document useful (0 votes)
6 views61 pages

Chapter 5

The document summarizes key topics in Chapter 5 of Modern Operating Systems by Andrew S. Tanenbaum, including input/output devices and their data transfer rates, memory-mapped I/O, direct memory access, interrupts, programmed I/O, interrupt-driven I/O, I/O software layers, device drivers, buffering strategies, magnetic disks, RAID configurations, CD and DVD formats, disk formatting, and disk arm scheduling algorithms. Diagrams and figures are included to illustrate these I/O concepts.

Uploaded by

XYZ ABC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views61 pages

Chapter 5

The document summarizes key topics in Chapter 5 of Modern Operating Systems by Andrew S. Tanenbaum, including input/output devices and their data transfer rates, memory-mapped I/O, direct memory access, interrupts, programmed I/O, interrupt-driven I/O, I/O software layers, device drivers, buffering strategies, magnetic disks, RAID configurations, CD and DVD formats, disk formatting, and disk arm scheduling algorithms. Diagrams and figures are included to illustrate these I/O concepts.

Uploaded by

XYZ ABC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

MODERN OPERATING SYSTEMS

Third Edition
ANDREW S. TANENBAUM

Chapter 5
Input/Output

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
I/O Devices

Figure 5-1. Some typical


device, network, and
bus data rates.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Memory-Mapped I/O (1)

Figure 5-2. (a) Separate I/O and memory space.


(b) Memory-mapped I/O. (c) Hybrid.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Memory-Mapped I/O (2)

Figure 5-3. (a) A single-bus architecture.


(b) A dual-bus memory architecture.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Direct Memory Access (DMA)

Figure 5-4. Operation of a DMA transfer.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interrupts Revisited

Figure 5-5. How an interrupt happens. The connections between


the devices and the interrupt controller actually use interrupt
lines on the bus rather than dedicated wires.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Precise and Imprecise Interrupts (1)
Properties of a precise interrupt

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.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Precise and Imprecise Interrupts (2)

Figure 5-6. (a) A precise interrupt. (b) An imprecise interrupt.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Programmed I/O (1)

Figure 5-7. Steps in printing a string.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Programmed I/O (2)

Figure 5-8. Writing a string to the printer using programmed I/O.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interrupt-Driven I/O

Figure 5-9. Writing a string to the printer using interrupt-driven I/O.


(a) Code executed at the time the print system call is made.
(b) Interrupt service procedure for the printer.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
I/O Using DMA

Figure 5-10. Printing a string using DMA. (a) Code executed when
the print system call is made. (b) Interrupt service procedure.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
I/O Software Layers

Figure 5-11. Layers of the I/O software system.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interrupt Handlers (1)
1.  Save registers not already been 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, reenable
interrupts.
5.  Copy the registers from where they were
saved to the process table.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interrupt Handlers (2)
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.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Device
Drivers

Figure 5-12. Logical


positioning of
device drivers. In
reality all
communication
between drivers and
device controllers
goes over the bus.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Device-Independent I/O Software

Figure 5-13. Functions of the device-independent I/O software.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Uniform Interfacing for Device Drivers

Figure 5-14. (a) Without a standard driver interface.


(b) With a standard driver interface.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Buffering (1)

Figure 5-15. (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.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Buffering (2)

Figure 5-16. Networking may involve many copies of a packet.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
User-Space I/O Software

Figure 5-17. Layers of the I/O system and the


main functions of each layer.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Magnetic Disks (1)

Figure 5-18. Disk parameters for the original IBM PC 360-KB


floppy disk and a Western Digital WD 18300 hard disk.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Magnetic Disks (2)

Figure 5-19. (a) Physical geometry of a disk with two zones.


(b) A possible virtual geometry for this disk.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
RAID (1)

Figure 5-20. RAID levels 0 through 5.


Backup and parity drives are shown shaded.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
RAID (2)

Figure 5-20. RAID levels 0 through 5.


Backup and parity drives are shown shaded.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
CD-ROMs (1)

Figure 5-21. Recording structure of a compact disc or CD-ROM.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
CD-ROMs (2)

Figure 5-22. Logical data layout on a CD-ROM.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
CD-Recordables (1)

Figure 5-23. 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.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
DVD (1)

DVD Improvements on CDs

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 (2)

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 (3)

Figure 5-24. A double-sided, dual-layer DVD disk.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Formatting (1)

Figure 5-25. A disk sector.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Formatting
(2)

Figure 5-26. An
illustration of
cylinder skew.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Formatting (3)

Figure 5-27. (a) No interleaving. (b) Single interleaving.


(c) Double interleaving.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Arm Scheduling Algorithms (1)

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 (2)

Figure 5-28. Shortest Seek First (SSF) disk scheduling algorithm.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Disk Arm Scheduling Algorithms (3)

Figure 5-29. The elevator algorithm for scheduling disk requests.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Error Handling

Figure 5-30. (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.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Stable Storage (1)
Operations for stable storage using
identical disks:
1.  Stable writes
2.  Stable reads
3.  Crash recovery

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Stable Storage (2)

Figure 5-31. Analysis of the influence of crashes on stable writes.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Clock Hardware

Figure 5-32. A programmable clock.

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
Clock Software (2)

Figure 5-33. Three ways to maintain the time of day.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Clock Software (3)

Figure 5-34. Simulating multiple timers with a single clock.

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
Keyboard Software

Figure 5-35. Characters that are handled


specially in canonical mode.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The X Window System (1)

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.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
The X Window System (2)

Figure 5-37. Clients and servers in the M.I.T. X Window System.


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
Graphical User Interfaces (1)

...
Figure 5-38. A skeleton of an X Window application program.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Graphical User Interfaces (2)
...

Figure 5-38. A skeleton of an X Window application program.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Graphical User Interfaces (3)

Figure 5-39. A sample


window located at
(200, 100) on an
XGA display.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Graphical User Interfaces (4)

...
Figure 5-40. A skeleton of a Windows main program.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Graphical User Interfaces (5)
...

Figure 5-40. A skeleton of a Windows main program.


Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Bitmaps (1)

Figure 5-41. An example rectangle drawn using Rectangle.


Each box represents one pixel.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Bitmaps (2)

Figure 5-42. Copying bitmaps using BitBlt. (a) Before. (b) After.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Fonts

Figure 5-43. Some examples of character outlines


at different point sizes.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Thin Clients

Figure 5-44. The THINC protocol display commands.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Power Management
Hardware Issues

Figure 5-45. Power consumption of various parts


of a notebook computer.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Power Management
The Display

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.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Power Management
The CPU

Figure 5-47. (a) Running at full clock speed. (b) Cutting voltage by
two cuts clock speed by two and power consumption by four.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

You might also like