1. 程式人生 > >操作系統--計算機操作系統概述(一)

操作系統--計算機操作系統概述(一)

恢復 失效 調度 原理 while 策略 優先級 基本 操作

操作系統大的方面主要也就分為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一條命令 之後的過程不需要處理器參與

操作系統--計算機操作系統概述(一)