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 operations ■ read, write, seek, control  Direct vs Sequential ■ Disks vs tapes, printers, etc  Block vs Character ■ Disk vs keyboard  Blocking vs Non-blocking

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 a wait  Devices are independent  Multitasking (or threading) is possible  Why not overlap I/O with CPU  Threads can decide when to wait  Non-thread programs can also decide  System throughput is increased

7 © 2004, D. J. Foreman 7 Driver/Kernel Interface  Drivers 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 ■ no devices get started until time-slice used up ■ Only one process/thread gets service  I/O bound processes ■ CPU under-utilized  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

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 MS-bootable disk layout 0x00-0x02 jump inst to 0x1e 0x03-0x0aPC manufacturer name 0x0b-0x0csectors/cluster 0x0d-0x0freserved for boot record 0x10-0x10# of FAT's 0x11-0x12# root directory entries 0x13-0x14# logical sectors 0x15-0x15media descriptor 0x16-0x17sectors/FAT 0x18-0x19sectors/track 0x1a-0x10b # surfaces (heads) 0x1c-0x1d# hidden sectors 0x1e-…boot program

17 © 2004, D. J. Foreman 17 Mainframe Device Mgmt CPU Channel Controller Hardware Devices

18 © 2004, D. J. Foreman 18 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