Linux学习之系统编程篇:程序、进程、并发、并行
生活随笔
收集整理的這篇文章主要介紹了
Linux学习之系统编程篇:程序、进程、并发、并行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、程序和進程
(1)程序:
本質:二進制文件,可以運行,但還沒有運行,占用磁盤空間,不占用 CPU 和內存(系統資源)。
(2)進程:
本質:正在執行的程序,占用 CPU 和內存等更多的系統資源,一般不占用磁盤空間(I/O 操作可能會占用磁盤空間)。
站在程序員的角度:進程是一系列指令的執行過程。
站在操作系統的角度:進程是分配系統的資源的最小單位.
(3)關系:
一個程序可以對應多個進程,但一個進程只能對應一個程序。
二、并發和并行
1、并發
(1)CPU 將 1s 分成若干個時間碎片,每個時間碎片 CPU 只能執行一個進程的一小部分。
(2)以時間碎片為單位,若干個進程循環占有 CPU,并執行對應進程的一小部分。
(3)經過 n 次循環占有 CPU,每個進程才能執行完畢。
總的來說就是多個進程以時間碎片為單位,循環占有 CPU,以完成同時執行的現象稱為并發。
注意:CPU 處理是納秒級,肉眼識別是毫秒級的,雖然每個進程的執行是間斷的,但肉眼感官上是連續的。
2、并行:
并發發生在單核(只能有一個并發鏈)。
并行發生在多核(可以有多個并發鏈)。
總結
以上是生活随笔為你收集整理的Linux学习之系统编程篇:程序、进程、并发、并行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习:文件描述符相关函数
- 下一篇: Linux学习之系统编程篇:MMU(Me