- Abstract view
- Job Interleaving
- Memory Layout; Simple Batch, Multi Programming
- SMP architecture, Client-Server
- Fetch and Execute
- Cache Memory
- Top-level Components, Pentium System
- Going down the hierarchy
- Interrupt
- Interrupt Cycle
- Interrupt Picture
- System Call
- OS Architecture
- UNIN System initilization
- OS Structures, MS-DOS, Unix, IBM VM/370, Chorus
- System Calls
- A UNIX Process Context
- Process Control Block (PCB), Processes from main memory to registers.
- CPU Switch From Process to Process
- Diagram of Process State
- Single and Multithreaded Processes
- Threads and Processes
- A word processor with three threads, a multithreaded web server
- Thread Models; Many-to-One, One-to-One, Many-to-Many
- Mutual exclusion using critical regions
- A proposed solution to the CR problem. (a) Process 0, (b) Process 1
- Peterson' solution for achieving mutual exclusion
- The producer-consumer problem with a fatal race problem
- The producer-consumer problem using semaphore
- A monitor
- The producer-consumer problem with a monitor.
- Lunch time in the Philosophy Department.
- A solution to the dining philosophers problem.
- A solution to the readers and writers problem.
- A solution to the sleeping barber problem.
- Some goals of the scheduling algorithm under different circumstances.
- An example to First-Come First Served.
- An example to Shortest Job First.
- Example of non-preemptive SJF and example of preemptive SJF.
- An example to Round Robin.
- An example to Priority-based Scheduling.
- Multi-level queue and Multi-level feedback queue (lower).
- An example to Deadlock.
- Resource Allocation Graphs, in the right one, either or could relinquish a resource allowing or (which are currently blocked) to continue.
- An example of how deadlock occurs and how it can be avoided.
- Two process resource trajectories.
- Demonstration that the state in is safe (upper), and in is not safe (lower).
- Allocating Memory.
- From source to executable code.
- Three simple ways of organizing memory with an operating system and one user process.
- (a) Fixed memory partitions with separate input queues for each partition. (b) Fixed memory partitions with a single input queues.
- Address Translation.
- Swapping.
- (a) A part of memory with five processes and three holes. The tick marks show the memory allocation units. The shaded region (0 in the bitmap) are free. (b) The corresponding bitmap. (c) The same information as a list.
- The relation between virtual address and physical memory addresses is given by a page table.
- The position and function of the MMU.
- Page fault handling by picture.
- Memory Caching.
- The internal operation of the MMU with 16 4-KB pages.
- Page Replacement.
- Trashing.
- Logical View of Segmentation (left) , User's View of a Program (right).
- Example of Segmentation
- Sharing of Segmentation
- Intel 386 Address Translation
- A kernel I/O structure.
- Evolution of the I/O Function
- a) Separate I/O and memory space. b) Memory-mapped I/O. c) Hybrid.
- a) A single-bus architecture. b) A dual-bus memory architecture.
- The Process to Perform DMA Transfer.
- How interrupts happen. The connections between devices and interrupt controller actually use interrupt lines on the bus rather than dedicated wires.
- a) Programmed I/O. b) Interrupt-Driven I/O. c) Direct Memory Access.
- Layers of the I/O Software System.
- Logical positioning of device drivers. In reality all communications between drivers and device controllers goes over the bus.
- (a) Without a standard driver interface (b) With a standard driver interface.
- (a) Unbuffered input (b) Buffering in user space (c) Single buffering in the kernel followed by copying to user space (d) Double buffering in the kernel.
- Networking may involve many copies.
- Disk Structure.
- Left: (a) Physical geometry of a disk with two zones (b) A possible virtual geometry for this disk, Right: Disk parameters for the original IBM PC floppy disk and a Western Digital WD 18300 hard disk.
- Disk Performance.
- Left: Low-level Disk Formatting; A disk sector, Right: An illustration of cylinder skew.
- a) No interleaving b) Single interleaving c) Double interleaving.
- From left to right: First-in, First-out (FIFO); Shortest Seek Time First; Elevator Algorithm (SCAN); Modified Elevator (Circular SCAN, C-SCAN)
- a) A disk track with a bad sector b) Substituting a spare for the bad sector c) Shifting all the sectors to bypass the bad one.
- Some typical file extensions.
- Three kinds of files. (a) byte sequence. (b) record sequence. (c) tree.
- (a) An executable file (b) An archive.
- Some possible file attributes.
- File operations.
- A simple program to copy a file.
- Left: (a) Segmented process before mapping files into its address space (b) Process after mapping
existing file abc into one segment creating new segment for xyz. Right: Memory mapped files and paging
- Fundamental File Organizations; (a) Pile (b) Sequential (c) Indexed Sequential (d) Indexed.
- IBM indexed-sequential access method (ISAM).
- (a) Single-Level Directory Systems (b) Two-Level Directory Systems (c) Hierarchical Directory Systems.
- Example to (a) Single-Level Directory Systems (b) Two-Level Directory Systems (c) Hierarchical Directory Systems.
- The solid curve (left hand scale) gives data rate of a disk. The dashed curve (right hand scale) gives disk space efficiency. All files 2KB (an approximate median file size).
- Left: A possible file system layout. Right: File Allocation Table.
- (a) Contiguous allocation (b) Contiguous allocation with compaction (c) Storing a file as a linked list of disk blocks (d) Storing a file as a linked list of disk blocks with defragmentation (e) Alternative representation of chained allocation (f) Linked list allocation using a file allocation table in main memory.
- (a) Indexed allocation with block partitions (b) Indexed allocation with variable-length partitions (c) An example of i-node.
- Left: (a) A simple directory containing fixed-sized entries
with the disk addresses and attributes in directory entry (b) A directory in which each entry just refers to an inode. Right: Two ways of handling long file names in directory (a) Inline (b) In a heap.
- Left: File system containing a shared file. Right: (a) Situation prior to linking (b) After the link is created (c)After the original owner removes the file.
- (a) Storing the free list on a linked list (b) A bit map.
- Inode contents.
- Left: Direct Block. Right: Single Indirect Block
- Upper: System V Disk Layout (s5fs). Middle: Layout of an Ext2 Partition. Lower: Layout of a Block Group.
2004-05-25