zeus 4 years ago
parent
commit
1d72625044
  1. 8
      Linux-process-management/Life_cycle_of_a_process.adoc
  2. 0
      Linux-process-management/images/1-76.png
  3. 0
      Linux-process-management/images/2-50.png
  4. 0
      Linux-process-management/images/Multithreaded_process.png
  5. 0
      Linux-process-management/images/Process_states.png
  6. 0
      Linux-process-management/images/Simplified_Structure_of_the_Linux_Kernel.png
  7. 0
      Linux-process-management/images/fork-exec-exit-wait.png
  8. 0
      Linux-process-management/images/program_in_memory2.png
  9. 6
      Linux-process-management/processes.adoc

8
Linux-process-management/Life_cycle_of_a_process.adoc

@ -23,7 +23,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::./fork-exec-exit-wait.png[350,350,role="related thumb right"] image::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 +184,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::./Multithreaded_process.png[350,350,role="related thumb right"] image::images/Multithreaded_process.png[350,350,role="related thumb right"]
Threads in the same process share: Threads in the same process share:
@ -244,7 +244,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::./program_in_memory2.png[350,350,role="related thumb right"] image::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 +301,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::./Simplified_Structure_of_the_Linux_Kernel.png[350,350,role="related thumb right"] image::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.

0
Linux-process-management/1-76.png → Linux-process-management/images/1-76.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
Linux-process-management/2-50.png → Linux-process-management/images/2-50.png

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

0
Linux-process-management/Multithreaded_process.png → Linux-process-management/images/Multithreaded_process.png

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
Linux-process-management/Process_states.png → Linux-process-management/images/Process_states.png

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

0
Linux-process-management/Simplified_Structure_of_the_Linux_Kernel.png → Linux-process-management/images/Simplified_Structure_of_the_Linux_Kernel.png

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

0
Linux-process-management/fork-exec-exit-wait.png → Linux-process-management/images/fork-exec-exit-wait.png

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

0
Linux-process-management/program_in_memory2.png → Linux-process-management/images/program_in_memory2.png

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB

6
Linux-process-management/processes.adoc

@ -66,7 +66,7 @@ An operating system kernel that allows multitasking needs processes to have cert
[.float-group] [.float-group]
-- --
[.right] [.right]
image:./Process_states.png[350,350,role="related thumb right"] image:images/Process_states.png[350,350,role="related thumb right"]
* the process is *"created"*. * the process is *"created"*.
* After that the process scheduler assigns it the *"waiting"* state. * After that the process scheduler assigns it the *"waiting"* state.
@ -104,9 +104,9 @@ Processes can communicate with each other through:
[.float-group] [.float-group]
-- --
[.right] [.right]
image:./1-76.png[350,350,role="related thumb right"] image:images/1-76.png[350,350,role="related thumb right"]
[.left] [.left]
image:./2-50.png[350,350,role="related thumb left"] image:images/2-50.png[350,350,role="related thumb left"]
-- --
footnote:[https://www.geeksforgeeks.org/inter-process-communication-ipc/[^]] footnote:[https://www.geeksforgeeks.org/inter-process-communication-ipc/[^]]

Loading…
Cancel
Save