Process Synchronization Quiz
26 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is a characteristic of a non-preemptive kernel?

  • Allows multiple processes to run concurrently
  • Is only used in multiprocessor systems
  • Allows a process to preempt while running in kernel mode
  • Does not allow a process to preempt while running in kernel mode (correct)
  • Peterson's Algorithm is used for mutual exclusion in multiprocessor systems.

    False

    What are the two data items shared by 2 processes in Peterson's Algorithm?

    int turn and boolean flag

    The TestAndSet() function is a _______________________ instruction.

    <p>non-interruptible</p> Signup and view all the answers

    Match the synchronization hardware with its description:

    <p>Disabling interrupts = Uniprocessor environment Message passing = Multiprocessor systems TestAndSet() = Atomic instruction Swap() = Atomic instruction</p> Signup and view all the answers

    What is the purpose of a mutex lock?

    <p>To allow only one process to access a resource at a time</p> Signup and view all the answers

    A semaphore is a 'locking' mechanism.

    <p>False</p> Signup and view all the answers

    What is the Bounded-Buffer Problem also known as?

    <p>Producer-Consumer Problem</p> Signup and view all the answers

    In the Producer-Consumer Problem, the _______________________ should not produce data if the buffer is full.

    <p>producer</p> Signup and view all the answers

    What is a consequence of deadlock and starvation?

    <p>Inefficient use of system resources</p> Signup and view all the answers

    What is the main purpose of a critical section in a program?

    <p>To access shared resources</p> Signup and view all the answers

    A critical section can be executed by multiple processes at the same time.

    <p>False</p> Signup and view all the answers

    What are the three conditions to hold critical sections?

    <ol> <li>Processes should not be inside their critical sections at the same time. 2. Processes executing outside its critical section should not block other processes. 3. Processes should not be waiting for a long time to enter to its critical section.</li> </ol> Signup and view all the answers

    A critical section is a part of a program that tries to access shared _______________________.

    <p>resources</p> Signup and view all the answers

    Which of the following is a solution to the Critical Section Problem?

    <p>All of the above</p> Signup and view all the answers

    A preemptive kernel allows a process to be preempted while running in user mode.

    <p>False</p> Signup and view all the answers

    Match the following shared resources with their descriptions:

    <p>CPU = Central Processing Unit Memory = Data storage Data Structure = Organized data IO Device = Input/Output device</p> Signup and view all the answers

    What is the main purpose of the rest of the section in a code for critical sections?

    <p>It releases the lock on resources and informs other processes that the critical section is over.</p> Signup and view all the answers

    What is the main characteristic of a reader process in the Readers-Writers problem?

    <p>It can only read the data set.</p> Signup and view all the answers

    Multiple writers can write to the data set simultaneously in the Readers-Writers problem.

    <p>False</p> Signup and view all the answers

    What is the purpose of a semaphore in the solution to the Readers-Writers problem?

    <p>To control access to the critical section</p> Signup and view all the answers

    A writer process requests to enter the _______________________ section.

    <p>critical</p> Signup and view all the answers

    What is the condition for a hungry philosopher to eat in the Dining Philosophers problem?

    <p>If there are both right and left chopsticks available.</p> Signup and view all the answers

    A reader process can enter the critical section if a writer is already inside.

    <p>False</p> Signup and view all the answers

    Match the following concepts with their corresponding problems:

    <p>Readers-Writers problem = Multiple processes accessing a shared data set Dining Philosophers problem = Philosophers eating and thinking with limited resources Critical Section problem = Processes accessing a shared resource</p> Signup and view all the answers

    What is the main goal of the solution to the Readers-Writers problem?

    <p>To allow multiple readers to read and one writer to write simultaneously, while preventing writer starvation and reader starvation.</p> Signup and view all the answers

    Study Notes

    Process Synchronization

    • Cooperating processes need to access shared resources (CPU, Memory, Data Structure, IO Device) in a synchronized manner.
    • Critical Section is a part of the program that tries to access shared resources and needs to be executed atomically.

    Conditions to Hold Critical Sections

    • Processes should not be inside their critical sections at the same time.
    • Processes executing outside their critical section should not block other processes.
    • Processes should not be waiting for a long time to enter their critical section.

    Solutions to Critical Section Problem

    • Mutual Exclusion
    • Progress
    • Bounded Waiting

    Critical Section Approaches

    • Preemptive kernel - allows a process to be preempted while running in kernel mode.
    • Non-preemptive kernel – does not allow a process to preempt while running in kernel mode, free of race condition.

    Peterson's Algorithm or Solution

    • Algorithm for mutual exclusion.
    • Assumes that load and store machine-language instructions are atomic.
    • Allows 2 processes to alternate between their critical sections and remainder sections.
    • Requires 2 processes to share data items: int turn and boolean flag.

    Synchronization Hardware

    • In a uniprocessor environment: disables interrupts and uses shared variable.
    • In multiprocessor systems: disabling interrupts may cause delay, uses message passing and special atomic or non-interruptible hardware instructions (TestAndSet(), Swap()).

    Mutex Locks

    • Kernel resource and OS "locking mechanism".
    • Software solution for critical section problem.
    • Locks the resources in the entry section of the code and unlocks the resources at the exit section.

    Semaphores

    • "Signaling" mechanism and operating system service for synchronization.
    • Uses an integer variable and wait() and signal() operations.

    Classic Problems of Synchronization

    • Bounded-Buffer Problem or Producer-Consumer Problem
    • Readers and Writers Problem
    • Dining-Philosophers Problem

    Bounded Buffer Problem or Producer-Consumer Problem

    • Multi-process synchronization problem.
    • Producer generates data and places it in a buffer, consumer consumes the data from the buffer.
    • Problems:
      • Producer should not produce data if buffer is full.
      • Consumer should not consume data if buffer is empty.
      • Producer and consumer should not access the buffer at the same time.

    Readers-Writers Problem

    • A data set is shared among a number of concurrent processes.
    • Readers – only read the data set; they do not perform any updates.
    • Writers – can both read and write.
    • Only 1 writer can write at a time.
    • If a process is writing, other processes cannot read or write to it.

    Solution to Readers-Writers Problem

    • Use of semaphores:
      • Writer process requests to enter the critical section.
      • If writer is allowed, it gives a true value to wait().
      • If writer is not allowed, writer waits.
      • Exits the critical section.

    Dining Philosophers Problem

    • 5 philosophers sharing a circular table and they eat and think alternatively.
    • There is a bowl of rice for each of the philosophers and 5 chopsticks.
    • A philosopher needs both their right and left chopstick to eat.
    • A hungry philosopher may only eat if there are both chopsticks available.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Test your knowledge of process synchronization concepts, including critical sections, semaphores, and resource sharing. Questions cover Peterson's solution, synchronization hardware, and classic problems.

    More Like This

    Use Quizgecko on...
    Browser
    Browser