Download presentation
Presentation is loading. Please wait.
Published byJean Tate Modified over 9 years ago
1
© 2004, D. J. Foreman 1 Device Mgmt
2
© 2004, D. J. Foreman 2 Device Management Organization Multiple layers ■ Application ■ Operating System ■ Driver ■ Controller ■ Device Tradeoffs of layering ■ Loss of efficiency ■ Increased generalization and flexibility ■ Reduced cost of maintenance and development for all (driver writers, O/S writers, app writers and users)
3
© 2004, D. J. Foreman 3 Device Management Organization-2 O/S API Applications Controller Firmware Devices Device Driver Device independent Device dependent read, write
4
© 2004, D. J. Foreman 4 The API Simple set of abstract I/O operations ■ read, write, seek, control Direct vs Sequential ■ Disks vs tapes, printers, etc Block vs Character ■ Disk vs keyboard Blocking vs Non-blocking ■ Synchronous - request I/O & wait for it ■ Asynchronous - request I/O & continue to run
5
© 2004, D. J. Foreman 5 Handling I/O Polling ■ Program loops until device signals completion ■ No other program can run ■ CPU runs, but no work gets done! Interrupt driven ■ Program starts I/O ■ Program decides to wait or not ■ O/S switches to another thread or process
6
© 2004, D. J. Foreman 6 Key concepts CPU cycles are wasted during an I/O wait Devices are independent of CPU Why not overlap I/O with CPU? ■ Program can decide when to wait ■ System throughput can be increased
7
© 2004, D. J. Foreman 7 Driver/Kernel Interface Drivers may be merged with kernel Kernel makes function calls to drivers Kernel functions used by drivers: ■ Device allocation ■ Resource (e.g., memory) allocation ■ Scheduling ■ Others: depends on O/S
8
© 2004, D. J. Foreman 8 System bottlenecks Compute bound processes ■ very little I/O activity ■ nothing else runs until time-slice used up I/O bound processes ■ very little CPU activity Solution: ■ "Good" mix of applications ■ Pre-emptive scheduling (more later)
9
© 2004, D. J. Foreman 9 Overlapped I/O Apps t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 t7t7 t8t8 t9t9 Device th1 Blockin g I/O Non- Blockin g I/O th2 P1 P2 th0 th1's time slice ends th1 & th2 overlapping
10
© 2004, D. J. Foreman 10 Buffering Provides a means for speed-matching Many methods ■ Lists 1 way, 2 way, circular ■ Arrays Fixed size Variable size Circular Problems ■ Overflow ■ Protected access ■ Synchronization – more in another chapter
11
© 2004, D. J. Foreman 11 Example of using buffers Water CompanyCustomer Office Water Consumers Water Producer Delivering Water Returning the Empties Production qty? Consumption qty? Inventory Classic "Producer-Consumer"
12
© 2004, D. J. Foreman 12 Hardware Buffering In the Device controller In the Device itself = "double-buffering" Reduces system overhead from: ■ Buffer mgmt ■ Buffer content ■ Synchronizing
13
© 2004, D. J. Foreman 13 Disk I/O Goal – minimize access time ■ Mixed solution: h/w & s/w = (X + Y*K) + latency + transfer Seek time: head movement delay ■ for 1 cylinder (X) ≈ 10 ms(device dependent) ■ For Y cylinders = Y * K (K is device dependent) Latency: rotational delay ■ 5400R/M*1M/60s= 90R/s .01 s/R = 10ms/R ■ 7200 R/M*1M/60s=120R/s .008 s/R= 8ms/R Transfer time: delay between disk and RAM ■ Bus speed (currently) 400 Mhz or 800 Mhz Access Time = seek + latency + transfer
14
© 2004, D. J. Foreman 14 Access Algorithms FCFS ■ No optimization SSTF – min seek from current position ■ Starvation can occur (from local minimization) Scan/Look ■ No starvation ■ Requests may wait a full scan (0-n-0) Circular Scan/Look ■ No starvation ■ Requires fast-reposition to 0
15
© 2004, D. J. Foreman 15 Serial I/O Must convert ■ Parallel (bytes) to serial (bit-by-bit) ■ Digital (1/0) to analog (+/- voltages) And back again at the other end Protocol: RS-232
16
© 2004, D. J. Foreman 16 Mainframe Device Mgmt CPU Channel Controller Hardware Devices
17
© 2004, D. J. Foreman 17 Channel programming SIOdevaddr Channel Address Word Channel Program Seek Search Read/write Device
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.