操做系統知識點梳理

操做系統

簡單地梳理一下操做系統課程的脈絡,回憶用。算法

概述

  • 特徵:併發、共享、虛擬、異步,前兩者爲最基本
  • 目標
    • 管理計算機資源
    • 爲用戶提供接口:命令、程序、GUI
  • 發展
    • 批處理系統
    • 分時操做系統
    • 實時操做系統
    • 網絡和分佈式操做系統
  • 運行機制
    • 中斷、異常
    • 系統調用
    • 核心態,用戶態
  • 體系結構

進程管理

進程

  • 概念:程序段、數據段、PCB
  • 資源分配和調度的單位
  • 狀態:建立,就緒,運行,阻塞,結束
  • 通訊
    • PV操做
    • 共享存儲區
    • 消息傳遞:消息隊列(直接),信箱(間接)
    • 管道通訊

線程

  • CPU資源分配的單位
  • 不擁有系統資源
  • 實現方式:
    • 用戶級線程
    • 內核級線程
  • 多線程模型:
    • 多對一(用戶級) 併發性不高
    • 一對一(內核級) 切換開銷
    • 多對多(折衷) 集二者長處

處理機調度

  • 三級調度
    • 做業(高級)調度:內存與輔存
    • 內存(中級)調度:內存與外存,掛起
    • 進程(低級)調度:就緒隊列中調度 頻率高
  • 調度方式
    • 非剝奪調度
    • 剝奪調度
  • 調度指標
    • CPU利用率、系統吞吐
    • 週轉時間、平均週轉、帶權週轉
    • 等待時間
    • 響應時間
  • 調度算法
    • 先來先服務FCFS
    • 短做業優先:飢餓
    • 優先級調度:剝奪非剝奪,靜態動態
    • 高相應比優先:非搶佔式,響應比=(等待+要執行)/要執行
    • 時間片輪轉
    • 多級反饋隊列:隊列優先級逐級下降,優先級越高時間片越小

進程同步

  • 基本概念:臨界資源、同步、互斥
  • 基本實現方法
    • 軟件方法
    • 硬件方法
  • 信號量
    • 整型
    • 記錄型
    • signal,wait
  • 管程
  • 經典同步問題
    • 生產者消費者
    • 讀者寫者
    • 哲學家進餐

死鎖

  • 概念
  • 產生緣由
    • 資源競爭、推動順序非法
    • 產生的必要條件及破壞
      • 互斥 改造資源爲可共享 e.g. spooling技術
      • 不可剝奪 按優先級強制剝奪
      • 請求並保持 靜態分配一次所有分配到位
      • 循環等待 順序資源分配法
  • 處理策略
    • 預防(破壞四個必要條件)見上
    • 避免
      • 安全狀態與不安全狀態
      • 銀行家算法 Available Max Allocation Need
    • 檢測與解除
      • 資源分配圖
      • 死鎖定理(化簡資源分配圖)
      • 死鎖解除:資源剝奪、撤銷進程、進程回退法

內存管理

內存管理的功能:內存分配與回收,地址轉換,內存空間擴充,存儲保護windows

基本概念

  • 程序的執行
    • 編譯:源代碼->目標模塊
    • 連接:目標模塊和庫函數->裝入模塊
      • 靜態連接:運行前組合
      • 轉入時動態連接:邊裝入邊連接
      • 運行時動態連接:便於實現模塊共享
    • 裝入:裝入程序將 裝入模塊->內存
      • 絕對裝入:編譯時直接肯定地址
      • 可重定位裝入:裝入時修改地址,地址變換一次完成,裝入後不發生移動
      • 動態運行時裝入:重定位寄存器;程序可分配到不連續的區域;只裝入部分代碼便可
  • 邏輯地址空間、物理地址空間
  • 內存保護
    • 上下限寄存器
    • 重定位寄存器(物理地址最小值)、界地址寄存器(邏輯地址最大值)
  • 覆蓋與交換
    • 覆蓋 僅一道程序,在同一程序中進行
    • 交換 不一樣進程間進行;交換整個程序;與虛擬內存的調入調出不一樣
    • 調入調出

內存分配方式

  • 連續分配
    • 單一連續分配 系統區,用戶區,一道程序
    • 固定分區分配 分區大小相等or不等;無外碎片;有內碎片
    • 動態分區分配
      • 不預先劃份內存
      • 外碎片無內碎片;緊湊
      • 分配算法:首次適應、最佳適應(產生最多的外碎片)、最壞適應、臨近適應(循環首次適應)
  • 非連續分配
    • 基本分頁存儲管理
      • 頁面、頁面大小
      • 地址結構:頁號,頁內偏移
      • 頁表:頁號->塊號
      • 地址變換機構
      • 快表 TLB 塊表
      • 多級頁表 一級頁號;二級頁號;頁內偏移
      • 一維地址空間
    • 基本分段存儲管理
      • 分段:段號,段內偏移
      • 段表:段號->段長,段起始地址
      • 地址變換機構
      • 段的共享與保護 可重入代碼;越界保護
      • 二維地址空間
    • 段頁式存儲管理方式
      • 邏輯地址:段號,頁號,頁內偏移
      • 同一個進程 只有一個段表;可能有多個頁表
      • 地址變換機構 變換結構
  • 有效訪存時間 EAT 計算
  • 位視圖

