class: center, middle, title-slide ## CSCI 340 Operating Systems ### Final Exam Topics
.license[ Copyright 2020 Stewart Weiss. Unless noted otherwise all content is released under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). Background image: roof of the EPIC Museum, Dublin, by Stewart Weiss. ] --- name: cc-notice template: default layout: true .bottom-left[© Stewart Weiss. CC-BY-SA.] --- name: tinted-slide template: cc-notice layout: true class: tinted --- name: scheduling ### Scheduling - Scheduling algorithms: FIFO, RR, Priority, SJF - System Contention Scope - Process Contention Scope - Multiprocessor Scheduling Issues - Logical Versus Physical Processors - Asymmetric Multiprocessing System Scheduling - Symmetric Multiprocessor Scheduling - Shared Ready Queues - Per-Processor Ready Queues - Load Balancing - Migration Issues - Processor Affinity - NUMA Nodes - Hardware Multithreading --- name: synchronization-tools ### Synchronization Tools - Synchronization Mechanisms - Race Conditions - Preemptive and Re-entrant Kernels - The Critical Section Problem - The Conditions A Solution Must Satisfy - Peterson's Algorithm - Hardware Support for Critical Section Solutions - Bus locking - Hardware Primitives - The Test-and-Set Instruction - Compare-and-Swap Instruction - Spinlocks - Bounded Waiting Using Locks - Atomic Variables - Mutex Locks - Semaphores - Binary Semaphores for Mutual Exclusion - Counting Semaphores - Liveness Properties - Priority Inversion --- ### Synchronization Problems - The Bounded Buffer Problem - Producer and Consumer Problem - The Readers-Writers Problem - Alternative Preferences in Readers Writers Problem - Reader-Writer Locks - The Dining Philosophers Problem - A Naive Solution Using Semaphores - Synchronization in the Modern Linux Kernel - Spinlocks in Linux - Mutexes in Linux - Semaphores in Linux --- name: deadlock ### Deadlock - Examples of Deadlock - Formal Model of a Resource Allocation System - Reusable Resource Graphs - Characterizing Deadlock: Four Necessary Conditions - Circular Waiting and Cycles: Theorems - Prevention Methods - Avoidance Algorithms - Safe and Unsafe System States - The Banker's Algorithm - Deadlock Detection - --- name: memory ### Memory Management - Hardware Address Protection with Base and Limit Registers - Binding Times - Logical versus Physical Addresses - Paging: All Aspects covered in the slides hardware, translation, page tables, memory protection, finding and maintaining frames, etc., sharing of pages - Hierarchical Paging - TLBs and their use with paging - Demand Paging: all aspects covered in class and in the slides