軟體設計師25-作業系統
思維導圖,不存在的
作業系統
看圖,其他掠過
1 作業系統定位

2 作業系統作用
- 作為使用者和計算機間的介面
- 作為實現計算機系統資源的管理者
- 實現了對計算機資源的抽象
3 作業系統分類
批處理系統、分時作業系統、實時作業系統、網路作業系統、分散式作業系統
4 作業系統的功能(2.2)
處理機管理功能、儲存器管理功能、裝置管理功能、檔案管理功能、使用者介面
處理機管理
又稱程序管理(4.1)
程序
1 程序概念:程式關於某個資料集合的一次執行過程
2 程序特徵
1)結構:程序控制塊(PCB)+程式+資料=程序實體
2)動態性:程序是實體的一次執行過程,有生命週期
程式是一組有序指令的集合,是靜態的
3 程序的三種基本狀態
就緒態萬事俱備,只欠CPU
執行態正在CPU執行
阻塞態/等待態 正執行的程序由於發生某事而無法執行

4 程序的互斥與同步
1)程序制約關係
間接相互制約關係--資源共享(臨界/獨佔資源,如印表機)
直接相互制約關係--程序合作(訪問同一變數,如倉庫的賣生產者和消費者)
5 臨界資源
1) 臨界資源 :把一段時間內只允許一個程序訪問的資源稱為臨界資源或獨佔資源
2) 臨界區:每個程序中訪問臨界資源的那段程式碼
訊號量
6 訊號量機制
1)訊號量使所有的程序互斥的訪問臨界資源
2)訊號量是當前可使用資源數(大於零時),小於零阻塞
7 訊號量的應用
1)利用訊號量實現程序互斥
訊號量為資源個數
2)利用訊號量實現前驅關係
- 訊號量0
- 程序p1在p2前執行
程序p1 S1; signal(S);V(S) 程序p2 wait(S);P(S) S2;
3) 利用訊號量實現同步
確保存取不同時執行,兩個變數
程序排程
程序排程:決定哪個CPU獲得處理機,所有作業系統都有
8 排程方式
1)非搶佔方式
當前程序完成,才能執行其他程序
簡單、開銷小,僅適合批處理OS
2)搶佔方式
根據某一原則,搶佔正在執行的程序的CPU
搶佔原則:時間片原則、短作業(程序)優先原則、優先權原則
9 排程演算法
1) 先來先服務FCFS
永遠給隊首的作業,利於長作業,不利於短作業
2) 短作業優先SJ(P)F
同一時間誰短誰先來
降低平均等待時間,對長作業不利,未考慮緊迫程度,估計的作業時間(不一定做到短作業優先)
3) 高優先權優先
靜態優先權:建立程序時確定,值越小優先順序越高
動態優先權:建立程序時的優先順序在執行過程中變化
如 高響應比優先演算法
優先權=(等待時間+要求服務時間)
即系統響應時間
/要求服務時間(值越大優先順序越高)等待時間相同,利於短作業;要求服務時間相等,先來先服務;長作業
4) 時間片輪轉
時間片結束,程序未完成置於隊尾;時間片內程序結束或阻塞,CPU切換。
死鎖
10 死鎖概念:執行過程中因爭奪資源而造成的僵局,無外力作用則無法繼續執行
11 死鎖產生原因
1)競爭資源不足
資源分類:
可剝奪性資源:高優先順序程序搶佔,如CPU、主存
不可剝奪性資源:(臨界資源)必須程序用完後才能釋放,如磁帶、印表機
只有不可剝奪性資源才會引起死鎖
2)程序間推進順序非法
12 產生死鎖必要條件
1)互斥條件
程序訪問的是 臨界資源 ,其他程序只能等待當前程序完成
2)請求和保持條件
程序在 請求新資源 的同時, 保持 對已有資源的 佔有
3)不剝奪條件
程序獲得的資源,只能由程序使用完成後 主動釋放
4)環路等待條件
發生死鎖時,必定存在一個程序-資源環( 互相等待對方資源 )
13 處理死鎖
1)預防死鎖
事先預防,破壞產生思索的一個或幾個條件(互斥條件除外)
2)避免死鎖
銀行家演算法、採取事先預防的策略,防止系統進入不安全狀態
3)檢測死鎖(檢查)
4)解除死鎖(有則改之)
撤銷或掛起一些程序再將這些程序分配給阻塞狀態的程序
有可能是系統獲得較好的資源利用率和吞吐率,但難度較大
記憶體管理
1 主要指對 記憶體 的管理,負責記憶體分配和回收,記憶體的保護和擴充
2 目的:儘量提高記憶體的使用率
3 分配方式
-
連續的分配方式
使用者程式分配在連續的記憶體空間
1)單一連續分配
DOS 分為作業系統和使用者,且只能分配給一個作業(單使用者單任務)
2)固定分割槽分配
分為作業系統和若干個大小不等的區域(按作業大小分配,每個區域存在浪費( 內缺陷 ))
3)動態分割槽分配
分為作業系統和使用者區域,來一個劃出一部分空間
首次適應演算法(從低地址開始找能盛下作業的空閒分割槽,劃出)
迴圈首次適應演算法(從上次分配過的地方往下搜尋)
最佳適應演算法(找出與作業差值相差最小的(把分割槽按從小到大的順序排序),太小會無法分配,產生 外缺陷 )
最壞適應演算法(找出與作業差值相差最大的)
4)可重新定位分割槽分配
把記憶體中所有作業向低地址移動,使他們全部臨界,原來的小分割槽變成大分割槽(拼接)
對換
1 概念:把記憶體中暫時不能執行的程序或暫時不能使用的程式、資料,調到外存,把具備執行條件的從外存呼叫記憶體
2 分類
1 整體對換:整個程序為單位對換
2 頁內對換/分段對換 以頁或段為單位
離散分配方式
允許將一個程序直接分散的裝入許多不相鄰的分割槽中
1 分類
分頁儲存管理方式
1 分頁式儲存管理的原理
頁面
將一個程序分為若干個大小相等的片稱為頁面或頁(暑假數學作業,有5張卷子);加以編號(從0開始)(分別為數學1、數學2..);把記憶體空間分配成與頁面相同大小的若干個儲存塊,稱為塊或頁框( 頁和塊大小相同 )(裡面為許多透明袋檔案袋(一個透明袋可以裝一份卷子))
將卷子隨機裝入這些透明袋中(多個不相鄰的物理塊),程序的最後一頁經常裝不滿一塊而形成 頁內碎片
地址變換
實現
頁表 實現了從頁號到物理塊號的地址對映

