Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2004, D. J. Foreman 1 Device Mgmt. © 2004, D. J. Foreman 2 Device Management Organization  Multiple layers ■ Application ■ Operating System ■ Driver.

Similar presentations


Presentation on theme: "© 2004, D. J. Foreman 1 Device Mgmt. © 2004, D. J. Foreman 2 Device Management Organization  Multiple layers ■ Application ■ Operating System ■ Driver."— Presentation transcript:

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


Download ppt "© 2004, D. J. Foreman 1 Device Mgmt. © 2004, D. J. Foreman 2 Device Management Organization  Multiple layers ■ Application ■ Operating System ■ Driver."

Similar presentations


Ads by Google