Final Exam Review CS 351: Systems Programing Michael Saelee - - PowerPoint PPT Presentation

final exam review
SMART_READER_LITE
LIVE PREVIEW

Final Exam Review CS 351: Systems Programing Michael Saelee - - PowerPoint PPT Presentation

Final Exam Review CS 351: Systems Programing Michael Saelee <lee@iit.edu> Coverage - Memory hierarchy - Caching - Virtual Memory - Dynamic Memory Allocation - Garbage Collection - I/O Memory Hierarchy - types & relative speeds


slide-1
SLIDE 1

Final Exam Review

CS 351: Systems Programing Michael Saelee <lee@iit.edu>

slide-2
SLIDE 2

Coverage

  • Memory hierarchy
  • Caching
  • Virtual Memory
  • Dynamic Memory Allocation
  • Garbage Collection
  • I/O
slide-3
SLIDE 3

Memory Hierarchy

  • types & relative speeds of memory
  • motivation for hierarchical design
  • temporal & spatial locality
  • registers vs. cache (code vs. hardware memory optimization)
slide-4
SLIDE 4

Caching

  • Direct-mapped / Fully-associative / Set-associative
  • Hit/Miss rates
  • Write policies: write-through/back; write-around/allocate
  • Multi-level caching
  • Cache optimization
slide-5
SLIDE 5

Virtual Memory

  • Roles of MMU & OS
  • Impls: Simple relocation / Segmentation / Paging (pros/cons)
  • Motivation for TLB
  • Multi-level paging
  • Page size / Page table size computations
slide-6
SLIDE 6

Dynamic Memory Allocation

  • Basic (C) API
  • Role of OS vs. User in memory/heap management
  • “Self-describing” block features: metadata + payload
  • Impls: Implicit list / Explicit list / Segmented fits (pros/cons)
  • Metrics: throughput & utilization
slide-7
SLIDE 7

Garbage Collection

  • Motivation
  • Impls: reference counting vs. garbage collection (pros/cons)
  • Conservative GC in C (why?)
  • Mark & Sweep implementation
slide-8
SLIDE 8

I/O

  • Unix FS as namespace architecture
  • V-node → OFD → FD breakdown: architecture & motive
  • I/O buffering: motive & effects
slide-9
SLIDE 9

Written Problems

  • Cache hit/miss rate computation (i.e., cache simulation)
  • VM → PM translation & Cache lookup
  • Malloc/Free implementation (based on implicit list)
  • Garbage collection (mark & sweep)