CSE 451: Operating Systems Spring 2005 Module 23 Course Review

Slides:



Advertisements
Similar presentations
Operating Systems ECE344 Midterm review Ding Yuan
Advertisements

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.
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 ECE344 Ding Yuan Final Review Lecture 13: Final Review.
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.
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.
Computer Organization and Architecture
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
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.
CS414 Review Session.
Chapter 1 Computer System Overview Sections 1.1 to 1.6 Instruction exe cution Interrupt Memory hierarchy Cache memory Locality: spatial and temporal Problem.
CSE 451: Operating Systems Autumn 2013 Module 28 Course Review Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska, Levy,
CSE 451: Operating Systems Section 5 Midterm review.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
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.
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.
MIDTERM REVIEW CSCC69 Winter 2016 Kanwar Gill. What is an OS? What are processes and threads? Process states? Diagram showing the state changes What data.
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
CSE 120 Principles of Operating
Operating System (OS) QUESTIONS AND ANSWERS
Section 10: Last section! Final review.
Operating Systems Review.
Page Replacement.
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.
Sarah Diesburg Operating Systems CS 3430
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
CSE 451: Operating Systems
CSE451 - Section 10.
CSE 451: Operating Systems Autumn 2005 Memory Management
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
Virtual Memory Overcoming main memory size limitation
Operating Systems Lecture 1.
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Major Topics in Operating Systems
CSE 451: Operating Systems Autumn 2009 Module 26 Course Review
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
February 5, 2004 Adrienne Noble
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
CSE 451: Operating Systems Winter 2006 Module 24 Course Review
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
CSE 451: Operating Systems Winter 2007 Module 2 Architectural Support for Operating Systems Brian Bershad 562 Allen Center 1.
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Review for final Anything’s fair game, but emphasis on more recent stuff.
Disks and Storage Systems
Secondary Storage Management Hank Levy
Last section! Project 4 + EC due tomorrow Today: Project 4 questions
CSE 471 Autumn 1998 Virtual memory
CSE451 - Section 10.
CSE 153 Design of Operating Systems Winter 2019
Sarah Diesburg Operating Systems COP 4610
CSE 542: Operating Systems
Presentation transcript:

CSE 451: Operating Systems Spring 2005 Module 23 Course Review Ed Lazowska lazowska@cs.washington.edu Allen Center 570 1

Architectural Support Privileged instructions what are they, and who gets to execute them? how does CPU know whether to execute them? why do they need to be privileged? what do they manipulate? Events exceptions: what generates them? trap vs. fault? interrupt: what generates them? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Processes What is a process? What does it virtualize? differences between program, process, thread? what is contained in process? what does PCB contain? 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Threads What is a thread? why are they useful? user level vs. kernel level threads? 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy 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 building critical sections? locks, semaphores, (monitors), condition variables 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Locks and Semaphores 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? Semaphores wait vs. signal? difference between semaphore and lock? when do threads block on semaphores? when do they wake? bounded buffers problem producer/consumer readers/writers problem 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Process 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… 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Memory Management What good is virtual memory? Mechanisms for implementing memory management physical vs. virtual addressing partitioning, paging, segmentation page tables, TLB Page replacement policies? What are overheads related to memory management? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Virtualizing Memory What is difference between a physical and virtual address? fixed vs. variable paritioning? base/limit registers.. internal vs. external fragmentation Paging advantages, disadvantages? what are page tables, PTEs? what are: VPN, PFN, offset? relationship to VA? what’s in a PTE? what are modify/reference/valid/prot bits? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Paging, TLBs How to reduce overhead of page table? 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Page Replacement What is page replacement algorithm? what application behavior does it exploit? when is page replacement algorithm invoked? Understand: Belady’s (optimal), FIFO, LRU, approximations of LRU, LRU clock, working set, page fault frequency what is thrashing? why does it occur and when? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy Disk 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy 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 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy FS layout What are file system layouts for? General strategies? contiguous, linked, indexed? tradeoffs? What is an inode? how are they different than directories? how are inodes and directories used to do path resolution, and find files? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy 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? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy FFS, LFS What is FFS, how specifically does it improve over original Unix FS? How about LFS, what are the basic ideas, when does it yield an improvement, when does it not? 1/1/2019 © 2005 Gribble, Lazowska, Levy

© 2005 Gribble, Lazowska, Levy 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 1/1/2019 © 2005 Gribble, Lazowska, Levy

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

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

© 2005 Gribble, Lazowska, Levy Distributed systems Loosely-coupled, closely-coupled, tightly-coupled Grapevine as an example, in detail 1/1/2019 © 2005 Gribble, Lazowska, Levy

Distributed file systems Issues: Basic abstraction, naming, caching, sharing/coherency, replication, performance Examples – compare and contrast: NFS AFS Sprite 1/1/2019 © 2005 Gribble, Lazowska, Levy

Buffer overflow exploits General concepts of buffer overflow exploits Details – how, specifically, would you program one, for the x86 architecture? 1/1/2019 © 2005 Gribble, Lazowska, Levy