os211

Top 10 list Week 06

  1. Concurrency
    Concurrency is doing multiple instruction sequences together. It happens when there are several process threads running in parallel. Concurrency brings advantages such as enabling the running of multiple apps at the same time. However it also brings problems like resource starvation. I chose this as my top 10 because the topic this week is about concurrency so I would like to know what concurrency is. I chose this site because it is simple and easy to understand for beginners like me.

  2. Process Control Block
    Process Control Block is a data structure that has information of the process related to it. It has many items such as process state, number, counter, registers, memory limits, open file lists. I chose this topic for my top 10 because I want to understand one of the data structures. I chose this site because it provides a diagram of PCB and explains in a simple language so I can understand it easily.

  3. Context Switching
    Context switching is storing the curent state of a process so that it can be continued later on. This allows multitasking operating system on a single CPU. It can also be used in interrupt. The process states are stored in the process control block. I chose this in my top 10 because I would like to know when context switching is done. I chose this website because it is simple and easy to understand and also explains the various context of when switching happens.

  4. Dispatching
    Dispatcher is a code segment that gives the control of the CPU to the process selected by scheduler. A scheduler selects and decides processes to be run. Dispatcher is used to jump to proper locations when a process is restarted. I chose this for my top 10 because I would like to know how dispatching connects with context switching. I chose this website because it provides a clear explanation and also a table that defines its properties.

  5. Concurrency Problems
    Blocking is when a process blocks the wait for resources and could be a problem if a process needs to update datas. Starvation is when a process cannot obtain needed services to progress. Deadlock is when two processes are blocked and both of them cannot be run. I chose this topic because I would like to know the problems that could come up from concurrency. I chose this site because it lists many kinds of problems and briefly explains as well.

  6. Deadlock
    Deadlock happens when processes are blocked because they are waiting for another resource from other processes. It can happen in four situations. Those are mutual exclusion, where resources are unsharable, hold and wait, where a process is waiting for another source of resource, no preemption, where a resource cannot be taken unless it is released, and circular wait where processes wait for each other. I chose this for my top 10 because I would like to know how deadlock happens. I chose this site because it explains the various ways of how it happens in a simple way which is a good start for a beginner to learn more.

  7. Starvation
    Starvation is when a process waits for some time to get resources. All other processes an be run while one current process is still in wait. One solution is aging. I chose this for my top 10 because I would like to know how starvation happens and how it differs from deadlock. I chose this website because I can understand the article as it uses simple language to explain.

  8. Parallelism and Concurrency
    Concurrency refers to when an application runs more than a process at a particular time. Parallelism is when tasks are divided into smaller sub-tasks that are processed almost at the same time to increase the rate of production of the system. This is in my top 10 because I wanted to know how they both differ and how to not be confused between the two. I chose this site because it is easy to understand because of the simple language.

  9. Wait() in C
    Wait() blocks the the process of calling until the signal of a child process is received or the child process exits. After the child process is done, the parent process continues its execution after the wait system call instruction. This is in my top 10 because I wanted to understand what wait() does so I won’t have difficulties reading the code if it appears. I chose the site because it uses a simple language style that is easy to understand.

  10. Fork() in C
    Fork() is used to create a new process called a child process. The child process runs concurrently with the process that makes the fork() call also known as the parent process. After a new child process is created, both processes will execute the next instruction after the fork() system call. It has no parameters and will return an integer type value. If the returned value is negative, a child process was not created. If the returned value is zero it returns to the new child process. If the returned value is positive then it is the parent or caller and contains the process ID of the newly created child process. I chose this for my top 10 because I wanted to learn more about the system calls. I chose this site because it is easy to be understood.