Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.

Slides:



Advertisements
Similar presentations
Virtual Memory: Page Replacement
Advertisements

Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
OS Fall’02 Virtual Memory Operating Systems Fall 2002.
1 Virtual Memory Management B.Ramamurthy. 2 Demand Paging Main memory LAS 0 LAS 1 LAS 2 (Physical Address Space -PAS) LAS - Logical Address.
Computer Organization CS224 Fall 2012 Lesson 44. Virtual Memory  Use main memory as a “cache” for secondary (disk) storage l Managed jointly by CPU hardware.
1 A Real Problem  What if you wanted to run a program that needs more memory than you have?
CS 153 Design of Operating Systems Spring 2015
Memory/Storage Architecture Lab Computer Architecture Virtual Memory.
CAS3SH3 Final Review. The Final Tue 28 th, 7pm, IWC3 closed book, closed note Non-comprehensive: memory management, storage & file system Types of questions:
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Paging and Virtual Memory. Memory management: Review  Fixed partitioning, dynamic partitioning  Problems Internal/external fragmentation A process can.
Operating Systems Final Exam Review. Topics F Virtual Memory F File Systems F I/O Devices F Project 3: Macro Shell.
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 Final Exam Review. Topics Paging Virtual Memory File Systems I/O Devices Project 3: Macro Shell.
Virtual Memory and Paging J. Nelson Amaral. Large Data Sets Size of address space: – 32-bit machines: 2 32 = 4 GB – 64-bit machines: 2 64 = a huge number.
Computer Organization and Architecture
1 Virtual Memory Management B.Ramamurthy Chapter 10.
Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping
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.
Computer Architecture Lecture 28 Fasih ur Rehman.
CS 153 Design of Operating Systems Spring 2015 Lecture 17: Paging.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Operating Systems ECE344 Ding Yuan Paging Lecture 8: Paging.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
1 Memory Management. 2 Fixed Partitions Legend Free Space 0k 4k 16k 64k 128k Internal fragmentation (cannot be reallocated) Divide memory into n (possible.
CS 153 Design of Operating Systems Spring 2015 Final Review 2.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
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.
IT 344: Operating Systems Winter 2010 Module 23 Course Review Chia-Chi Teng CTB 265.
Week 10 March 10, 2004 Adrienne Noble. Important Dates Project 4 due tomorrow (Friday) Final Exam on Tuesday, March 16, 2:30- 4:20pm.
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
Memory COMPUTER ARCHITECTURE
CSE 120 Principles of Operating
CS703 - Advanced Operating Systems
CS 704 Advanced Computer Architecture
Section 10: Last section! Final review.
Chapter 9: Virtual-Memory Management
Page Replacement.
Chapter 15 – Part 1 The Internal Operating System
CSE 451: Operating Systems Winter 2007 Module 24 Course Review
Virtual Memory فصل هشتم.
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 Spring 2005 Module 23 Course Review
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
CSE 451: Operating Systems Autumn 2005 Memory Management
Virtual Memory Overcoming main memory size limitation
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Major Topics in Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
CSE 451: Operating Systems Winter 2006 Module 24 Course Review
CSC3050 – Computer Architecture
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Computer Architecture
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Virtual Memory Lecture notes from MKP and S. Yalamanchili.
CSE 542: Operating Systems
CSE 153 Design of Operating Systems Winter 2019
COMP755 Advanced Operating Systems
Sarah Diesburg Operating Systems COP 4610
Review What are the advantages/disadvantages of pages versus segments?
CSE 542: Operating Systems
Presentation transcript:

Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review

Announcements Piazza bonus points – Will keep “endorsing” students’ answers and questions until Final exam Additional office hours – Tuesdays 2-3PM – You can also send me s for appointments Please keep checking Piazza for important announcements

Course Plugs If you like ECE 344 topics and you like programming, you might find some other courses interesting next year ECE454: Computer System Programming ECE419: Distributed Systems ECE552: Computer Architecture

Overview Final mechanics What we have learnt – Scheduling – Memory management – Paging – Page replacement – Disk I/O – File systems – Advanced topics (won’t appear in the final exam) The End

Final Exam April 24 th, 9:30 AM – NR-25 Closed book – Last year’s final exam is posted on the class website

Final Mechanics Bulk of the final covers material after midterm – Scheduling, memory management (paging and replacement), file systems Some material on concurrency, synchronization – Synch primitives, synch problems Based upon lecture material and project Again, please, do not cheat

Scheduling When does scheduling happen? – Job changes state (e.g., waiting to running) – Interrupt, exception – Job creation, termination

Scheduling Goals Goals – Maximize CPU utilization – Maximize job throughput – Minimize turnaround time – Minimize waiting time – Minimize response time Different systems have different goals What is the goal of a batch system? What is the goal of an interactive system?

Starvation – Indefinite denial of a resource (CPU, lock) Causes – Side effect of scheduling – Side effect of synchronization Operating systems try to prevent starvation

Scheduling Algorithms What are the properties, advantages and disadvantages of the following scheduling algorithms? – First Come First Serve (FCFS)/First In First Out (FIFO) – Shortest Job First (SJF) – Priority – Round Robin – Multilevel feedback queues What scheduling algorithm does Unix use? Why?

Memory Management Why is memory management useful? – Why do we have virtual memory if it is so complex? What are the mechanisms for implementing MM? – Physical and virtual addressing – Partitioning, paging, and segmentation – Page tables, TLB What are the policies related to MM? – Page replacement What are the overheads related to providing memory management?

Virtualizing Memory What is the difference between a physical and virtual address? What is the difference between fixed and variable partitioning? – How do base and limit registers work? What is internal fragmentation? What is external fragmentation? What is a protection fault?

Paging How is paging different from partitioning? What are the advantages/disadvantages of paging? What are page tables? What are page table entries (PTE)? Know these terms – Virtual page number (VPN), page frame number (PFN), offset Know how to break down virtual addresses into page numbers, offset How have you implemented paging in OS161?

Page Table Entries What is a page table entry? What are all of the PTE bits used for? – Modify – Reference – Valid – Protection

Segmentation What is segmentation? How does it compare/contrast with paging? What are its advantages/disadvantages with respect to partitioning, paging? What is a segment table? How can paging and segmentation be combined?

Page Tables Page tables introduce overhead – Space for storing them – Time to use them for translation What techniques can be used to reduce their overhead? How do two-level (multi-level) page tables work?

TLBs What problem does the TLB solve? How do TLBs work? Why are TLBs effective? How are TLBs managed? – What happens on a TLB miss fault? What is the difference between a hardware and software managed TLB?

Page Faults What is a page fault? How is it used to implement demand paged virtual memory? What is the complete sequence of steps, from a TLB miss to paging in from disk, for translating a virtual address to a physical address?

Advanced Mem Management What is shared memory? What is copy on write? What are memory mapped files?

Page Replacement What is the purpose of the page replacement algorithm? What application behavior does page replacement try to exploit? When is the page replacement algorithm used? Understand – Belady’s (optimal), FIFO, LRU, Approximate LRU, LRU Clock, Working Set What is thrashing?

Disk Understand the memory hierarchy concept, locality Physical disk structure – Platters, surfaces, tracks, sectors, cylinders, arms, heads Disk interface – How does the OS make requests to the disk? Disk performance – What steps determine disk request performance? – What are seek, rotation, transfer?

File Systems Topics – Files – Directories – Sharing – Protection – Layouts – Buffer Cache What is a file system? Why are file systems useful (why do we have them)?

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 the implemented? – What is a directory entry? How are directories used to do path name translation?

File System Layouts What are file system layouts used for? What are the general strategies? – Contiguous, linked, indexed? What are the tradeoffs for those strategies? How do those strategies reflect file access methods? What is an inode? – How are inodes different from directories? – How are inodes and directories used to do path resolution, find files?

File Buffer Cache What is the file buffer cache, and why do operating systems use one? What is the difference between caching reads and caching writes? What are the tradeoffs of using memory for a file buffer cache vs. VM?

Final words on the lab Likely the hardest lab you do in your undergraduate years – But if you survived it, your programming & hacking capabilities have significant improvements – OS: one of the hardest program to write & debug – Debug concurrent programs, user- AND kernel space, low- level hardware, interrupts and exceptions, assembly, etc. – Hack into a large, unfamiliar code base and implement additional features – Work as a team – Using version control systems – etc. I am very very proud of you!

Summary Now you understand how a computer works internally – More importantly, you had your hands dirty and implemented one – If you found such ‘hand-dirty’ experience interesting: Take my ECE 454 course in Fall Consider doing a Master with me Any remaining questions?

The End Congratulations on surviving ECE 344! – It’s a very challenging course, but I hope you found it worthwhile Good luck, and thanks for a great class!