Semester Review Brian Kocoloski

Slides:



Advertisements
Similar presentations
Memory management.
Advertisements

Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
Memory Management All data in memory before and after processing
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
1 Case Study 1: UNIX and LINUX Chapter History of unix 10.2 Overview of unix 10.3 Processes in unix 10.4 Memory management in unix 10.5 Input/output.
CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
Memory Management 2010.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CS-3013 & CS-502, Summer 2006 Review Topics1 CS-3013 & CS-502 Operating Systems.
03/22/2004CSCI 315 Operating Systems Design1 Virtual Memory Notice: The slides for this lecture have been largely based on those accompanying the textbook.
CS 153 Design of Operating Systems Spring 2015 Final Review.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
Solutions for the First Quiz COSC 6360 Spring 2014.
CS 153 Design of Operating Systems Spring 2015 Final Review 2.
Swap Space and Other Memory Management Issues Operating Systems: Internals and Design Principles.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Virtual Memory Implementation.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Consider the Java code snippet below. Is it a legal use of Java synchronization? What happens if two threads A and B call get() on an object supporting.
1/31/20161 Final Exam Dec 10. Monday. 4-7pm. Phelp 1160 Similar to midterm The exam is closed book. You can bring 2 page of notes (double sided) Nachos.
What is a Process ? A program in execution.
Test 2 Preparation. General Information Close book, close notes Review online course notes and read the book. You may work on some exercise problems at.
Disk Cache Main memory buffer contains most recently accessed disk sectors Cache is organized by blocks, block size = sector’s A hash table is used to.
Introduction to Kernel
Chapter 2: The Linux System Part 4
CE 454 Computer Architecture
CSE 451: Operating Systems
Chapter 11: File System Implementation
Chapter 12: File System Implementation
Midterm Review David Ferry, Chris Gill
Processes David Ferry, Chris Gill
Semester Review Chris Gill CSE 422S - Operating Systems Organization
Linux Virtual Filesystem
Virtual Memory Chapter 8.
OS Virtualization.
CSE 153 Design of Operating Systems Winter 2018
Evolution in Memory Management Techniques
Chapter 9: Virtual-Memory Management
Page Replacement.
Sarah Diesburg Operating Systems CS 3430
CSE 451: Operating Systems Spring 2005 Module 23 Course Review
CSE451 - Section 10.
Top Half / Bottom Half Processing
Kernel Synchronization I
Major Topics in Operating Systems
Midterm Review Brian Kocoloski
Kernel Synchronization II
Program Execution in Linux
CSE 451 Autumn 2003 November 13 Section.
Userspace Synchronization
Kernel Memory Chris Gill, David Ferry, Brian Kocoloski
Linux Block I/O Layer Chris Gill, Brian Kocoloski
CS333 Intro to Operating Systems
CSE 153 Design of Operating Systems Winter 2019
CSE 471 Autumn 1998 Virtual memory
CSE451 - Section 10.
Today’s agenda ~10min: file system (UNIX) ~1hr: final review + Q&A
CSE 153 Design of Operating Systems Winter 2019
BANKER’S ALGORITHM Prepared by, Prof
Processes David Ferry, Chris Gill, Brian Kocoloski
Buddy Allocation CS 161: Lecture 5 2/11/19.
Structure of Processes
Page Cache and Page Writeback
User-level Memory Chris Gill, David Ferry, Brian Kocoloski
Virtual Memory and Paging
CSE 542: Operating Systems
Components of a Linux System
Presentation transcript:

Semester Review Brian Kocoloski CSE 422S - Operating Systems Organization Washington University in St. Louis St. Louis, MO 63130

CSE 422S –Operating Systems Organization Final Exam 8-10 questions; types of questions same as midterm True/False Multiple Choice Open answer / code snippets Not cumulative -- covers only material since the midterm How you should study (in order from most to least important) Go back over the LKD text, consulting the slides as you go to reinforce the material Study the slides on paging and program execution/linking/layout, which are not covered in the LKD text Review the studios/labs to further reinforce concepts 8-10 am on Thursday, Dec 13th, Urbauer 218 Exam length similar to midterm, should be possible to complete the exam in 80 minutes though you have the full 120 should you need it CSE 422S –Operating Systems Organization