虛擬內存

  • 基本概念
    • 傳統存儲管理:一次性、駐留性
    • 局部性原理:時間局部性、空間局部性
    • 虛擬存儲器:屢次行、對換性、虛擬性(邏輯上擴充)
    • 實現:請求分頁/段/段頁存儲管理
    • 頁表,中斷機構,地址變換機構
  • 請求分頁管理
    • 頁表 加入 狀態位(是否在內存)、修改位、訪問字段等
    • 缺頁中斷機構
    • 地址變換機構 變換過程 變換過程
  • 頁面置換算法
    • 最佳置換算法(理想)
    • 先進先出
    • 最近最久未使用 LRU 須要硬件支持
    • 時鐘置換算法(二次機會算法)
  • 頁面分配策略
    • 駐留集大小
      • 固定分配
      • 可變分配全局置換
      • 可變分配局部置換
    • 調入頁面的時機
      • 預調頁
      • 請求調頁
    • 從何處調入頁面
      • 對換區
      • UNIX 未運行從文件區調入,運行過換出至對換區
    • 抖動
    • 工做集

文件管理

文件系統

  • 文件
    • 操做:建立、讀寫、指針重定位、刪除、截斷
    • 文件指針
    • 文件打開計數
  • 邏輯結構
    • 無結構文件(流式)
    • 有結構文件(記錄式)
      • 順序
      • 索引
      • 索引順序
      • 散列文件
  • 目錄結構
    • 文件控制塊FCB
    • 索引結點
    • UNIX 索引節點和FCB
    • 目錄
      • 單級目錄
      • 兩級
      • 多級目錄(樹形目錄)
      • 無環圖目錄 (文件共享)
  • 文件共享
    • 硬連接:索引節點共享 UNIX
    • 軟鏈接:符號連接 windows
  • 文件保護
    • 訪問類型 rwx
    • 訪問控制 用戶組

文件系統實現

  • 文件系統層次結構
  • 目錄實現
    • 線性列表
    • 哈希表
  • 文件實現
    • 分配方式
      • 連續分配:尋道數最小 時間最短;FCB:起始地址,長度
      • 連接分配:隱式連接(只能順序訪問盤塊 FCB起始和尾巴地址)、顯式連接(一張FAT表)
      • 索引分配:FCB指索引塊
      • UNIX 混合索引分配法
    • 存儲空間管理(空閒塊)
      • 空閒表法
      • 空閒鏈表法
      • 位示圖法
      • 成組連接法

磁盤組織與管理

  • 磁盤結構:磁頭、磁道、扇區、盤面、柱面
  • 讀寫時間:尋道時間(磁臂移動)、延遲時間(旋轉)、傳輸時間
  • 磁盤調度算法
    • 先來先服務
    • 最短尋找時間優先(飢餓)
    • 掃描 SCAN LOOK(不到頂部 只到最遠的請求處)
    • 循環掃描 C-SCAN C-LOOK
  • 磁盤管理
    • 初始化
    • 引導塊
    • 壞塊

I/O管理

概述

  • 基本功能
    • 隱藏物理設備細節
    • 設備無關性
    • 提升處理機 IO涉筆的李永利
    • 控制IO設備
    • 錯誤處理
  • 設備獨立性
    • 邏輯設備 應用請求邏輯設備名
    • 物理設備 執行時系統轉換
  • 控制設備方法
    • 直接IO指令
    • 內存映射IO
  • IO設備分類
    • 速度:低、中、高
    • 信息交換單位:塊、字符
    • 共享屬性:獨佔、共享

控制方式

  • 控制方式
    • 輪詢
    • 中斷
    • 直接訪問存儲器 DMA
    • IO通道
  • 中斷機制 中斷向量表 中斷優先級
  • DMA 繞過CPU直接在IO和內存間傳輸

IO內核子系統

  • IO調度
  • 緩衝
    • 匹配速度差別
    • 協調數據大小不一致
    • cache與緩衝區別 前者是拷貝 後者是惟一副本
  • 假脫機SPOOLing
    • CPU高速 IO低速
    • 輸入輸出進程,輸入輸出緩衝區,輸入輸出井(磁盤),井管理程序
    • 獨佔設備改造爲共享設備
  • 錯誤處理 恢復 讀寫錯誤;請求失敗時候返回錯誤;出錯日誌
  • IO保護 防止非法命令執行
相關文章
相關標籤/搜索