280 likes | 362 Views
Segmentation & O/S Input/Output. Chapter 4 & 5 Tuesday, April 3 , 2007. Today’s Schedule. Memory Management - Chapter 4 Segmentation Multics & Intel Pentium – Segmentation & Paging Input/Output Device Types Goals of I/O Devices for O/S Layers of I/O s/w System. Objectives.
E N D
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3 , 2007
Today’s Schedule • Memory Management - Chapter 4 • Segmentation • Multics & Intel Pentium – Segmentation & Paging • Input/Output • Device Types • Goals of I/O Devices for O/S • Layers of I/O s/w System
Objectives You will be able to describe: • Advantages of Segmentation for Memory management • Types of I/O Devices • Goals of I/O Software from O/S view • Layers of I/O s/w and what happens in each
What is Segmentation? • Having two or more separate virtual address spaces • Provide several independent address spaces called segments • Each segment goes from 0 to some max • Segments can have varying lengths • Length can change during execution • Programmer will now have to specify the segment number • Can now use one segment for shared libraries
Segmentation • One-dimensional address space with growing tables • One table may bump into another
Segmentation – Logical View Allows each table to grow or shrink, independently
Paging is incidental Page-data is heterogeneous Statically Sized Segments are intentional Segment data is homogenous Dynamically Sized Segmentation vs Paging?
Pure Segmentation • Segment size varies and changes • External Fragmentation • Also called “Checkerboarding” • Swapping large segments for small • Resolution: Compaction
Implementation of Pure Segmentation Removal of the checkerboarding by compaction
MULTICS Implementation • Similar to Multi-Level Paging • Address contains Segment # for table • Segment table holds Segment Descriptors • Descriptor contains page table location • Standard Page Table • Has 218 segments • 216 Pages With 36-bit entries • 234 Total Pages
Segmentation with Paging: MULTICS • Descriptor segment points to page tables • Segment descriptor – numbers are field lengths
Segmentation with Paging: MULTICS A 34-bit MULTICS virtual address
Segmentation with Paging: MULTICS Conversion of a 2-part MULTICS address into a main memory address
Input & Output Device types • Block Device • Stores fixed size block • Independently addressable • disks • Character Devices • Stream of characters • No seek operation, not addressable • Keyboard, printer, n/w interface
I/O Hardware Some typical device, network, and data base rates
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
Goals of I/O Software • 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
Goals of I/O Software (cont’d) • 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
I/O Software Layers Layers of the I/O Software System
Interrupt Handlers • 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
Device Drivers • Logical position of device drivers is shown here • Communications between drivers and device controllers goes over the bus
Device-Independent I/O Software Functions of the device-independent I/O software
Device-Independent I/O Software (a) Without a standard driver interface (b) With a standard driver interface
Device-Independent I/O Software (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
Summary User-Space I/O Software Layers of the I/O system and the main functions of each layer
Summary • Advantages of Segmentation for Memory management • Types of I/O Devices • Goals of I/O Software from O/S view • Layers of I/O s/w and what happens in each
Thursday, April 5 • Read Chapter 5 • 5.1.1 & 5.1.2 I/O Devices • 5.2.1 Goals of I/O in O/S • 5.3.1 to 5.3.3 • 5.4 Disks