計算機系統基礎
一、計算機系統組成
(一)計算機系統層次結構
- 硬件組成
- 主機:包含CPU(運算器+控制器)、主存儲器(內存)。
- 外設:輸入設備、輸出設備、輔助存儲器(外存,如硬盤、U盤)、總線、接口。
- 軟件分類
- 系統軟件:操作系統、編譯工具等,是硬件與應用軟件的接口。
- 應用軟件:辦公軟件、娛樂軟件、信息系統軟件等,直接面向用戶需求。
(二)指令系統與存儲體系
- 指令系統對比
類型 CISC(復雜指令系統) RISC(精簡指令系統) 指令數量 多,使用頻率差異大 少,使用頻率接近 格式 可變長格式 定長格式,單周期指令為主 尋址方式 支持多種 支持方式少 實現方式 微程序控制 硬布線邏輯控制,增加通用寄存器 代表 Intel/AMD的x86 CPU ARM、Power架構 - 分級存儲體系
- 層次結構(速度從快到慢):CPU寄存器→Cache(相聯存儲器)→內存(DRAM)→外存(硬盤、光盤等)。
- 局部性原理
- 時間局部性:已執行的指令可能再次執行(如循環操作)。
- 空間局部性:訪問某存儲單元后,附近單元可能被訪問(如順序執行)。
- 目的:解決存儲容量、價格和速度的矛盾。
(三)I/O傳輸方式
- 程序控制(查詢)方式
- 分類:無條件傳送、程序查詢。
- 特點:硬件開銷小,I/O能力低,CPU利用率低。
- 程序中斷方式
- 特點:CPU無需等待I/O完成,支持CPU與I/O并行。
- DMA方式
- 功能:主存與外設直接數據通路,高速批量數據交換,效率高于前兩種方式。
- 通道方式/I/O處理機:進一步提升I/O效率,實現更復雜的I/O控制。
二、操作系統核心知識
(一)操作系統概述
- 功能
- 管理硬件、軟件、數據資源。
- 控制程序運行,提供人機接口和應用與硬件接口。
- 分類及特點
類型 特點 典型系統 批處理 單道/多道批處理,宏觀并行、微觀串行 早期大型機系統 分時 時間片輪轉,用戶獨占感,多路性、交互性、及時性 Unix、Linux終端 實時 規定時間內響應,可靠性高(如控制系統) 航空航天控制 網絡 共享網絡資源,支持Unix、Linux、Windows Server 企業服務器系統 分布式 透明性、可靠性,網絡操作系統的高級形式 分布式計算集群 嵌入式 微型化、實時性、可定制(依賴HAL/BSP) 智能設備(如路由器)
(二)進程管理
- 進程與線程
- 進程:程序在數據集合上的運行過程,資源分配和調度的獨立單位,由程序塊、PCB、數據塊組成。
- PCB(進程控制塊):進程存在的唯一標志,包含狀態、優先級、現場保護區等。
- 線程:進程內的輕量級執行單元,共享進程的內存地址空間、代碼、數據,獨立擁有程序計數器、寄存器、棧。
- 進程狀態
- 三態模型
- 運行:占用CPU(單處理機同一時刻僅1個進程運行)。
- 就緒:等待CPU,其他資源已就緒。
- 阻塞:等待I/O等事件,無法執行。
- 三態模型
- 同步與互斥
- 臨界資源:需互斥訪問的資源(如打印機),訪問臨界資源的代碼為臨界區。
- PV操作
- 信號量S:表示資源數量(S>0為可用數,S<0為排隊進程數)。
- P操作:申請資源,S-1,若S<0則阻塞。
- V操作:釋放資源,S+1,若S≤0則喚醒隊列進程。
- 前趨圖
- 定義:有向無環圖,箭頭表示前趨關系(Pi完成→Pj開始)。
- 應用:通過信號量實現進程同步,每個箭頭對應一個初值為0的信號量。
- 死鎖
- 四大條件:互斥、保持和等待、不剝奪、環路等待。
- 避免方法:銀行家算法,確保分配后系統仍處于安全狀態(存在安全序列)。
(三)存儲管理
- 頁式存儲
- 核心:程序與內存劃分為等長頁,通過頁表映射邏輯地址(頁號+頁內地址)到物理地址(頁幀號+頁內地址)。
- 優缺點
- 優點:碎片小,分配簡單。
- 缺點:頁表開銷,可能引發抖動(頻繁換頁)。
- 頁表項:狀態位(是否在內存)、訪問位、修改位。
- 段式存儲
- 核心:按自然段劃分邏輯空間,段長可變,通過段表(基址+段長)檢查地址合法性。
- 優缺點
- 優點:支持程序模塊化,段間修改互不影響。
- 缺點:內存碎片大,利用率低。
- 段頁式存儲
- 核心:先分段再分頁,結合段式邏輯清晰和頁式內存利用率高的優點。
- 地址轉換:段號→段表→頁表基址→頁號→頁表→頁幀號→物理地址。
(四)文件系統
- 索引文件結構
- 直接索引:iaddr[0]~iaddr[5]直接指向數據塊。
- 一級間接索引:iaddr[6]指向索引塊,索引塊包含數據塊地址。
- 二級間接索引:iaddr[7]指向二級索引塊,支持大文件存儲。
- 位示圖
- 功能:記錄磁盤塊使用情況,1表示已占用,0表示空閑。
- 計算:根據物理塊號計算位示圖的行號和列號,實現快速分配/回收。
(五)磁盤管理
- 存取時間計算
- 尋道時間:磁頭移動到目標磁道的時間。
- 等待時間:目標扇區旋轉到磁頭下方的時間。
- 傳輸時間:數據讀寫時間,總時間=尋道時間+等待時間+傳輸時間。
- 調度算法
- FCFS(先來先服務):按請求順序處理,平均尋道長度較大。
- SSTF(最短尋道時間優先):優先處理距離當前磁道最近的請求,可能導致“饑餓”。
- SCAN(掃描算法):磁頭雙向移動,在邊緣改變方向,減少尋道次數。
三、系統性能
(一)性能指標
- 硬件指標
- 主頻:CPU時鐘頻率(主頻=外頻×倍頻),影響運算速度。
- MIPS:百萬條指令每秒,衡量整數運算速度(MIPS=主頻/CPI)。
- MFLOPS:每秒百萬次浮點運算,衡量浮點性能。
- 軟件指標
- 吞吐量:單位時間處理的任務數。
- 響應時間:從請求到完成的時間,衡量交互性能。
(二)性能設計與優化
- 加速比(阿姆達爾定律)
- 公式:(R = \frac{1}{(1-F_e) + F_e/S_e}),其中(F_e)為可改進部分占比,(S_e)為改進后的速度提升倍數。
- 意義:系統性能提升取決于瓶頸組件的改進比例和效率。
(三)性能評估方法
- 基準程序法
- 分類:真實程序(精度最高)>核心程序>小型基準程序>合成基準程序。
- 常見測試程序:Dhrystone(整數性能)、Linpack(浮點性能)、SPEC(綜合性能)。
- Web服務器指標:最大并發連接數、響應延遲、吞吐量,通過壓力測試和可靠性測試評估。
四、典型例題分析
(一)進程管理
- 例:2臺打印機,3個進程互斥使用,信號量S初值為2,取值范圍[-1,2](S=2→可用,S=-1→1個進程排隊)。
(二)存儲管理
- 頁式地址轉換:邏輯地址=頁號+頁內地址,通過頁表查頁幀號,拼接得到物理地址。例如,頁大小4KB(12位),邏輯地址高8位為頁號,低12位為頁內地址。
(三)死鎖預防
- 資源數計算:3個進程各需5個資源,至少需要(3×(5-1)+1=13)個資源才無死鎖(每個進程分配4個,剩余1個可避免環路)。
五、考情分析與復習重點
知識點 | 分值分布(示例) | 核心考點 |
---|---|---|
進程管理 | 2-4分 | 前趨圖、PV操作、死鎖條件、銀行家算法 |
存儲管理 | 1-3分 | 頁式/段頁式地址轉換、頁面淘汰算法 |
系統性能 | 2-3分 | 加速比計算、基準程序分類 |
復習建議:結合習題掌握PV操作與前趨圖的映射關系,熟練頁式存儲地址轉換步驟,理解銀行家算法的安全序列判斷邏輯,通過典型例題強化計算能力。