操作系統--計算機操作系統概述(一)
操作系統大的方面主要也就分為1 進程有關問題:同步互斥、饑餓死鎖等問題 2內存管理有關問題:虛擬內存、調度問題 3以及輸入輸出文件模塊
這兒首先對操作系統的做一個總的概述 主要記錄背景知識模塊
基本構成:計算機主要有四個構件:
處理器:CPU
內存(易失性)
輸入輸出模塊
系統總線(在另外三個模塊間通信的設施)
指令的執行:程序的執行是不斷重復取指令和執行指令的過程組成的 取到的指令和數據分別保存在對應的寄存器中
執行指令可以分為:
處理器-存儲器 間的數據傳送
處理器-I/O 間的數據傳送
數據處理
控制 (改變執行順序 例如while和for循環)
中斷:其他模塊(I/O 存儲器)中斷處理器正常處理過程的機制
分類:
程序中斷:由於程序員的原因 程序執行出錯 比如3/0 算術溢出等
時鐘中斷:輪到該程序執行的事件片已用完
I/O中斷:I/O控制器通知 I/O操作的正常完成或者錯誤條件
硬件失效中斷:比如拔掉電源
時間上分:
短I/O等待:I/O執行時間較短 當I/O操作完成時 CPU立即返回處理
長I/O等待:I/O執行時間較長 一般是CPU再次需要I/O操作時 在來處理
中斷處理:設備發送中斷信號->處理器結束當前指令執行 並響應中斷->處理器檢查並給提交中斷的設備發送確認信號->CPU保存當前進程的程序狀態子PSW和程序計數器PC壓入棧->根據中斷 加載新的PC值->保存剩余處理狀態信息->處理中斷->恢復中斷狀態信息->恢復舊的PSW和PC值
多個中斷情況:正在處理一個中斷時,又發生了一個或多個中斷 此時有兩種處理方法
第一種:處理一個中斷時、禁止再有中斷發生 當再有中斷發生時 不去理會 中斷將被掛起
第二種:定義中斷優先級 處理一個中斷時 當又發生中斷的優先級大於當前 則處理新的中斷
存儲器的層次結構--總是跟 容量 價格 速度有關
存儲器層次結構金字塔: 板上處理器(寄存器、高速緩存、內存)
板外處理器(磁盤)
離線處理器(磁帶)(..這個從上到下光看左邊還是有點像金字塔的...)
從上到下:價格、訪問速度、訪問概率遞減 容量遞增
板上處理器都是易失性的
高速緩存:處理器和內存的速度不匹配 並且近年來處理器速度的提高一直快於內存速度的提高 導致了利用局部性原理的高速緩存出現
若處理要訪問的字在高速緩存中將直接傳遞給處理器;否則將包含這個字的塊裝入高速緩存中 然後將字傳遞給處理器
設計問題:
高速緩存大小 塊大小 高速緩存級數
映射函數:內存中讀的塊放在高速緩存的哪個部分
置換函數:高速緩存已滿時如何置換
寫策略:塊上的數據改變時 何時寫回內存
直接內存存取
執行I/O操作方式:
可編程I/O:I/O模塊執行請求動作並設置I/O狀態寄存器中相應的位 但不通知處理器 等處理器執行完定期檢查I/O模塊狀態
中斷驅動I/O:將打斷處理器的執行並請求服務
直接內存存取(DMA):由系統總線中的一個獨立模塊完成 處理器讀或寫一塊數據時給MDA一條命令 之後的過程不需要處理器參與
操作系統--計算機操作系統概述(一)