From db4140c321525556d62910d8a5fe70e8faf769a0 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Wed, 26 Jun 2024 06:15:05 +0100 Subject: [PATCH] Autosave: 2024-06-26 06:15:05 --- .zk/notebook.db | Bin 3829760 -> 3829760 bytes zk/Processes.md | 14 ++++++++++---- zk/Threads.md | 21 +++++++++++++++------ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.zk/notebook.db b/.zk/notebook.db index ddddef758cf58e468ca2c09decf28b5383e01e19..38a612eb550d5506023f05ec76d179d9c12ac656 100644 GIT binary patch delta 15198 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 diff --git a/zk/Processes.md b/zk/Processes.md index 3a93e92..d859913 100644 --- a/zk/Processes.md +++ b/zk/Processes.md @@ -9,7 +9,8 @@ created: Friday, June 21, 2024 Programs are sequences of machine instructions stored in a file. However they do not work by themselves. Something needs to load the file's intructions into -memory and direct the CPU to run the program. The OS does this via processes. +memory, direct the CPU to run the program and manage it during runtime. The OS +does this via processes. A process **is a running instance of a given program**. It can be thought of as a container in which a program runs. This container includes: @@ -18,9 +19,9 @@ a container in which a program runs. This container includes: - a memory address - other information about the state of the process -Other than the `init` process started by the kernel (PID1), every process has a -parent process that started it. This parent-child relationship creates a tree of -processes. +Other than the `init` process started by the kernel (PID1) (see +![systemd](systemd.md)), every process has a parent process that started it. +This parent-child relationship creates a tree of processes. It is possible that a parent process will terminate before one of its child processes. In this instance the child becomes an orphan. When this occurs in @@ -44,8 +45,13 @@ For instance here, `terminator` is a child of `init`, as are `zsh` and `tmux` but they are also children of `terminator`.`pstree` is a child of `zsh` and therefore also a child (grandchild) of `terminator`. +Each process has a unique identifier called a _process identifier_, a +_processID_ or just _PID_. + ## Related notes ![systemd](./systemd.md) ![ps](./ps.md) + +![Monitoring processes and resources](Monitoring_processes_and_resources.md) diff --git a/zk/Threads.md b/zk/Threads.md index 39407f4..0b0dc5c 100644 --- a/zk/Threads.md +++ b/zk/Threads.md @@ -1,18 +1,27 @@ --- id: zadl title: Threads -tags: [] +tags: [operating-systems] created: Wednesday, June 26, 2024 --- # Threads -A process is a running instance of a given program. A program runs sequentially -handling one task at a time, however we may need to run certain tasks in -parallel. +A ![process](Processes.md) is a running instance of a given program. A program +runs sequentially handling one task at a time, however we may need to run +certain tasks in parallel. -For example think of a program that is downloading a resource from the internet -and wants to update the UI at the same time to show the download process. +Think of a program that is downloading a resource from the internet and wants to +update the UI at the same time to show the download process. + +If the program is strictly sequential, once the program starts the download, the +UI is neglected since the CPU time dedicated to the process must be focused +elsewhere. + +We need the updating of the UI and the download to execute in parallel. This is +achieved via operating system **threads of execution**. + +> A thread is a schedulable unit of execution within a process. ## Related notes