操作系統的發展過程
- 未配置操作系統的計算機系統
- 人工操作方式
- 穿卡片/或紙帶
- 缺點
- CPU與I/O設備之間的速度不匹配
- 缺點
- 穿卡片/或紙帶
- 脫機輸入/輸出方式
- 用一台或多台外圍機
- 優點
- 減少cpu等待時間
- 提高I/O速度(多設備輸入提高方式)
- 優點
- 用一台或多台外圍機
- 關鍵字詞:單用戶、CPU.內存長期空閑
- 人工操作方式
- 單道批處理系統
- 解決問題:提高系統的資源利用率和系統吞吐量
- 特點:在內存安裝作業控制說明書一個作業一個作業的執行
- 備注:作業控制說明書是用戶提供的,用作業控制語言編寫的;用以表達作業控制意圖。
- 缺點
- 系統中資源不能得到充分的利用,因為I/O設備的低速性,更使cpu的利用率顯著降低
- 系統中資源不能得到充分的利用,因為I/O設備的低速性,更使cpu的利用率顯著降低
- 關鍵字詞:I/O太慢,CPU太快
- 多道批處理系統
- 設計目的:進一步提高資源利用率和系統吞吐量
- 優缺點
- 優點
- 資源利用率高、吞吐量大
- 缺點
- 每個程序都要很久才處理完、無交互能力
- 優點
- 分時系統
- 設計目的:滿足人--機交互的需求
- 系統描述:指一個主機上連接配有多個顯示器和鍵盤的終端並以此組成的系統,(需要在系統中配置多路卡)
- 名詞解釋
- 時間片
- 每個進程被分配一時間段,稱作它的時間片,即該進程允許運行的時間。
- 時間片輪轉調度算法
- 概述:調度程序所要做的就是維護一張就緒進程列表,當進程用完它的時間片后,它被移到隊列的末尾。
- 常見算法
- 多級反饋隊列調度算法
- 優先權調度算法
- 高響應比優先調度算法
- 調度說明:很多按照緒隊列,並為各個隊列賦予不同的優先級,通過不同的方式調度進程
- 作業調度
- 系統按照某種算法從外存中選擇一個或者多個作業進入內存的過程
- 進程調度
- 系統按照某種算法從內存中選擇一個或者多個進程,讓它或者它們投入運行
- 周轉時間
- 一個作業從開始到結束所用時間
- 響應時間
- 從接受作業開始到得到第一個結果結束
- 多路卡
- 實現多路分時復用
- 時間片
- 系統特征
- 多路性
- 提高資源利用率,降低費用。
- 獨立性
- 彼此操作不會干擾
- 及時性
- 用戶的請求能夠短時間獲得相應
- 交互性
- 用戶能夠請求系統提供多方面服務
- 多路性
- 由於多用戶,所以要有“多路卡”、作業直接入內存、有個“時間片”調度作業
- 實時系統
- 系統特征:將時間作為關鍵參數,它必須對所接收到的某些信號做出"及時"或"實時"的反應。
- 系統分類
- 工業(武器)控制系統
- 武器控制
- 自動駕駛
- 信息查詢系統
- 訂票、查詢等系統
- 多媒體系統
- 嵌入式系統
- 工業(武器)控制系統
- 任務分類
- 周期實時任務和非周期性實時任務
- 硬實時任務和軟實時任務
- 硬實時任務多在武器控制,工業控制等后果嚴重的系統
- 軟實時任務多用於信息查詢等系統
- 進程的描述與控制
- 進程的執行
- 前趨圖
- 程序的順序執行
- 三個特征
- 順序性
- 封閉性
- 運行時獨占全機資源,資源的狀態只有本程序才能改變
- 可再現性
- 三個特征
- 程序的並發執行
- 特征
- 間斷性
- 共享資源,完成一個任務相互合作,並相互制約
- 失去封閉性
- 不可再現性
- 程序經過多次執行后,雖然環境和初始條件相同,但是得到結果卻不相同
- 間斷性
- 執行條件
- 讀寫集
- 讀基:R(Pi)={a1,a2,a3,....},是程序Pi在執行期間所需要的參考的所有的變量的集合,稱為讀基。
- 寫集:W(Pi)={b1,b2,b3,......},是程序Pi在執行期間所要改變的所有變量的集合
- Bernstein條件
- 若兩個程序各自的讀寫集兩兩相交為空,則它們並發執行其有可能具有在現性。
- 讀寫集
- 特征
- 進程的描述
- 進程的定義和特征
- 定義
- 進程是程序的一次執行
- 進程是一個程序及其數據在處理機上順序執行所發生的活動。
- 進程的組成:數據段,程序段,PCB
- 特征
- 動態性
- 進程由創建而產生,由調度而執行,由撤銷而消亡
- 程序是一組有指令的集合,並存放在某種介質上,所以它是靜態的。
- 並發性
- 它是指多個進程實體同存內存中,且能在一段時間內同時運行。
- 獨立性
- 獨立運行、獲取資源、接受調度的基本單位
- 異步性
- 各自獨立的、不可預知的速度向前推進。
- 動態性
- 定義
- 進程的基本狀態及其轉換
- 基本狀態{見名知意}
- 就緒狀態
- 執行狀態
- 阻塞狀態
- 基本狀態{見名知意}
- 掛起操作和進程狀態的轉換
- 其余類容詳見P38
- 注意各種狀態之間的切換已經加入掛起狀態后的名稱變化
- 進程管理中的數據結構
- 數據結構一般為
- 內存表
- 設備表
- 文件表
- 進程管理的進程表
- PCB的作用
- 作為獨立運行的基本單位的標志
- 能實現間斷性運行方式
- 提供進程管理所需的信息
- 提供進程調度所需要的信息
- 實現與其他進程的同步通信
- PCB中的信息(重點)
- 進程標識符
- 外部標識符
- 為倫理描述進程的家族關系,還設置父進程標識及子進程標識
- 內部標識符
- 通常為進程序號
- 外部標識符
- 處理機狀態
- 處理機狀體信息也稱為處理機的上下文,由各種寄存器中內容組成
- 通用寄存器
- 指令計數器
- 程序狀態字(PSW)
- 用戶棧指針
- 處理機的執行狀態
- 系統態/管態/內核態
- 具有較高特權,能執行一切指令
- 用戶態/目態
- 較低特權能執行指定指令
- 系統態/管態/內核態
- 處理機狀體信息也稱為處理機的上下文,由各種寄存器中內容組成
- 進程調度信息
- 進程狀態
- 進程優先級
- 進程的權重數值,權重高優先處理。
- 進程調度所需其他信息
- 事件
- 代指阻塞原因,后面有那些原因
- 進程控制信息
- 程序和數據的地址
- 數據在內存或外存的地(首)址
- 進程的同步通信基質
- 如:消息指針、信號量等
- 資源清單
- 該進程所需的全部資源(CPU除外)
- 還有一張已分配的資源清單
- 鏈接指針
- PCB所在隊列的下一個進程的PCB首地址。
- 程序和數據的地址
- 進程標識符
- PCB的組織方式
- 線性方式
- 鏈接方式
- 索引方式
- 數據結構一般為
- 進程的定義和特征
- 進程的生命周期及其過程
- 進程的創建
- 引起創建進程的事件
- 系統創建
- 用戶登陸
- 作業調度
- 提供服務
- 用戶創建
- 應用請求
- 系統創建
- 創建過程
- 1.事件請求,調用原語。
- 2.申請空白PCB
- 3.初始化PCB
- 初始化標識信息
- 初始化處理機狀態信息
- 初始化處理機控制信息
- 4.插入到就緒隊列
- 引起創建進程的事件
- 進程的阻塞和喚醒
- 引起進程阻塞和喚醒的事件
- 向系統請求共享資源失敗
- 等待某操作完成
- 新數據尚未到達
- 等待新任務到達
- 阻塞過程
- 主動行為,調用原語block改變進程控制塊(PCB)中的現行狀態,插入到PCB阻塞隊列中
- 喚醒過程
- 被動行為,由前趨事件喚醒。調用原語wakeup移出阻塞隊列,然后改變PCB中的現行狀態。
- 引起進程阻塞和喚醒的事件
- 進程的掛起與激活
- 過程參考阻塞過程和喚醒過程掛起原語suspend激活原語active
- 進程的終止
- 引起進程終止的事件
- 正常結束
- 異常結束
- 越界錯、保護錯、非法指令、特權指令錯、運行超時、等待超時、算術運算錯、I/O故障
- 外界干預
- 引起進程終止的事件
- 進程的創建
- OS內核
- OS內核:通常將一些與硬件緊密相關的模塊(中斷模塊等)、各種常用設備的驅動程序以及運行頻率較高的模塊等,它們常駐內存,我們稱之為OS內核。
- OS內核
- 支持功能
- 中斷處理
- 時鍾管理
- 原語操作
- 原語是指不能在分割的若干指令,特點在於不能進行中斷,執行就必須執行結束。
- 資源管理功能
- 進程管理
- 進程的調度與分派、進程的創建與撤銷等
- 存儲器管理
- 物理地址與邏輯地址之間的轉換、內存分配與回收、內存保護和對換功能
- 設備管理
- 設備驅動管理、緩和CPU和I/O之間緩沖管理
- 進程管理
- 支持功能
- 進程的同步
- 經典進程的同步問題
- 進程通信
- 線程的基本概念
- 線程的實現
- 進程的執行
- 操作系統概述
- 操作系統的主要功能
- 處理機管理功能
- 進程控制
- 進程同步
- 進程通信
- 調度
- 存儲器管理功能
- 內存分配
- 內存保護
- 地址映射
- 內存擴充
- 設備管理功能
- 緩沖管理
- 設備分配
- 設備處理
- 文件管理功能
- 文件存儲空間的管理
- 目錄管理
- 文件的讀寫管理
- 文件存取控制
- OS與用戶之間的接口
- 用戶接口
- 聯機用戶接口
- 脫機用戶接口
- 圖形用戶接口
- 程序接口
- 用戶接口
- 處理機管理功能
- 操作系統的目標
- 方便性
- 有效性
- 可擴展性
- 開放性
- 操作系統的基本特征
- 並發
- 並行與並發
- 引入進程
- 共享
- 虛擬
- 異步
- 並發
- 操作系統的主要功能
- 微機操作系統(四代)
- 單用戶單任務操作系統
- CP/M
- MS-DOS
- 單用戶多用戶操作系統
- Windows98之后的系統
- 多用戶多任務操作系統
- UNIXos
- SolarisOS
- LinuxOS
- 單用戶單任務操作系統
- 網絡操縱系統
- 分布式操作系統