程序與進程的簡單小知識

一.程序與進程

1.程序:完成特定任務的一系列指令集合

(1)單道程序:CPU一次只能運行一個程序
(2)進程程序:正在運行的程序
(3)多道程序設計:基礎->時鐘中斷    分時系統:每次執行程序的一部分
2.進程:
(1)從用戶角度看,進程是程序的一次動態執行過程 ;分時系統:時間片輪轉
(2)從操作系統角度:進程是操作系統分配資源的基本單位,也是最小單位 ;每個進程都有自己的狀態和獨立的地址空間
      進程需要有相關的數據結構來管理,描述進程用PCB(PCB:進程控制塊,LINUX操作系統下的PCB是task_struct),操作系統(OS)通過PCB來感知一個進程的存在
3.程序:數據+代碼
   進程:數據+代碼+堆棧+PCB(粘合作用)
4.進程和程序的區別
(1)進程是動態的,程序是靜態的
(2)進程生命週期短暫,程序永久
(3)進程有重要的數據結構PCB,程序沒有
(4)一個進程對應一個程序,一個程序對應多個進程
5.進程三態:
6.LINUX操作系統下的幾種狀態

二.fork---創建進程
1.創建進程(父子進程代碼共享)
可得結果爲

2.查看進程--ps

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章