os211

Kaysa’s Operation System 2021

Log GitHub Rank Key

Top 10 List of Week 06

1. Process Scheduling

The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy. It is an essential part of a Multiprogramming operating systems. Such operating systems allow more than one process to be loaded into the executable memory at a time and the loaded process shares the CPU using time multiplexing. In this website, you can get the explanation of processes scheduling queues, two-state process model, schedulers types and the comparison between schedulers, and context switch. The explanation is short and easy to understand.

2. Background and Foreground Process

A foreground process is any command or task you run directly and wait for it to complete. Unlike with a foreground process, the shell does not have to wait for a background process to end before it can run more processes. I like this website because the explanation is short, easy to understand, and it also tells you the example of each processes.

3. Cooperating Processes and Independent processes

Independent process is the process that can not affect or be affected by the other processes.Unlike with Independent process, Cooperating process is affect or be affected by the other processes executing in the system. I like this website because the explanation is short and easy to understand.

4. Single Processor Systems

A single processor system contains only one processor. So only one process can be executed at a time and then the process is selected from the ready queue. Most general purpose computers contain the single processor systems as they are commonly in use. I like this website because the explanation is easy to understand and they also gives you the diagrams to make it easier to understand and it also tells you the differences between Single Processor and Multiprocessor Systems.

5. Multithreaded Process

These processes allow the execution of multiple parts of a program at the same time. These are lightweight processes available within the process. I like this website because the explanation is easy to understand and it also tells you the implementation of Multithreaded Processes with the advantages and disadvantages of it.

6. Threads

A thread is an execution unit that has its own program counter, a stack and a set of registers that reside in a process. Threads can’t exist outside any process. Also, each thread belongs to exactly one process. The information like code segment, files, and data segment can be shared by the different threads.There are two threads, singlethreaded process and multithreaded process. I like this website because the explanation is easy to understand and complete. It tells you the types of thread, advantages of thread, and the differences between process and thread.

7. Multicore Programming

Multicore programming helps you create concurrent systems for deployment on multicore processor and multiprocessor systems. A multicore processor system is a single processor with multiple execution cores in one chip. By contrast, a multiprocessor system has multiple processors on the motherboard or chip.Other than the basic explanation of multicore programming, this website also tells you the types of paralellism and the animation for each type.

8. Multithreading Models

The process with multiple threads can execute several tasks at a time. The multiple threads of the same process share the code, data and files of the process and each thread maintains its own register and stack.This is called multithreading and the process with multiple threads is called multithreaded process. I like this website because the explanation comes with the diagram or the picture of the process, so you can easily spot the differences between each process.

9. Multithreading Issues

There are four multithreading issues that this web mentioned. This website explain all of these issues. Not only that, the website also explain all aspect about multithreading with the diagram to make you understand better.

10. Pthread Functions

In a Unix/Linux operating system, the C/C++ languages provide the POSIX thread(pthread) standard API(Application program Interface) for all thread related functions. It allows us to create multiple threads for concurrent process flow. This website tells you all about the function and what it does.