View on GitHub

os202

OS202

HOME


Week 07 top 10 list of interesting OS things

  1. Critical Section
    Critical Section is the part of a program which tries to access shared resources. That resource may be any resource in a computer like a memory location, Data structure, CPU or any IO device.

  2. Blocking vs non-blocking
    This page goes into detail about how both blocking and non blocking i/o works.

  3. semaphores in OS
    The page explains exactly what a semaphore is and how it works, but also goes into detail on it’s connection to operating systems

  4. race condition
    One of the most common problems in multithreaded applications is the problem of race conditions. This page basically gives a detailed explanation on what they are, how to detect them and what practices are best used to slove these problems

  5. Peterson’s solution
    A video that explains quite well how to understand Petersons solution.

  6. Resource and allocation graph
    If u want to learn how to best represent the current state of your system then resource allocation graphs might just be the way for you. This video explains very well with diagrams how a resource allocation graph operates in normal conditions.

  7. Bounded-Buffer Problem
    The bounded-buffer problems (aka the producer-consumer problem) is a classic example of concurrent access to a shared resource. A bounded buffer lets multiple producers and multiple consumers share a single buffer. Producers write data to the buffer and consumers read data from the buffer.

8.Readers and Writers Problem
The readers-writers problem is used to manage synchronization so that there are no problems with the object data. For example - If two readers access the object at the same time there is no problem. However if two writers or a reader and writer access the object at the same time, there may be problems.

  1. Dining-Philosophers Problem
    The dining philosophers problem is invented by E. W. Dijkstra. Imagine that five philosophers who spend their lives just thinking and easting. In the middle of the dining room is a circular table with five chairs. The table has a big plate of spaghetti. However, there are only five chopsticks available, as shown in the following figure. Each philosopher thinks. When he gets hungry, he sits down and picks up the two chopsticks that are closest to him. If a philosopher can pick up both chopsticks, he eats for a while. After a philosopher finishes eating, he puts down the chopsticks and starts to think.

  2. Deadlock Characterization
    This page helps answer my question on what exactly is a deadlock characterization with helpful examples and detailed explanations.