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
Segmentation vs Paging? Paging is incidental Page-data is heterogeneous Statically Sized Segments are intentional Segment data is homogenous Dynamically Sized
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 2 18 segments 2 16 Pages With 36-bit entries 2 34 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 Uniform interfacing for device drivers Buffering Error reporting Allocating and releasing dedicated devices Providing a device-independent block size
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 & I/O Devices Goals of I/O in O/S to 5.4 Disks