Presentation is loading. Please wait.

Presentation is loading. Please wait.

Semester Review Brian Kocoloski

Similar presentations


Presentation on theme: "Semester Review Brian Kocoloski"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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


Download ppt "Semester Review Brian Kocoloski"

Similar presentations


Ads by Google