Input/Output
Chapter 5
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
I/O Devices (1)
• Block devices
– Stores information in fixed-size blocks
– Transfers are in units of entire blocks
• Character devices
– Delivers or accepts stream of characters, without
regard to block structure
– Not addressable, does not have any seek
operation
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
I/O Devices (2)
Figure 5-1. Some
typical device,
network, and bus
data rates.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Memory-Mapped I/O (1)
Figure 5-2. (a) Separate I/O and memory space.
(b) Memory-mapped I/O. (c) Hybrid.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Memory-Mapped I/O (2)
Figure 5-3. (a) A single-bus architecture.
(b) A dual-bus memory architecture.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Direct Memory Access
Figure 5-4. Operation of a DMA transfer.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Precise Interrupt
Four properties of a precise interrupt:
[Link] PC saved in a known place.
[Link] instructions before that pointed to by PC
have fully executed.
[Link] instruction beyond that pointed to by PC
has been executed.
[Link] state of instruction pointed to by PC
is known.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Precise vs. Imprecise
Figure 5-6. (a) A precise interrupt. (b) An imprecise interrupt.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Goals of the I/O Software
Issues:
•Device independence
•Uniform naming
•Error handling
•Synchronous versus asynchronous
•Buffering.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Programmed I/O (1)
Figure 5-7. Steps in printing a string.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Programmed I/O (2)
Figure 5-8. Writing a string to the printer
using programmed I/O.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
I/O Software Layers
Figure 5-11. Layers of the I/O software system.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Interrupt Handlers (1)
Typical steps after hardware interrupt completes:
[Link] registers (including the PSW) not already saved
by interrupt hardware.
[Link] up context for interrupt service procedure.
[Link] up a stack for the interrupt service procedure.
[Link] interrupt controller. If no centralized
interrupt controller, reenable interrupts.
[Link] registers from where saved to process table.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Interrupt Handlers (2)
Typical steps after hardware interrupt completes:
[Link] interrupt service procedure. Extract information
from interrupting device controller’s registers.
[Link] which process to run next.
[Link] up the MMU context for process to run next.
[Link] new process’ registers, including its PSW.
[Link] running the new process.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Device Drivers
Figure 5-12. Logical positioning of device drivers.
In reality all communication between drivers
and device controllers goes over the bus.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Device-Independent I/O Software
Figure 5-13. Functions of the
device-independent I/O software.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Uniform Interfacing
for Device Drivers
Figure 5-14. (a) Without a standard driver interface.
(b) With a standard driver interface.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Buffering (2)
Figure 5-16. Networking may involve many
copies of a packet.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
User-Space I/O Software
Figure 5-17. Layers of the I/O system and
the main functions of each layer.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Magnetic Disks (1)
Figure 5-18. Disk parameters for the original IBM PC 360-KB floppy
disk and a Western Digital WD 3000 HLFS (‘‘Velociraptor’’) hard disk.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Magnetic Disks (2)
Figure 5-19. (a) Physical geometry of a disk with two zones.
(b) A possible virtual geometry for this disk.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
RAID (1)
Figure 5-20. RAID
levels 0 through 3.
Backup and parity
drives are shown
shaded.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
RAID (2)
Figure 5-20. RAID
levels 4 through 6.
Backup and parity
drives are shown
shaded.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Formatting (1)
Figure 5-21. A disk sector.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Formatting (2)
Figure 5-22. An illustration of cylinder skew.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Formatting (3)
Figure 5-23. (a) No interleaving. (b) Single interleaving.
(c) Double interleaving.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Arm Scheduling Algorithms (1)
Factors of a disk block read/write:
[Link] time (the time to move the arm to the
proper cylinder).
[Link] delay (how long for the proper
sector to come under the head).
[Link] data transfer time.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Arm Scheduling Algorithms (2)
Figure 5-24. Shortest Seek First (SSF) disk scheduling
algorithm.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Disk Arm Scheduling Algorithms (3)
Figure 5-25. The elevator algorithm for scheduling disk requests.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Error Handling
Figure 5-26. (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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Stable Storage (1)
• Uses pair of identical disks
• Either can be read to get same results
• Operations defined to accomplish this:
1. Stable Writes
2. Stable Reads
3. Crash recovery
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Stable Storage (2)
Figure 5-27. Analysis of the influence of crashes on stable writes.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Clock Hardware
Figure 5-28. A programmable clock.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Clock Software (1)
Typical duties of a clock driver:
[Link] the time of day.
[Link] processes from running longer than
allowed.
[Link] for CPU usage.
[Link] alarm system call from user processes.
[Link] watchdog timers for parts of system itself.
[Link], monitoring, statistics gathering.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Clock Software (2)
Figure 5-29. Three ways to maintain the time of day.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Clock Software (3)
Figure 5-30. Simulating multiple timers with a single clock.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Soft Timers
Soft timers stand or fall with the rate at which
kernel entries are made for other reasons. These
reasons include:
1. System calls.
2. TLB misses.
3. Page faults.
4. I/O interrupts.
5. The CPU going idle.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Keyboard Software
Figure 5-31. Characters that are handled
specially in canonical mode.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Output Software – Text Windows
Figure 5-32. 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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
The X Window System (1)
Figure 5-33. Clients and servers in the M.I.T. X Window System.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
The X Window System (2)
Types of messages between client and server:
[Link] commands from program to
workstation.
[Link] by workstation to program queries.
[Link], mouse, and other event
announcements.
[Link] messages.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
The X Window System (3)
Figure 5-34. A skeleton of an X Window application program.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
The X Window System (4)
Figure 5-34. A skeleton of an X Window application program.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Graphical User Interfaces (1)
Figure 5-35. A sample window located at (200, 100)
on an XGA display.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Graphical User Interfaces (2)
Figure 5-36. A skeleton of a Windows main program.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Graphical User Interfaces (3)
Figure 5-36. A skeleton of a Windows main program.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Graphical User Interfaces (4)
Figure 5-37. An example rectangle drawn using Rectangle. Each box
represents one pixel.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Bitmaps
Figure 5-38. Copying bitmaps using BitBlt.
(a) Before. (b) After.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Fonts
Figure 5-39. Some examples of character outlines
at different point sizes.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Hardware Issues
Figure 5-40. Power consumption of various
parts of a notebook computer.
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Operating System Issues
The Display
Figure 5-41. 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 & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Operating System Issues
The CPU
Figure 5-42. (a) Running at full clock speed. (b) Cutting
voltage by two cuts clock speed by two and power
consumption by four
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
End
Chapter 5
Tanenbaum & Bo,Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.