COMS 414 - Prelim 1 Review Session Multiprocessing and Synchronization Sunny(srg8@cornell.edu) Vivek(vu22@cornell.edu)
Prelim 1 There are many, many resources available for your Prelim 1 needs: (presented in random order) Your notes! The book and its website FA2000 Homeworks/Solutions FA2000 Prelim 1 review slides SP2001 Lecture notes Newsgroup Plenty of office hours! Additional support by appointment
Before we begin … Any questions from the CS314 review session? Register set, stack, heap Program counter Interrupts / exceptions Interrupt priority levels Programmable I/O vs. DMA Polling Memory protection (base/limit)
Multitasking What is a: Process or Task? Thread? What is the difference between a program and a process? What is in the PCB? Differences between O/S processes and user processes? Differences between user-level threads and kernel-level threads?
Multitasking What is kernel space? What is user space? What is a system call? What is a context switch? What states may a process be in? How do processes go between states? What is a race condition?
Synchronization What is a critical section? What are the three requirements for protection of a critical section? What is busy waiting? What are atomic instructions? What is a semaphore?
Synchronization Three levels of abstraction for concurrent programming: Hardware instructions O/S functions Programming language constructs
Vivek Presents … Classic Synchronization Problems Monitors, Condition Variables and Language Support Deadlocks, Prevention and Avoidance
Monitors What is a monitor? What are condition variables? Differentiate between semaphores and condition variables.
Synchronization Problems Bounded buffer problem Readers writers problem Dining philosophers problems
Deadlock What is a deadlock? Necessary conditions for deadlock ?
Deadlocks R1 R2 . P1 P2 P3 R3
Deadlocks R1 R2 . . P1 P2 P3 . R3 P4
Deadlock Prevention Make sure that one of the necessary conditions does not hold -- Mutual exclusion -- Hold and Wait -- No Pre Emption -- Circular Wait
Deadlock Avoidance What is it? What is Safe State? Safety Check? Bankers Algorithm