CSE 451: Operating Systems Autumn 2013 Module 28 Course Review Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska, Levy,

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

CAS3SH3 Midterm Review. The midterm 50 min, Friday, Feb 27 th Materials through CPU scheduling closed book, closed note Types of questions: True & False,
Operating Systems Review.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
Computer Systems/Operating Systems - Class 8
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Operating Systems Review. Questions What are two functions of an OS? What “layer” is above the OS? What “layer” is below the OS?
CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Operating Systems Review. Questions What are two functions of an OS? What “layer” is above the OS? What “layer” is below the OS?
Computer Organization and Architecture
Operating Systems Review. Questions What are two functions of an OS? What “layer” is above the OS? What “layer” is below the OS?
Operating Systems Review. Questions What are two functions of an OS? What “layer” is above the OS? What “layer” is below the OS?
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Chapter 3 Memory Management: Virtual Memory
Exam Review cs550 Operating Systems. Preliminary Information Exam will focus on new content, but old content is still fair game. Exam format will be the.
Silberschatz and Galvin  Chapters 3 and 5 Possible questions –Tracing a given program involving fork, exec, semaphores, and share memory –Wring.
CS 153 Design of Operating Systems Spring 2015 Final Review.
CS 153 Design of Operating Systems Spring 2015 Midterm 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.
Chapter 1 Computer System Overview Sections 1.1 to 1.6 Instruction exe cution Interrupt Memory hierarchy Cache memory Locality: spatial and temporal Problem.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
CSE 451: Operating Systems Section 5 Midterm review.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
CSE 451: Operating Systems Spring 2012 Module 16 BSD UNIX Fast File System Ed Lazowska Allen Center 570.
1 Rutgers UniversityCS 416: Operating Systems Final exam details December 22, pm-3pm. Venue: SEC 118. Tips: Spend time reading the questions before.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
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.
IT 344: Operating Systems Winter 2010 Module 23 Course Review Chia-Chi Teng CTB 265.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Exam Review Andy Wang Operating Systems COP 4610 / CGS 5675.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Week 10 March 10, 2004 Adrienne Noble. Important Dates Project 4 due tomorrow (Friday) Final Exam on Tuesday, March 16, 2:30- 4:20pm.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
CMPT 300: Operating Systems Course Summary THIS SUMMARY SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
Chapters 3 and 5 Possible questions
Section 10: Last section! Final review.
CSE 451: Operating Systems Spring 2012 Module 28 Course Review
CSE 451: Operating Systems
Operating System (OS) QUESTIONS AND ANSWERS
Section 10: Last section! Final review.
Chapter 15 – Part 1 The Internal Operating System
CSE 451: Operating Systems Winter 2007 Module 24 Course Review
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Sarah Diesburg Operating Systems CS 3430
CSE 451: Operating Systems Spring 2005 Module 23 Course Review
Exam Review Mark Stanovich Operating Systems COP
CSE 451: Operating Systems Autumn 2010 Module 27 Course Review
CSE 451: Operating Systems Spring 2005 Module 23 Course Review
CSE451 - Section 10.
CSE 451: Operating Systems Autumn 2005 Memory Management
Operating Systems Lecture 1.
Andy Wang Operating Systems COP 4610 / CGS 5675
Major Topics in Operating Systems
CSE 451: Operating Systems Autumn 2009 Module 26 Course Review
February 5, 2004 Adrienne Noble
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CSE 451: Operating Systems Winter 2006 Module 24 Course Review
CSE451 - Section 10.
CSE 153 Design of Operating Systems Winter 2019
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Sarah Diesburg Operating Systems COP 4610
Andy Wang Operating Systems COP 4610 / CGS 5675
CSE 542: Operating Systems
Presentation transcript:

CSE 451: Operating Systems Autumn 2013 Module 28 Course Review Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska, Levy, Zahorjan

2 Architectural Support Privileged instructions –what are they? –how does the CPU know whether to execute them? –why do they need to be privileged? –what do they manipulate? Protected memory –what are the various ways it can be implemented? System call –what are the steps in handling? Interrupts, exceptions, traps –definition of each –what are the steps in handling each?

