CSCI 346 Operating Systems--Spring 2011

    Home | | Schedule | | Assignments | | Lecture Notes

    Topics for Final Exam:
    This sheet is intended to help you prepare for the final exam in this course. The exam will cover the entire course, however it will emphasize the things covered since the midterm, chapters 5 - 9 of your textbook. You should study your class notes, textbook readings, handouts, and homeworks. The exam will be open book and open note.

    The following topics have been covered since the midterm. Each of the following topics may appear on the exam.

    Scheduling
    	Multilevel Queues
    	Multilevel Feedback Queues
    	Scheduling Multiple Processors
    	Algorithm evaluation
    		Deterministic Modeling
    		Queueing Analysis
    		Simulations
    		Implementation
    Process Synchronization
    	Atomic Operations
    	Concurrency problem
    	Critical Section
    	Busy Waiting
    	Mutual Exclusion
    	Deadlock
    	Starvation
    	Solutions to Critical Section problem
    	Bakery algorithm
    	Hardware solutions (e.g. testandset)
    	Semaphores
    		Using semaphores
    		Implementation of semaphores
    	Bounded Buffer Problem
    	Readers Writers problem
    	Dining Philosophers Problem
    	Critical Regions
    	Monitors
    Deadlock
    	Deadlock Characterization
    		4 conditions that must hold
    	Resource allocation graph
    	Deadlock prevention
    	Deadlock avoidance
    		Safe State
    		Resource Allocation Graph algorithm
    		Banker's algorithm (and Safety Algorithm)
    	Deadlock Detection
    		Wait-for graphs
    	Recovery from deadlock
    		Process termination
    		Resource pre-emption
    Memory management
    	Binding of addresses
    	Logical vs. Physical address space
    	Memory management unit (MMU)
    	Dynamic loading and linking
    	Overlays
    	Swapping
    	Contiguous allocation
    	Dynamic storage allocation
    		Holes
    		Best Fit, First Fit, Worst Fit
    	External and Internal Fragmentation
    	Compaction
    	Paging
    		Pages and Frames
    		Page number and offset in address
    		Allocation of frames
    		Fragmentation with paging
    		Implementation of Page Table
    		Translation Look-Aside Buffer (TLB)
    		Effective Access Time (EAT)
    		Memory protection (valid/invalid bit)
    		Hierarchical page tables
    		Hashed Page Tables
    		Inverted Page Tables
    		Shared Pages
    	Segmentation
    		Base and limit entries
    		Protection
    		Sharing
    		Fragmentation
    	Segmentation vs. Paging
    Virtual Memory
    	Definition and Benefits
    	Demand paging
    	Page Fault
    	Locality of Reference
    	EAT for demand paging
    	Copy on Write
    	Memory Mapped files
    	Over-allocation of memory
    	The Modify (Dirty) Bit
    	Page Replacement algorithms
    		FIFO
    		Optimal
    		Least Recently Used (LRU)
    	Frame allocation
    		Fixed vs. Priority allocation
    		Global and Local allocation
    	Thrashing
    		Working Set Model
    		Page Fault Frequency Scheme