Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
-
Upload
gavin-howard -
Category
Documents
-
view
215 -
download
0
Transcript of 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 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 smallResolution: 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
Input & Output Device types
Block DeviceStores fixed size block Independently addressabledisks
Character DevicesStream of charactersNo seek operation, not addressableKeyboard, printer, n/w interface
Device Controllers I/O devices have components:
mechanical component electronic component
The electronic component is the device controllermay be able to handle multiple devices
Controller's tasksconvert serial bit stream to block of bytesperform error correction as necessarymake 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 namingname of a file or device a string or an integernot depending on which machine
Error handlinghandle as close to the hardware as possible
Goals of I/O Software (cont’d) Synchronous vs. asynchronous
transfersblocked transfers vs. interrupt-driven
Bufferingdata coming off a device cannot be stored
in final destination Sharable vs. dedicated devices
disks are sharable tape drives would not be
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
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