1.程序與進程的區別
- 程序是靜態的,是存放在磁盤里的可執行文件,就是一系列的指令集合.
- 進程是動態的,是程序的一次執行過程.
- 同一個程序多次執行,會對應多個進程.
2.進程的組成PCB
- 進程被創建時,操作系統會為該進程分配一個唯一的,不重復的"身份證號"--PID(進程ID)
- 進程控制塊PCB:保存了管理進程時所需要的信息,進程描述信息,資源分配清單,處理機相關信息
- PCB是進程存在的唯一標志,當進程被創建時,操作系統為其創建PCB,當進程結束時,會回收其PCB
- 一個進程實體(進程映像)由PCB、程序段、數據段組成。
- 進程是動態的,進程實體是靜態的。
- 程序段、數據段是給進程本身使用的,和進程自身的運行邏輯有關
- 總結:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位。
3.進程的特征
- 動態性:進程動態地產生、變化和消亡。
- 並發性:多個進程並發執行
- 獨立性:進程能夠獨立運行、獨立獲得資源、獨立接收調度的基本單位
- 異步性:各進程按各自獨立的、不可預知的速度向前推進,操作系統要提供”進程同步機制”來解決異步問題
- 結構性:進程由PCB、程序段、數據段組成