Gita's OS202

OS202


Project maintained by gpersable Hosted on GitHub Pages — Theme by mattgraham

HOME


Top 10 List of Week 07

  1. Race Condition and Deadlocks
    The website explains about how and when race conditions occur, details and examples for a race condition and deadlocks, when deadlocks occur, and more. The examples are provided in Visual Basic and assembly codes.

  2. Critical Section Problem
    The webiste mainly explains about process synchronization and critical section problem. The discussed topics: what process synchronization is, how process synchronization works, sections of a program, what critical section problem is, rules and solutions to critical section problem.

  3. Semaphore
    The website gives good explanations about semaphores in process synchronization. There are code examples and illustrations in the website so we can understand the topics better. Semaphore is simply a variable which is non-negative and shared between threads. This variable is used to solve the critical section problem and to achieve process synchronization in the multiprocessing environment.

  4. Deadlock and Starvation
    The lecture slides from New Jersey Institute of Technology explain about deadlock and starvation in detail. So many illustrations are provided to explain the concepts and examples.

  5. Dealing with Signals in Unix
    Signals on Unix systems are critical to the way processes live and die. The website explains about how they’re generated, how they work, and how processes receive or block them.

  6. Synchronizing Threads with POSIX Semaphores
    The website provides some kind of a tutorial on implementing POSIX semaphores. It gives examples and also explanations on POSIX semaphore functions such as sem_init(), sem_wait(), sem_post(), and more.

  7. Deadlock Prevention
    In some situations it is possible to prevent deadlocks. Jakob Jenkov describes three techniques to prevent deadlocks, which are Lock Ordering, Lock Timeout, and Deadlock Detection.

  8. Thread Signaling
    The purpose of thread signaling is to enable threads to send signals to each other. Additionally, thread signaling enables threads to wait for signals from other threads. For instance, a thread B might wait for a signal from thread A indicating that data is ready to be processed.

  9. Peterson and Bakery Algorithms
    The video explains about the algorithms of the solutions to critical section problem which are Peterson and Bakery algorithms. Peterson’s solution is restricted to two processes only. Bakery algorithm: a software solution to N processes synchronization.

  10. Cooperating Process
    Cooperating processes are those that can affect or are affected by other processes running on the system. Cooperating processes may share data with each other. Topics discussed in the website are the reasons for needing cooperating processes and methods of cooperation.