什麼是進程

圖解

在這裏插入圖片描述

grep a.txt
PID		105
代碼	代碼grep程序代碼
數據	s = a
函數庫   C語言函數庫
文件	文件a.txt
		

PCB進程控制塊

Processing Control Block
是操作系統核心中的數據結構,表示進程狀態
操作系統根據PCB對併發執行的進程進行控制和管理
通常在系統中佔用連續存區
存放着操作系統用於描述進程情況及控制進程運行所需的全部信息

id

用於區別進程

進程的狀態

就緒 等待CPU分配時間片
掛起 等待除CPU外的其他資源(主動放棄CPU)
運行 佔用CPU
停止

程序切換時需要保存的現場

A使用了CPU然後交給B
B正在使用CPU A掛起
A正在使用CPU B掛起

CPU中A/B兩個程序在不斷切換
程序使用的資源 寄存器 怎麼恢復到掛起時的狀態
PCB就用來記錄程序停止運行時的寄存器狀態 恢復後繼續執行

描述虛擬地址空間的信息

虛擬/物理地址對應關係

控制終端的信息

xshell打開兩個終端連接同一個Linux服務器 兩個終端執行同一個程序,終端的信息就存在PCB中

當前工作目錄

pwd爲啥不同

umask掩碼

保護文件創建修改的權限

文件描述符

用戶id/組id

會話和進程組

進程和可使用的資源上限

ulimit -a

進程及組成

具有獨立功能的程序在一個數據集上的一次動態執行的過程
程序
數據集合
進程控制塊

進程的特性

動態性:程序的一次執行過程,臨時的,動態產生/動態消亡
併發性:任何進程都可以同其他進程併發運行
獨立性:進程時系統進行資源分配和調度的一個獨立單位
結構性:程序+數據+進程控制塊

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