1. 程式人生 > >《現代作業系統》閱讀筆記——作業系統梗概

《現代作業系統》閱讀筆記——作業系統梗概

  • 作業系統的主要功能

    • 隱藏複雜的底層硬體操作,為使用者程式提供抽象
    • 管理計算機資源
  • 超執行緒

    • 對於一般的CPU, 雖然有多執行緒的概念,但是實際上CPU中每一時刻還是隻有一個執行緒在執行的
    • 我們知道現代CPU是流水線執行的,並且每個流水線階段有多個執行單元,比如專門執行浮點運算的,因此在不同任務重很有可能有些執行單元會不在工作。而超執行緒技術就是讓閒著的那些執行單元去做另一個執行緒的工作。這樣就實現了每一是個有多於一個執行緒在執行。
    • 但是這樣需要多於的硬體去管理,執行緒越多管理越複雜,所以一般只有2個執行緒
    • 在核心本身就被充分利用的情況,超執行緒沒什麼用處
  • CPU, 物理核心和邏輯核心

    • CPU就是每臺電腦一個的那東西
    • 核心就是CPU中含有的核心數,現在一般是一個CPU8核心,他們公用一些cache
    • 物理核心和邏輯核心一般來說是一樣的,但是由於超執行緒技術的存在,邏輯記憶體可能是物理核心的兩倍
  • 作業系統五大組成部分

    • 輸入輸出,保護/安全,程序,檔案系統,系統呼叫
  • 輸入輸出策略

    • 最簡單的就是CPU阻塞等待輸出輸出完成
    • 一般的方法是啟動裝置,待操作完成發出中斷
    • 第三種是DMA,直接儲存器訪問。和第二種方法不同之處在於,第二種是將資料讀入一個緩衝區。待緩衝區滿後,發出中斷,清空緩衝區。但是如果輸入資料量很大的時候會面臨頻繁中斷的問題。而DMA是直接讓記憶體與裝置連線,在完成所有輸入的時候才發出中斷,通知CPU。
  • 核心模式和使用者模式

    • PSW(使用者狀態字)暫存器內含了CPU優先順序,溢位標誌等來表示當前程式的狀態,核心和使用者模式也可以在此被設定
    • 核心模式對計算機有全部操作許可權,而使用者模式只有有限許可權,比如不能訪問受保護的記憶體,不能修改當前模式等
    • I/O指令等都需要從使用者模式轉移到核心模式再執行
  • 程序擁有的資源

    • 暫存器
    • 開啟的檔案列表
    • 警報(alarm)
    • 相關程序列表
    • 執行程式所需要的其他資訊
    • 地址空間
      • 可執行的程式指令
      • 程式資料
      • 程式的堆疊
  • 檔案系統

    • 作業系統將底層複雜的各種I/O細節抽象成了統一的概念——檔案
    • 特殊檔案
      • 塊特殊檔案:磁碟等
      • 字元特殊檔案: 印表機等
      • 特殊檔案抽象使得這個裝置看起來像檔案一樣
      • 一般存放在/dev目錄中
  • 系統呼叫

    • 提供使用者程式和作業系統的互動介面的集合