Top 10 List of Week 06
-
A thread is a flow of execution through the process code. It shares data and files with its peer threads but has its own program counter, system registers, and stack. Read more on this article!
-
Multithreading Models & Hyperthreading
We can establish the relationship between user threads and kernel threads using the many-to-one, one-to-one, and many-to-many model. You can watch the video by Neso Academy for the illustrations.
-
Foreground and Background Process
As a multitasking operating system, Linux supports the execution of many processes in the background while continue working in the foreground. You can switch between foreground and background processes using the fg and bg command. Read more on the article!
-
Demo: Switching Foreground and Background Process
Need more explanation on switching between processes? Check this out! The Linux Man give a demo about it.
-
The fork command creates a new process by duplicating the calling process. It returns the child’s PID to the parent process and 0 to the child process if success, otherwise it returns -1.
-
The wait command makes the calling process wait for state changes in a child. It suspends the execution of the calling thread until one of its children terminates. It returns the child’s PID if success, otherwise it returns -1.
-
The sleep command causes the calling thread to sleep either until the number of real-time seconds specified in seconds has elapsed or until a signal arrives, which is not ignored by the process. It returns zero if the requested time has elapsed or the number of seconds left to sleep if the call was interrupted by a signal handler.
-
Concurrency means executing multiple tasks at the same time but not necessarily simultaneously. Parallelism means that an application can splits tasks into smaller subtasks that can parallelly be processed. Read more on the article!
-
As a process executer, it changes state from one to another state. A process can be new, running, waiting, ready, and terminated. Check this video for the detail and transition of each state.
-
Process scheduling is an essential part of multiprogramming operating systems. It is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process based on a particular strategy.