© 2013 Gribble, Lazowska, Levy, Zahorjan 3 OS Structure What are the major components of an OS? How are they organized? –what is the difference between monolithic, layered, microkernel OS’s? advantages and disadvantages?

© 2013 Gribble, Lazowska, Levy, Zahorjan 4 Processes What is a process? What does it virtualize? –differences between program, process, thread? –what is contained in process? what does PCB contain? PCB vs. address space –state queues? which states, what transitions are possible? when do transitions happen? Process manipulation –what does fork() do? how about exec()? –how do shells work?

© 2013 Gribble, Lazowska, Levy, Zahorjan 5 Threads What is a thread? –why are they useful? –what’s the address space look like? –TCB vs. PCB –user-level vs. kernel-level threads? performance implications functionality implications How does thread scheduling differ from process scheduling? –what operations do threads support? –what happens on a thread context switch? what is saved in TCB? –preemptive vs. non-preemptive scheduling?

© 2013 Gribble, Lazowska, Levy, Zahorjan 6 Scheduling Long term vs. short term When does scheduling happen? –job changes state, interrupts, exceptions, job creation Scheduling goals? –maximize CPU utilization –maximize job throughput –minimize {turnaround time | waiting time | response time} –batch vs. interactive: what are their goals? What is starvation? what causes it? FCFS/FIFO, SPT, SRPT, priority, RR, MLFQ…

© 2013 Gribble, Lazowska, Levy, Zahorjan 7 Synchronization Why do we need it? –data coordination? execution coordination? –what are race conditions? when do they occur? –when are resources shared? (variables, heap objects, …) What is mutual exclusion? –what is a critical section? –what are the requirements of critical sections? mutex, progress, bounded waiting, performance –what are mechanisms for programming critical sections? locks, semaphores, monitors, condition variables

© 2013 Gribble, Lazowska, Levy, Zahorjan 8 Locks What does it mean for acquire/release to be atomic? how can locks be implemented? –spinlocks? interrupts? OS/thread-scheduler? –test-and-set? –limitations of locks?

© 2013 Gribble, Lazowska, Levy, Zahorjan 9 Semaphores and Monitors Semaphores –basic operations: wait vs. signal? –difference between semaphore and lock? –when and how do threads block on semaphores? when do they wake? –bounded buffers problem producer/consumer –readers/writers problem –how is all of this implemented moving descriptors on and off queues Monitors –the operations and their implementation

© 2013 Gribble, Lazowska, Levy, Zahorjan 10 Understand clearly the queue manipulations involved in implementing semaphores, monitors, condition variables, etc.

© 2013 Gribble, Lazowska, Levy, Zahorjan 11 Deadlock static prevention, dynamic avoidance, detection/recovery tradeoffs among these graph reducibility approaches –Hold and wait –Resource ordering –Banker’s algorithm –Detect and eliminate

© 2013 Gribble, Lazowska, Levy, Zahorjan 12 Memory Management Mechanisms for implementing memory management –physical vs. virtual addressing –base/limit registers –partitioning, paging, segmentation Internal and external fragmentation

© 2013 Gribble, Lazowska, Levy, Zahorjan 13 Paged Virtual Memory Virtual memory Page faults Demand paging –don’t try to anticipate Page replacement –local, global, hybrid Locality –temporal, spatial Working set Thrashing What is the complete set of steps for handling a page fault – start to finish?

© 2013 Gribble, Lazowska, Levy, Zahorjan 14 Page replacement algorithms Belady’s – optimal, but unrealizable FIFO – replace page loaded furthest in the past LRU – replace page referenced furthest in the past –approximate using PTE reference bit LRU Clock – replace page that is “old enough” Working Set – keep the working set in memory Page Fault Frequency – grow/shrink number of frames as a function of fault rate VAX/VMS (two-level FIFO due to lack of a referenced bit)

© 2013 Gribble, Lazowska, Levy, Zahorjan 15 Multi-level page tables, TLBs How to reduce overhead of paging? –how do multi-level page tables work? –what problem does TLB solve? –why do they work? –how are they managed? software vs. hardware managed Page faults –what is one? how is it used to implement demand paging? –what is complete sequence of steps for translating a virtual address to a PA? all the way from TLB access to paging in from disk MM tricks –shared memory? Mapped files? copy-on-write?

