Home

Top 10 Lists: Week 07

  1. Process Synchronization
    While Cambridge describe synchronization as “the act of making things happen at the same time”, Process Synchronization is sharing resources by process in a way that concurrent access to data is handled to minimize the chance of inconsistent data.

  2. Critical Section
    In a code, there are 3 types of section. Entry section and Exit section are two of important sections, but the most important is Critical section which should be executed as an atomic action while having a shared variables. This means a process can only execute the code section once at a time.

  3. Deadlock

    A condition when a process is on hold because a in-line process is holding the resources. The picture above probably resembles a deadlock in an intersection, when the three-wheelers want to go to the left but blocked by the cars that want to go up but blocked by cars and three-wheelers that want to go right but blocked by a car. In computer, deadlock is common to a multiprocessing.

  4. Circular Wait
    A condition when a process is waiting for a second process which is waiting for a third process …(keep looping)… and the n-th process is waiting for the first process is executed.

  5. Mutex Lock
    Mutex (Mutual Exclusion) is one of requirement that a solution has to have. Itis a property of process sync which prohibit two or more processes exist in a critical section, which explain only one of ‘em can do it.

  6. Semaphore
    Semaphores are integer variables that are used to solve the critical section problem by using two atomic operations from Process Synchronization, wait and signal. Wait means no operation is executed, symbolized with --, while Signal symbolized with ++. There are two types of semaphore: counting and binary.

  7. Bounded Waiting
    Bounded Waiting is one of requirement that a solution has to have. It stated that “A bound must exist on the number of times that other processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted.”

  8. Race Condition
    Race Condition may occur while a critical section is executed. This condition will happens if multiple thread execution’s result differs according to the executing order. This condition may be avoided if the critical section is treated as an atomic instruction, or proper thread synchronization using either locks or atomic variable.

  9. Progress
    Progress is one of requirement that a solution has to have. It stated that ‘If no process is executing in the critical section and other processes are waiting outside the critical section, then only those processes that are not executing in their remainder section can participate in deciding which will enter in the critical section next, and the selection can not be postponed indefinitely.”

  10. Peterson’s Solution
    Peterson’s solution offers solution for two processes critical solution. It uses Mutex, Bounded Waiting, and Progress.