地址變換機構實現了從邏輯地址到實體地址的轉換

所以實體地址= b x 頁大小/塊大小+頁內地址
具有塊表的地址變換機構
訪問兩次記憶體(訪問頁面,計算實體地址;根據實體地址找資料)
存取器利用率高,CPU處理速度低

分段儲存管理方式
段表 作用類似頁表,區別(組成): 段號;段在業內中的起始地址;段長

段頁式儲存管理方式

頁面置換演算法
- 最佳置換演算法
效能最好,最難實現:選以後再也不用的或未來最長時間不用的
可以用來衡量其他演算法,與此演算法越接近越好 - 先進先出( FIFO )置換演算法 最直觀,效能最差,可能會出現踢出先進(經常使用的頁面)的
- 最近最久未使用( LRU )
過去預測未來,為每個頁面增加一個訪問欄位,訪問一次,欄位值加1
裝置管理
I/O系統組成:輸入、輸出裝置;儲存功能的裝置;裝置控制器
1 裝置管理概念
-
裝置管理程式功能
1)提供和程序管理系統的介面
2)進行裝置分配
3)實現裝置和裝置之間、裝置和CPU之間的並行操作
4)進行緩衝區管理
2 I/O控制方式
1)程式I/O方式
2)中斷控制方式
3)直接儲存器訪問(DMA)方式 分塊傳
4)I/O通道(專門小型CPU)控制方式
位元組多路通道 選擇通道 成組多路通道
3 緩衝管理
1)單緩衝 類似 生產者-消費者
2)雙緩衝
要求輸入輸出速度匹配 兩個桶(始終有桶在接水)交替倒水
常用3 4
3)迴圈緩衝
n個大小相同的緩衝區,分為
裝入資料的空緩衝區R 裝滿資料的緩衝區G 正在輸出的緩衝區C(繞成圈)
4)緩衝池
既可輸入又可輸出的公用緩衝池,分為
空緩衝區 裝滿輸入資料的緩衝區 裝滿輸出資料的緩衝區
4 引入緩衝目的
1)緩和CPU與I/O裝置之間的速度不匹配
2)減少CPU的終端頻率,放寬對CPU中斷響應的時間限制
3)提高CPU和I/O裝置之間的並行性
5 裝置分配
1)裝置分配原則
靜態分配 執行前分配好,不會造成死鎖
動態分配 需要時提出申請(按需分配),易造成死鎖
2)裝置分配策略
先請先分配、優先順序高者先分配
磁碟管理
6 磁碟

