軟體設計師25-作業系統

阿墨呦發表於2018-11-07

思維導圖,不存在的

作業系統

看圖,其他掠過
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 1024×1024/1 x 1024 x 32 =6400
3)成組連結法

作業管理

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


相關文章