Browse Source

Linux-process-management

master
zeus 4 years ago
parent
commit
fb91e8554e
  1. 9
      Linux-process-management/Life_cycle_of_a_process.adoc

9
Linux-process-management/Life_cycle_of_a_process.adoc

@ -6,6 +6,7 @@ Apostolos rootApostolos@swarmlab.io
ifndef::env-browser[] ifndef::env-browser[]
:data-uri: :data-uri:
endif::[] endif::[]
:images-cdn: http://localhost:3080/asciidoc
:toc: right :toc: right
:toc-title: Table of contents :toc-title: Table of contents
:toclevels: 4 :toclevels: 4
@ -23,7 +24,7 @@ endif::[]
[.float-group] [.float-group]
-- --
.fork-exec footnote:[http://www.it.uu.se/education/course/homepage/os/vt18/images/module-2/fork-exec-exit-wait.png[^]] .fork-exec footnote:[http://www.it.uu.se/education/course/homepage/os/vt18/images/module-2/fork-exec-exit-wait.png[^]]
image::images/fork-exec-exit-wait.png[350,350,role="related thumb right"] image::{images-cdn}/images/fork-exec-exit-wait.png[350,350,role="related thumb right"]
*fork()* is the the system call that the parent process uses to "divide" itself ("fork") into two identical processes. *fork()* is the the system call that the parent process uses to "divide" itself ("fork") into two identical processes.
@ -184,7 +185,7 @@ The threads of a process share its executable code and the values of its dynamic
[.float-group] [.float-group]
-- --
.A process with two threads footnote:[https://commons.wikimedia.org/w/index.php?curid=2233446[^]] .A process with two threads footnote:[https://commons.wikimedia.org/w/index.php?curid=2233446[^]]
image::images/Multithreaded_process.png[350,350,role="related thumb right"] image::{images-cdn}/images/Multithreaded_process.png[350,350,role="related thumb right"]
Threads in the same process share: Threads in the same process share:
@ -244,7 +245,7 @@ it's computationally rather expensive to duplicate a process and a lot of subthr
[.float-group] [.float-group]
-- --
.Process Memory footnote:[https://gabrieletolomei.files.wordpress.com/2013/10/program_in_memory2.png?w=960[^]] .Process Memory footnote:[https://gabrieletolomei.files.wordpress.com/2013/10/program_in_memory2.png?w=960[^]]
image::images/program_in_memory2.png[350,350,role="related thumb right"] image::{images-cdn}/images/program_in_memory2.png[350,350,role="related thumb right"]
* Text Segment. * Text Segment.
** The Text segment (a.k.a the Instruction segment) contains the executable program code and constant data. ** The Text segment (a.k.a the Instruction segment) contains the executable program code and constant data.
@ -301,7 +302,7 @@ chrt allows to set your scheduling policy as well as priority.
[.float-group] [.float-group]
-- --
.Structure of the Linux kernel footnote:[By ScotXW - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47075153[^]] .Structure of the Linux kernel footnote:[By ScotXW - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47075153[^]]
image::images/Simplified_Structure_of_the_Linux_Kernel.png[350,350,role="related thumb right"] image::{images-cdn}/images/Simplified_Structure_of_the_Linux_Kernel.png[350,350,role="related thumb right"]
The scheduler is the Linux kernel part that decides which runnable process will be executed by the CPU next. The scheduler is the Linux kernel part that decides which runnable process will be executed by the CPU next.

Loading…
Cancel
Save