SlideShare a Scribd company logo
1 of 66
1
Input/Output
Chapter 5
5.1 Principles of I/O hardware
5.2 Principles of I/O software
5.3 I/O software layers
5.4 Disks
5.5 Clocks
5.6 Character-oriented terminals
5.7 Graphical user interfaces
5.8 Network terminals
5.9 Power management
2
Principles of I/O Hardware
Some typical device, network, and data base rates
3
Device Controllers
• I/O devices have components:
– mechanical component
– electronic component
• The electronic component is the device
controller
– may be able to handle multiple devices
• Controller's tasks
– convert serial bit stream to block of bytes
– perform error correction as necessary
– make available to main memory
4
Do you remember this?
• Components of a simple personal computer
Monitor
Bus
5
Disk Controller
• 256 sectors of 512 bytes
• Controller sees a serial stream of bits
– Preamble
– Data
– Error Correcting Code
• Controller must assemble data bit stream
into blocks, error correct, then copy to mem
6
Video Controller
• Must control monitor hardware to scan CRT
beam across each line (interlaced/non-
interlaced), then go back to top left.
• With controller, OS simply tells controller a
few parameters (screen resolution,
frequency,…) then controller takes care of
the rest
7
Memory-Mapped I/O (1)
• Separate I/O and memory space
• Memory-mapped I/O
• Hybrid
8
Memory-Mapped I/O (2)
(a) A single-bus architecture
(b) A dual-bus memory architecture
9
Direct Memory Access (DMA)
Operation of a DMA transfer
10
Interrupts Revisited
How interrupts happens. Connections between devices and
interrupt controller actually use interrupt lines on the bus
rather than dedicated wires
11
Principles of I/O Software
Goals of I/O Software (1)
• Device independence
– programs can access any I/O device
– without specifying device in advance
· (floppy, hard drive, or CD-ROM)
• Uniform naming
– name of a file or device a string or an integer
– not depending on which machine
• Error handling
– handle as close to the hardware as possible
12
Goals of I/O Software (2)
• Synchronous vs. asynchronous transfers
– blocked transfers vs. interrupt-driven
• Buffering
– data coming off a device cannot be stored in
final destination
• Sharable vs. dedicated devices
– disks are sharable
– tape drives would not be
13
Programmed I/O (1)
Steps in printing a string
14
Programmed I/O (2)
Writing a string to the printer using
programmed I/O
15
Interrupt-Driven I/O
• Writing a string to the printer using interrupt-driven I/O
– Code executed when print system call is made
– Interrupt service procedure
16
I/O Using DMA
• Printing a string using DMA
– code executed when the print system call is made
– interrupt service procedure
17
I/O Software Layers
Layers of the I/O Software System
18
Interrupt Handlers (1)
• Interrupt handlers are best hidden
– have driver starting an I/O operation block until
interrupt notifies of completion
• Interrupt procedure does its task
– then unblocks driver that started it
• Steps must be performed in software after
interrupt completed
1. Save regs not already saved by interrupt hardware
2. Set up context for interrupt service procedure
19
Interrupt Handlers (2)
3. Set up stack for interrupt service procedure
4. Ack interrupt controller, reenable interrupts
5. Copy registers from where saved
6. Run service procedure
7. Set up MMU context for process to run next
8. Load new process' registers
9. Start running the new process
20
Device Drivers
• Logical position of device drivers is shown here
• Communications between drivers and device controllers
goes over the bus
21
Device-Independent I/O Software (1)
Functions of the device-independent I/O software
Uniform interfacing for device drivers
Buffering
Error reporting
Allocating and releasing dedicate devices
Providing a deice-independent block size
22
Device-Independent I/O Software (2)
(a) Without a standard driver interface
(b) With a standard driver interface
23
Device-Independent I/O Software (3)
(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
24
Device-Independent I/O Software (4)
Networking may involve many copies
25
User-Space I/O Software
Layers of the I/O system and the main
functions of each layer
26
Disks
Disk Hardware (1)
Disk parameters for the original IBM PC floppy disk
and a Western Digital WD 18300 hard disk
27
Disk Hardware (2)
• Physical geometry of a disk with two zones
• A possible virtual geometry for this disk
28
Disk Hardware (3)
• Raid levels 0 through 2
• Backup and parity drives are shaded
29
Disk Hardware (4)
• Raid levels 3 through 5
• Backup and parity drives are shaded
30
Disk Hardware (5)
Recording structure of a CD or CD-ROM
31
Disk Hardware (6)
Logical data layout on a CD-ROM
32
Disk Hardware (7)
• Cross section of a CD-R disk and laser
– not to scale
• Silver CD-ROM has similar structure
– without dye layer
– with pitted aluminum layer instead of gold
33
Disk Hardware (8)
A double sided, dual layer DVD disk
34
Disk Formatting (1)
A disk sector
35
Disk Formatting (2)
An illustration of cylinder skew
36
Disk Formatting (3)
• No interleaving
• Single interleaving
• Double interleaving
37
Disk Arm Scheduling Algorithms (1)
• Time required to read or write a disk
block determined by 3 factors
1. Seek time
2. Rotational delay
3. Actual transfer time
• Seek time dominates
• Error checking is done by controllers
38
Disk Arm Scheduling Algorithms (2)
Shortest Seek First (SSF) disk scheduling algorithm
Initial
position
Pending
requests
39
Disk Arm Scheduling Algorithms (3)
The elevator algorithm for scheduling disk requests
40
Error Handling
• A disk track with a bad sector
• Substituting a spare for the bad sector
• Shifting all the sectors to bypass the bad one
41
Stable Storage
Analysis of the influence of crashes on stable writes
42
Clocks
Clock Hardware
A programmable clock
43
Clock Software (1)
Three ways to maintain the time of day
44
Clock Software (2)
Simulating multiple timers with a single clock
45
Soft Timers
• A second clock available for timer interrupts
– specified by applications
– no problems if interrupt frequency is low
• Soft timers avoid interrupts
– kernel checks for soft timer expiration before it
exits to user mode
– how well this works depends on rate of kernel
entries
46
Character Oriented Terminals
RS-232 Terminal Hardware
• An RS-232 terminal communicates with computer 1 bit at a time
• Called a serial line – bits go out in series, 1 bit at a time
• Windows uses COM1 and COM2 ports, first to serial lines
• Computer and terminal are completely independent
47
• Central buffer pool
• Dedicated buffer for each terminal
Input Software (1)
48
Input Software (2)
Characters handled specially in canonical mode
49
Output Software
The ANSI escape sequences
• accepted by terminal driver on output
• ESC is ASCII character (0x1B)
• n,m, and s are optional numeric parameters
50
Display Hardware (1)
Memory-mapped displays
• driver writes directly into display's video RAM
Parallel port
51
Display Hardware (2)
• A video RAM image
– simple monochrome display
– character mode
• Corresponding screen
– the xs are attribute bytes
52
Input Software
• Keyboard driver delivers a number
– driver converts to characters
– uses a ASCII table
• Exceptions, adaptations needed for
other languages
– many OS provide for loadable keymaps
or code pages
53
Output Software for Windows (1)
Sample window located at (200,100) on XGA display
54
Output Software for Windows (2)
Skeleton of a Windows main program (part 1)
55
Output Software for Windows (3)
Skeleton of a Windows main program (part 2)
56
Output Software for Windows (4)
An example rectangle drawn using Rectangle
57
Output Software for Windows (5)
• Copying bitmaps using BitBlt.
– before
– after
58
Output Software for Windows (6)
Examples of character outlines at different point sizes
59
Network Terminals
X Windows (1)
Clients and servers in the M.I.T. X Window System
60
X Windows (2)
Skeleton of an X Windows application program
61
The SLIM Network Terminal (1)
The architecture of the SLIM terminal system
62
The SLIM Network Terminal (2)
Messages used in the SLIM protocol from the server to the terminals
63
Power Management (1)
Power consumption of various parts of a laptop computer
64
Power management (2)
The use of zones for backlighting the display
65
Power Management (3)
• Running at full clock speed
• Cutting voltage by two
– cuts clock speed by two,
– cuts power by four
66
Power Management (4)
• Telling the programs to use less energy
– may mean poorer user experience
• Examples
– change from color output to black and white
– speech recognition reduces vocabulary
– less resolution or detail in an image

More Related Content

Similar to I/O Hardware & Software Principles

PC Components.pptx
PC Components.pptxPC Components.pptx
PC Components.pptxElmerPogoy
 
PC Components.ppt
PC Components.pptPC Components.ppt
PC Components.pptRoyTari
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 finalKhalid Elmeadawy
 
SPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageSPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageMohammad Imam Hossain
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptxPratik Gohel
 
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_ArchitectureARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_ArchitectureRaahul Raghavan
 
System unit and ip cycle
System unit and ip cycleSystem unit and ip cycle
System unit and ip cycleAtif Nauman
 
Components of System Unit
Components of System UnitComponents of System Unit
Components of System UnitAfaq Siddiqui
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advancedImran Sheikh
 

Similar to I/O Hardware & Software Principles (20)

PC Components.ppt
PC Components.pptPC Components.ppt
PC Components.ppt
 
PC Components.pptx
PC Components.pptxPC Components.pptx
PC Components.pptx
 
PC Components.ppt
PC Components.pptPC Components.ppt
PC Components.ppt
 
Pc components
Pc componentsPc components
Pc components
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
CSC204PPTNOTES
CSC204PPTNOTESCSC204PPTNOTES
CSC204PPTNOTES
 
SPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming languageSPL 1 | Introduction to Structured programming language
SPL 1 | Introduction to Structured programming language
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
CPU Architecture
CPU ArchitectureCPU Architecture
CPU Architecture
 
Os introduction
Os introductionOs introduction
Os introduction
 
Os introduction
Os introductionOs introduction
Os introduction
 
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_ArchitectureARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
 
COMPUTER COMPONENTS
COMPUTER COMPONENTSCOMPUTER COMPONENTS
COMPUTER COMPONENTS
 
Comp hardware Introduction
Comp hardware IntroductionComp hardware Introduction
Comp hardware Introduction
 
System unit and ip cycle
System unit and ip cycleSystem unit and ip cycle
System unit and ip cycle
 
OS-Part-01.pdf
OS-Part-01.pdfOS-Part-01.pdf
OS-Part-01.pdf
 
Components of System Unit
Components of System UnitComponents of System Unit
Components of System Unit
 
Dsp ajal
Dsp  ajalDsp  ajal
Dsp ajal
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advanced
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

I/O Hardware & Software Principles

  • 1. 1 Input/Output Chapter 5 5.1 Principles of I/O hardware 5.2 Principles of I/O software 5.3 I/O software layers 5.4 Disks 5.5 Clocks 5.6 Character-oriented terminals 5.7 Graphical user interfaces 5.8 Network terminals 5.9 Power management
  • 2. 2 Principles of I/O Hardware Some typical device, network, and data base rates
  • 3. 3 Device Controllers • I/O devices have components: – mechanical component – electronic component • The electronic component is the device controller – may be able to handle multiple devices • Controller's tasks – convert serial bit stream to block of bytes – perform error correction as necessary – make available to main memory
  • 4. 4 Do you remember this? • Components of a simple personal computer Monitor Bus
  • 5. 5 Disk Controller • 256 sectors of 512 bytes • Controller sees a serial stream of bits – Preamble – Data – Error Correcting Code • Controller must assemble data bit stream into blocks, error correct, then copy to mem
  • 6. 6 Video Controller • Must control monitor hardware to scan CRT beam across each line (interlaced/non- interlaced), then go back to top left. • With controller, OS simply tells controller a few parameters (screen resolution, frequency,…) then controller takes care of the rest
  • 7. 7 Memory-Mapped I/O (1) • Separate I/O and memory space • Memory-mapped I/O • Hybrid
  • 8. 8 Memory-Mapped I/O (2) (a) A single-bus architecture (b) A dual-bus memory architecture
  • 9. 9 Direct Memory Access (DMA) Operation of a DMA transfer
  • 10. 10 Interrupts Revisited How interrupts happens. Connections between devices and interrupt controller actually use interrupt lines on the bus rather than dedicated wires
  • 11. 11 Principles of I/O Software Goals of I/O Software (1) • Device independence – programs can access any I/O device – without specifying device in advance · (floppy, hard drive, or CD-ROM) • Uniform naming – name of a file or device a string or an integer – not depending on which machine • Error handling – handle as close to the hardware as possible
  • 12. 12 Goals of I/O Software (2) • Synchronous vs. asynchronous transfers – blocked transfers vs. interrupt-driven • Buffering – data coming off a device cannot be stored in final destination • Sharable vs. dedicated devices – disks are sharable – tape drives would not be
  • 13. 13 Programmed I/O (1) Steps in printing a string
  • 14. 14 Programmed I/O (2) Writing a string to the printer using programmed I/O
  • 15. 15 Interrupt-Driven I/O • Writing a string to the printer using interrupt-driven I/O – Code executed when print system call is made – Interrupt service procedure
  • 16. 16 I/O Using DMA • Printing a string using DMA – code executed when the print system call is made – interrupt service procedure
  • 17. 17 I/O Software Layers Layers of the I/O Software System
  • 18. 18 Interrupt Handlers (1) • Interrupt handlers are best hidden – have driver starting an I/O operation block until interrupt notifies of completion • Interrupt procedure does its task – then unblocks driver that started it • Steps must be performed in software after interrupt completed 1. Save regs not already saved by interrupt hardware 2. Set up context for interrupt service procedure
  • 19. 19 Interrupt Handlers (2) 3. Set up stack for interrupt service procedure 4. Ack interrupt controller, reenable interrupts 5. Copy registers from where saved 6. Run service procedure 7. Set up MMU context for process to run next 8. Load new process' registers 9. Start running the new process
  • 20. 20 Device Drivers • Logical position of device drivers is shown here • Communications between drivers and device controllers goes over the bus
  • 21. 21 Device-Independent I/O Software (1) Functions of the device-independent I/O software Uniform interfacing for device drivers Buffering Error reporting Allocating and releasing dedicate devices Providing a deice-independent block size
  • 22. 22 Device-Independent I/O Software (2) (a) Without a standard driver interface (b) With a standard driver interface
  • 23. 23 Device-Independent I/O Software (3) (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
  • 24. 24 Device-Independent I/O Software (4) Networking may involve many copies
  • 25. 25 User-Space I/O Software Layers of the I/O system and the main functions of each layer
  • 26. 26 Disks Disk Hardware (1) Disk parameters for the original IBM PC floppy disk and a Western Digital WD 18300 hard disk
  • 27. 27 Disk Hardware (2) • Physical geometry of a disk with two zones • A possible virtual geometry for this disk
  • 28. 28 Disk Hardware (3) • Raid levels 0 through 2 • Backup and parity drives are shaded
  • 29. 29 Disk Hardware (4) • Raid levels 3 through 5 • Backup and parity drives are shaded
  • 30. 30 Disk Hardware (5) Recording structure of a CD or CD-ROM
  • 31. 31 Disk Hardware (6) Logical data layout on a CD-ROM
  • 32. 32 Disk Hardware (7) • Cross section of a CD-R disk and laser – not to scale • Silver CD-ROM has similar structure – without dye layer – with pitted aluminum layer instead of gold
  • 33. 33 Disk Hardware (8) A double sided, dual layer DVD disk
  • 35. 35 Disk Formatting (2) An illustration of cylinder skew
  • 36. 36 Disk Formatting (3) • No interleaving • Single interleaving • Double interleaving
  • 37. 37 Disk Arm Scheduling Algorithms (1) • Time required to read or write a disk block determined by 3 factors 1. Seek time 2. Rotational delay 3. Actual transfer time • Seek time dominates • Error checking is done by controllers
  • 38. 38 Disk Arm Scheduling Algorithms (2) Shortest Seek First (SSF) disk scheduling algorithm Initial position Pending requests
  • 39. 39 Disk Arm Scheduling Algorithms (3) The elevator algorithm for scheduling disk requests
  • 40. 40 Error Handling • A disk track with a bad sector • Substituting a spare for the bad sector • Shifting all the sectors to bypass the bad one
  • 41. 41 Stable Storage Analysis of the influence of crashes on stable writes
  • 43. 43 Clock Software (1) Three ways to maintain the time of day
  • 44. 44 Clock Software (2) Simulating multiple timers with a single clock
  • 45. 45 Soft Timers • A second clock available for timer interrupts – specified by applications – no problems if interrupt frequency is low • Soft timers avoid interrupts – kernel checks for soft timer expiration before it exits to user mode – how well this works depends on rate of kernel entries
  • 46. 46 Character Oriented Terminals RS-232 Terminal Hardware • An RS-232 terminal communicates with computer 1 bit at a time • Called a serial line – bits go out in series, 1 bit at a time • Windows uses COM1 and COM2 ports, first to serial lines • Computer and terminal are completely independent
  • 47. 47 • Central buffer pool • Dedicated buffer for each terminal Input Software (1)
  • 48. 48 Input Software (2) Characters handled specially in canonical mode
  • 49. 49 Output Software The ANSI escape sequences • accepted by terminal driver on output • ESC is ASCII character (0x1B) • n,m, and s are optional numeric parameters
  • 50. 50 Display Hardware (1) Memory-mapped displays • driver writes directly into display's video RAM Parallel port
  • 51. 51 Display Hardware (2) • A video RAM image – simple monochrome display – character mode • Corresponding screen – the xs are attribute bytes
  • 52. 52 Input Software • Keyboard driver delivers a number – driver converts to characters – uses a ASCII table • Exceptions, adaptations needed for other languages – many OS provide for loadable keymaps or code pages
  • 53. 53 Output Software for Windows (1) Sample window located at (200,100) on XGA display
  • 54. 54 Output Software for Windows (2) Skeleton of a Windows main program (part 1)
  • 55. 55 Output Software for Windows (3) Skeleton of a Windows main program (part 2)
  • 56. 56 Output Software for Windows (4) An example rectangle drawn using Rectangle
  • 57. 57 Output Software for Windows (5) • Copying bitmaps using BitBlt. – before – after
  • 58. 58 Output Software for Windows (6) Examples of character outlines at different point sizes
  • 59. 59 Network Terminals X Windows (1) Clients and servers in the M.I.T. X Window System
  • 60. 60 X Windows (2) Skeleton of an X Windows application program
  • 61. 61 The SLIM Network Terminal (1) The architecture of the SLIM terminal system
  • 62. 62 The SLIM Network Terminal (2) Messages used in the SLIM protocol from the server to the terminals
  • 63. 63 Power Management (1) Power consumption of various parts of a laptop computer
  • 64. 64 Power management (2) The use of zones for backlighting the display
  • 65. 65 Power Management (3) • Running at full clock speed • Cutting voltage by two – cuts clock speed by two, – cuts power by four
  • 66. 66 Power Management (4) • Telling the programs to use less energy – may mean poorer user experience • Examples – change from color output to black and white – speech recognition reduces vocabulary – less resolution or detail in an image