Core Concepts (Synchronization) LKD Ch 9 Critical Regions and Race Conditions (pp. 162) Causes of Concurrency (pp. 167) Note the difference between “true” concurrency - i.e., parallelism – and concurrency Deadlock (pp. 169) LKD Ch 10 Atomic hardware operations How to build a spinlock with atomic instructions When to use spinlocks vs. semaphores/mutexes (pp. 197) CSE 422S –Operating Systems Organization

Core Concepts (Virtual Memory) Slides from Mon, Oct. 29th What does the kernel need to do to handle memory allocation (mmap or brk) system calls? What is the difference between prepaging and demand paging Why does Linux use the latter? Understand how VA->PA translations work via the page tables CSE 422S –Operating Systems Organization

Core Concepts (Kernel Memory) LKD Ch 12 Difference between physically contiguous and virtually contiguous memory allocators kmalloc() vs vmalloc() When should vmalloc be chosen over kmalloc? What is the purpose of the slab allocator? (pp. 245) CSE 422S –Operating Systems Organization

Core Concepts (Address Spaces+ Shared Memory) LKD Ch 15 Understand information presented in /proc/<pid>/maps (pp. 314) Short discussion on paging and page tables (pp. 320) Review Studio 13 How to set up shared memory regions via shm functions and mmap() CSE 422S –Operating Systems Organization

Core Concepts (Program Execution, Linking, and Layout) Slides from Wed, Nov 7th Performance differences between static and dynamic linking Usage of PLT and GOT for performing dynamic linking/loading CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Core Concepts (I/O) LKD Ch 13 Understand at a high level the information managed in the 4 VFS objects: Superblock, inode, dentry, and file (pp. 265) LKD Ch 14 I/O schedulers (pp. 297) Prioritization of reads over writes (why?) LKD Ch 16 High level idea behind page cache Temporal and spatial locality Understand the two-list LRU approach (pp. 325) CSE 422S –Operating Systems Organization

Core Concepts (Post-Midterm) Kernel synchronization Virtual Memory Atomic Variables - Process address spaces Mutexes - Page tables Spinlocks - Copy-on-write via page tables Race Conditions - What page tables of different threads of the same process look like Kernel memory Shared Memory Page level management Only use kernel to map initially and unmap after done Kernel virtual to physical address translation Use same physical memory Map to (different) virtual addresses in the processes CSE 422S –Operating Systems Organization

Core Concepts (Post-Midterm) VFS layer Superblocks, filesystems, paths, namespaces, inodes, directory entries Page cache and writeback Directory entry hierarchy Mapping files into memory Block I/O layer Read/write caching Eviction strategies Character vs. block devices Flusher threads, writebacks I/O scheduling algorithms CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Example Question #1 Why are disk I/O schedulers sometimes called “elevators?” (4 points) Why do most I/O schedulers merge requests that target adjacent data blocks? (3 points) Why does Linux cache write requests in memory, rather than always writing them directly back to disk? (3 points) CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Example Question #2 User-space programs may be linked either statically or dynamically Describe the differences between static and dynamic linking. In your answer, consider the following metrics: size of the resulting binaries, speed of linking, speed of loading into memory Was this process statically or dynamically linked, and how can you tell? CSE 422S –Operating Systems Organization

CSE 422S –Operating Systems Organization Example Question #3 Please circle the letter next to each of the following descriptions that illustrates the idea of “lock data, not code” (4 points). Put locks around a sequence of reads and writes to same memory location Make critical sections as long as possible Lock a data structure when accessing or removing elements Use a mutex around a function implementing a complex sequence of operations on multiple pieces of shared data CSE 422S –Operating Systems Organization