Summary of "Synchronization Hardware: Test & Set, Swap | L 15 | Operating System | GATE 2022 CSE #Vishvadeep Sir"
Summary of "Synchronization Hardware: Test & Set, Swap | L 15 | Operating System | GATE 2022 CSE #Vishvadeep Sir"
This lecture by Vishvadeep Sir focuses on hardware solutions for process synchronization in operating systems, specifically the Test-and-Set and Swap instructions. It builds upon previous discussions of software synchronization solutions and explains why hardware-level instructions are necessary to ensure Atomicity and avoid problems like race conditions and Preemption.
Main Ideas and Concepts
1. Introduction to Synchronization Hardware
- Hardware solutions involve special CPU instructions designed to provide synchronization support.
- These instructions are privileged and run in kernel mode, ensuring atomic execution without interruption.
- Unlike software solutions, hardware instructions guarantee Atomicity — either the whole instruction executes or none of it does, preventing Preemption during critical operations.
2. Recap of Software Synchronization Solutions
- Previous software-based solutions (Lock variable, turn-based, Peterson’s) had limitations:
- Lock variable: no mutual exclusion due to Preemption.
- Turn-based: mutual exclusion but no progress.
- Peterson’s: satisfied mutual exclusion, progress, and bounded waiting.
- Hardware instructions aim to overcome these issues.
3. Test-and-Set Instruction
- Test-and-Set is an atomic hardware instruction that:
- Typical usage:
- This prevents Preemption between test and set steps, ensuring mutual exclusion.
- Busy Waiting: the process keeps executing on CPU but cannot enter the critical section until the Lock is released.
4. Swap Instruction
- The Swap instruction atomically exchanges values of two variables.
- Used with two boolean variables: Lock and key.
- Procedure:
- Swap-based synchronization is similar to Test-and-Set but uses a different atomic primitive.
- Potential problem: if Preemption occurs at certain points (between statements), mutual exclusion can fail.
- Adding extra assignments to
keybefore entering the critical section can reduce but not eliminate this risk.
5. Atomicity and Preemption
- Atomic instructions prevent Preemption during critical steps, which is essential to avoid race conditions.
- Software solutions fail because the CPU can interrupt between check and set operations.
- Hardware instructions ensure these steps are indivisible.
6. Busy Waiting
- Defined as a process actively executing on the CPU but unable to proceed because it is waiting for a Lock.
- Occurs in Test-and-Set and Swap solutions when a process spins waiting for the Lock to be released.
7. Practical Notes & Assignments
- Understanding Test-and-Set and Swap is critical for solving synchronization problems.
- The instructor hints at a GATE question related to Test-and-Set, suggesting students review deadLock concepts before attempting it.
- Upcoming sessions will cover semaphore (signaled as "sigma 4") and other synchronization topics.
Methodology / Key Steps for Using Test-and-Set for Synchronization
- Initialize
Lock = false. - Process tries to enter critical section:
- On exiting critical section, set
Lock = false.
Methodology / Key Steps for Using Swap for Synchronization
- Initialize
Lock = false. - Before entering critical section, process sets
key = true. - While
key == true: - If
key == falseafter Swap, enter critical section. - On exit, set
Lock = false.
Additional Information
- The instructor also promotes Unacademy Plus and Iconic subscriptions for GATE preparation, highlighting features like live classes, quizzes, doubt solving, and personalized coaching.
- Several upcoming sessions and courses are announced, including a new educator launch and machine learning topics.
- Encouragement for viewers to join live sessions for interactive learning.
Speakers / Sources Featured
- Vishvadeep Sir (main and only)
Category
Educational