© 2013 Gribble, Lazowska, Levy, Zahorjan 16 Disks Memory hierarchy and locality Physical disk structure –platters, surfaces, tracks, sectors, cylinders, arms, heads Disk interface –how does OS make requests to the disk? Disk performance –access time = seek + rotation + transfer Disk scheduling –how does it improve performance? –FCFS, SSTF, SCAN, C-SCAN? Implications of solid state drives

© 2013 Gribble, Lazowska, Levy, Zahorjan 17 Files and Directories What is a file –what operations are supported? –what characteristics do they have? –what are file access methods? What is a directory –what are they used for? –how are they implemented? –what is a directory entry? How does path name translation work? ACLs vs. capabilities –matrix –advantages and disadvantages of each

© 2013 Gribble, Lazowska, Levy, Zahorjan 18 File system data structures General strategies? –contiguous, linked, indexed? –tradeoffs? What is a Unix inode? –how are they different than directories? –how are inodes and directories used to do path resolution, and find files? Everything about the Unix File System (UFS)

© 2013 Gribble, Lazowska, Levy, Zahorjan 19 FS buffer cache What is a buffer cache? –why do OS’s use them? What are differences between caching reads and writes? –write-through, write-back, write-behind? –read-ahead?

© 2013 Gribble, Lazowska, Levy, Zahorjan 20 FFS, JFS, LFS What is FFS, how specifically does it improve over original Unix FS? How about JFS, what is the key problem that it solves, what are the basic ideas? How about LFS, what are the basic ideas, when does it yield an improvement, when does it not?

© 2013 Gribble, Lazowska, Levy, Zahorjan 21 RAID Basic concepts of RAID –stripe files across multiple disks to improve throughput –compensate for decreased reliability with parity/ECC Sources of improvement as you go from RAID-0 to RAID-5 RAID vs. backup (they are different!)

© 2013 Gribble, Lazowska, Levy, Zahorjan 22 Networking ISO 7-layer model Ethernet protocol IP and routing TCP principles (sending a long message via postcards) Protocol encapsulation/nesting

© 2013 Gribble, Lazowska, Levy, Zahorjan 23 RPC Basic idea – what does it buy you over message passing? Subtopics: interface description language, stubs, stub generation, parameter marshaling, binding, runtime/transport, error handling, performance, thread pools Transparency: when is distribution transparent, when is it not?

© 2013 Gribble, Lazowska, Levy, Zahorjan 24 Distributed file systems Issues: –Basic abstraction, naming, caching, sharing/coherency, replication, performance Examples – compare and contrast various aspects (and goals/environments) of: –NFS –AFS –Sprite –GFS

© 2013 Gribble, Lazowska, Levy, Zahorjan 25 Distributed systems Loosely-coupled, closely-coupled, tightly-coupled Grapevine as an example, in some detail Google web search as an example, in some detail BOINC For Grapevine and Google, focus on reliability, scalability – how do they achieve these properties?

© 2013 Gribble, Lazowska, Levy, Zahorjan 26 Virtual Machine Monitors Basic concepts of VMM’s Modern examples: –OS-X and Windows on the same laptop –Server consolidation –Amazon Web Services In some detail, what is the relationship between an application, the guest OS on which it runs, the VMM, and the hardware? –How does control transfer appropriately? –How do reconcile the fact that both the apps and the guest OS’s are running in user mode? –Be able to trace the handling of a syscall

© 2013 Gribble, Lazowska, Levy, Zahorjan 27 Cloud Computing Understand the OS aspects that it illustrates –Commodity PCs (boards with CPUs, disks, memory) running Unix –Connected via LANs –VMMs –Load balancing –Scheduling

© 2013 Gribble, Lazowska, Levy, Zahorjan 28 Security Principals, objects, rights Authentication, authorization, auditing “Gotchas” with simple password protection The distributed world –Privacy –Integrity –Achieving them using symmetric (shared key) and asymmetric (public/private key) systems –Certificate authorities –Spyware –Confinement

© 2013 Gribble, Lazowska, Levy, Zahorjan 29 Projects You’re responsible for understanding all aspects of the projects!