2.1 進程的定義、組成、組織、特征: 2.1.1 進程的定義: 程式:一個指令序列 定義:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位 單道程式: 一次只能處理一個程式,當該程式運行時,cpu、記憶體、I/O設備都要為它一個程式服務 程式的代碼放在程式段內,程式運行過程處理的數據 ...
2.1 進程的定義、組成、組織、特征:
2.1.1 進程的定義:
- 程式:一個指令序列
- 定義:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位
- 單道程式:
- 一次只能處理一個程式,當該程式運行時,cpu、記憶體、I/O設備都要為它一個程式服務
- 程式的代碼放在程式段內,程式運行過程處理的數據放在數據段
- 多道程式:
- 一次可以處理多個程式
- 問題?操作系統怎麼找到各程式存在記憶體的位置
- 解決問題:系統為每個程式配置一個數據結構,叫做進程式控制制塊PCB,來掃描進程的各個信息
- 進程實體:
- 程式段、數據段、PCB組成進程實體(進程映像)
- 進程實體,也可以叫做進程
2.1.2 進程的組成:
- 進程的組成說的是:進程內部由哪些部分構成(和進程的組織要區分開)
- PCB:
- PCB是進程存在的唯一標識
- 進程描述、資源分配等
- 記住:PCB進程的管理者,所需的數據全在PCB中
- 如:分配進程優先順序、進程標識的PID、UID,I/O設備的分配
- 程式段:
- 存放要執行的代碼
- 數據段:
- 存放程式運行過程中處理的各種數據
2.1.3 進程的組織:
- 進程的組織說的是:多個進程之間組織的方式
- 說的目的是:一個操作系統有非常多個PCB,它們是怎麼有效的管理起來這麼多個PCB
- 鏈接方式:
- 把當前運行的進程分為不同的運行狀態
- 這些運行狀態會通過指針指向不同的PCB
- 指向不同的PCB,優先順序高的會在前面
- 索引方式:
- 和鏈接方式一樣,它是通過索引表來指向
2.1.4 進程特征:
2.1.5 總結:
- 什麼進程是:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位
- 進程的組成:PCB、程式段、數據段
- PCB是基礎存在的唯一標識、基礎的管理者
- 程式段:放程式執行代碼
- 數據段:放運行時使用的數據
- 組織方式:鏈接、索引
2.9 FCFS、SJF、HRRN調用演算法:
2.9.1 先來先服務FCFS:
- FCFS的調度演算法,跟排隊買奶茶一樣,誰先,誰執行
- FCFS概念
2.9.2 短作業優先(不搶占、搶占)JSF:
- JSF的調度演算法,就是運行時間短的優先(搶占)
- SRTN短作業搶占調用演算法,根據運行的時間來互相搶占
- 短作業的演算法概念
2.9.3 高響應優先HRRN:
- 根據響應比來決定優先執行順序,得出響應比,就可以算周轉時間了
- HRRN的概念
2.9.4 三種演算法的對比:
2.9.5 總結、細節:
- 記住周轉時間、帶權周轉時間、等待時間、和平均時間的公式
- 記住HEER的響應比的公式
- 細節:帶權周轉時間,指的是周轉時比運行時間大多少倍
- 細節:等待時間公式是:等待時間=周轉時間-運行時間-(IO設備操作時間-IO時間的減和不減要根據具體來分析)
- 大細節-考試會考:JSF演算法是平均等待時間,平均周轉時間最少(巨集觀上理解這句話)