Top 10 List of Week 06

Top 10 List of Week 06

  1. Multi Threading

    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!

  2. 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.

  3. 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!

  4. Demo: Switching Foreground and Background Process

    Need more explanation on switching between processes? Check this out! The Linux Man give a demo about it.

  5. Fork Command

    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.

  6. Wait Command

    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.

  7. Sleep Command

    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.

  8. Concurrency vs. Parallelism

    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!

  9. Process State

    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.

  10. Process Scheduling

    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.