FinalReview

FinalReview - Course Plugs CSE120 Principles of Operating...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSE120 Principles of Operating Systems Prof Yuanyuan (YY) Zhou Final Review June 2nd, 2011 6/2/11 CSE 120 2 Course Plugs If you like CSE 120 topics, you might find some other courses interesting next year CSE 121: Operating Systems: Architecture and Implementation CSE 123a & 123b: Networking CSE 125: Software System Design and Implementation CSE 127: Introduction to Computer Security 6/2/11 CSE 120 3 Overview Final mechanics Memory management Paging Page replacement Disk I/O File systems Advanced topics The End 6/2/11 CSE 120 4 Final Mechanics Bulk of the final covers material after midterm Memory management, disk/file systems, advanced topics Some material on concurrency, synchronization Synch primitives, synch problems Based upon lecture material, and project Closed book Again, please, do not cheat
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 6/2/11 CSE 120 5 Synchronization Why do we need synchronization? Coordinate access to shared data structures Coordinate thread/process execution What can happen to shared data structures if synchronization is not used? Race condition Corruption Bank account example When are resources shared? Global variables, static objects Heap objects 6/2/11 CSE 120 6 Mutual Exclusion What is mutual exclusion? What is a critical section? What guarantees do critical sections provide? What are the requirements of critical sections? Mutual exclusion (safety) Progress (liveness) Bounded waiting (no starvation: liveness) Performance How does mutual exclusion relate to critical sections? What are the mechanisms for building critical sections? Locks, semaphores, monitors, condition variables 6/2/11 CSE 120 7 Locks What does Acquire do? What does Release do? What does it mean for Acquire/Release to be atomic? How can locks be implemented? Spinlocks Disable/enable interrupts Blocking (Nachos) How does test-and-set/swap work? What kind of lock does it implement? What are the limitations of using spinlocks, interrupts? Inefficient, interrupts turned off too long 6/2/11 CSE 120 8 Semaphores What is a semaphore? What does P/Decrement do? What does V/Increment do? How does a semaphore differ from a lock? What is the difference between a binary semaphore and a counting semaphore? When do threads block on semaphores? When are they woken up again? Using semaphores to solve synchronization problems Readers/Writers problem Bounded Buffers problem
Background image of page 2
3 6/2/11 CSE 120 9 Monitors What is a monitor? Shared data Procedures Synchronization In what way does a monitor provide mutual exclusion? To what extent is it provided?
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/26/2012 for the course CSE 120 taught by Professor Staff during the Spring '08 term at UCSD.

Page1 / 10

FinalReview - Course Plugs CSE120 Principles of Operating...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online