儲存位置:由柱面號(磁軌號)、盤面號(第幾個磁碟)(磁頭號)、扇區組成
7 磁碟訪問時間(1+2+3)
1)尋道時間Ts:把磁臂從當前位置移到指定磁軌上所經歷的時間
2)旋轉延遲時間Tr:市面流通10000轉/min 7200轉/min 5200轉/min,指定扇區移動到磁頭下面所經歷的時間
1 2 機械結構時間,佔比大;集中有利於減少此時間
3)傳輸時間Tt:資料從磁碟都出或向磁碟寫u他資料所經歷的時間 電氣時間
8 磁碟排程演算法
1)先來先服務(FCFS)
2)最短尋道時間優先SSTF
優先滿足與磁頭最近,會出現 程序飢餓 (離磁頭遠的得不到滿足),平均時間不一定最短
3)掃描(SCAN)演算法(電梯排程演算法)
從初始磁軌開始,向磁軌號遞增方向訪問(上樓)。然後再從大向小(下樓)
錯過電梯,只能等待下來時帶上自己
4)CSAN 迴圈掃描演算法
電梯向上,降到最低,迴圈
9 虛裝置與SPOOLing技術/假離線技術

1)作用:提高I/O速度、將獨佔裝置改為共享裝置、實現了虛擬裝置功能
檔案管理
1 檔案:具有檔名的若干相關元素的集合
2 檔案系統
1)負責管理檔案的系統軟體
2)被管理的物件-檔案
3 檔案的結構
1)檔案的邏輯結構
1 有結構的檔案 由一條條資料構成 包括:順序檔案、索引檔案、索引順序檔案、直接檔案 2 無結構的檔案 由字元流構成(如mp3) 源程式、可執行檔案、庫函式、mp3等,UNIX系統把所有檔案都看作流式檔案
2)檔案的物理結構
磁碟可直接訪問
外存分配方法(一個系統通常只採用一種):
1 連續分配 順序檔案儲存,每個檔案分配一組相鄰的盤塊,緊湊消除建立刪除善生的碎片 2 連結分配 連結檔案:通過每個盤塊上的連結指標,將一個檔案的多個離散的盤塊連結成一連結串列 缺點:不支援高效存取、FAT佔用記憶體較大 3 索引分配 單級索引 多級索引 混合索引
3 磁碟的空間管理
1)空閒表法 空閒連結串列法
2)位檢視法
用一個位表示磁碟塊的空閒狀態
如 用0表示未使用,1表示已使用

0-31是第一個字
4096/32=128
200 x 1024x1024/1 x 1024 x 32 =6400
3)成組連結法
作業管理
1 作業狀態
批處理型作業經歷:提交 後備 執行 完成
2 排程層次
1)高階排程/作業排程/長程排程
決定後備佇列中哪幾個作業呼叫記憶體,僅用於多道批處理系統,週期最長
2)中級排程/對換排程
提高記憶體利用率和系統吞吐率。將不用的從 記憶體調出外存,用的調回來
3)低階排程/程序排程/短程排程
根據某種演算法,決定就緒佇列中的哪個程序應獲得CPU,分給他,基本排程,應用於所有系統(多道批處理系統、分時、實時),週期最短
3 排程演算法
先來先服務、短作業優先、高優先權優先、高響應比優先
4 使用者介面
作業系統介面:命令介面、程式介面
