(一)作業系統概論複習要點筆記
一、基本概念
一、作業系統基本概念
定義:作業系統是管理軟硬體資源、控制程式執行,改善人機介面,合理組織計算機工作流程和為使用者使用計算機提供良好執行環境的一種系統軟體
任務:管理好計算機全部軟硬體資源,提高計算機的利用率;擔任使用者與計算機之間的介面,使使用者通過作業系統提供的命令或選單方便地使用計算機
目的是管理計算機,任務是管理好軟體硬體資源
二、不同作業系統設計目標
PC:支援複雜的計算機遊戲、商務軟體、以及任何可能的應用軟體
手機:更注重友好方便的使用者介面
大型主機:更加註重硬體能力的優化利用
三、作業系統的功能
從資源管理的角度劃分:cpu管理、儲存管理、I/O裝置管理、檔案系統、使用者介面
作業系統主要特性:併發性,共享性,非同步性
四、作業系統引導和控制計算機
第一步:上電
從指令儲存器中的第一條指令地址處:0ffff:0000這個記憶體中取出一條指令執行,轉向BIOS軟體的入口。(BIOS:基本輸入輸出)
第二步:BIOS自檢和載入引導扇區
第一,進行計算機自檢,即檢查計算機是否出現異常,是否可以繼續執行下去;
第二,載入引導扇區,即把磁碟引導扇區的內容載入到記憶體中來,並且轉跳到載入程式的第一條指令。
第三步:載入引導扇區(Boot Loader)
引導扇區就是硬碟的第一個邏輯扇區,硬碟需要先載入一個分割槽上的引導扇區,然後由該引導扇區來載入本分割槽上的作業系統。
第四步: 載入作業系統(OS Loader)
所謂載入作業系統,也就是把作業系統從磁碟拷貝到記憶體。由於此時還沒有檔案系統,載入程式必須通過絕對位置來訪問,即獲取作業系統在磁碟的開始扇區和結束扇區。
第五步: 執行作業系統
載入程式把作業系統拷貝到記憶體後所要做的第一件事就是轉跳到作業系統的第一條指令,這樣,作業系統就開始運行了
二、cpu管理
一、中斷
1.中斷處理:中斷是指CPU對系統發生的某個事件做出的一種反應,即CPU暫停正在執行的程式,保留現場(CPU當前的狀態)後, 自動轉去執行相應的處理程式,處理完該事件後再返回斷點,繼續執行被“打斷”的那個程式。
中斷源(中斷事件):引起中斷的事件
中斷請求:中斷源向CPU提出處理的請求
斷點:發生中斷時,被中斷的暫停點
中斷處理程式:每類中斷事件的處理程式
2.中斷對於作業系統的作用:
中斷或中斷機制是實現多道程式設計與併發執行的基礎和必要條件,如果沒有中斷,作業系統就無法獲得系統的控制權,就不會將CPU(也作為一種資源)分派給不同的程序而實現併發執行。
3.中斷型別
強迫性中斷
時鐘中斷:如硬體實時時鐘到時等
輸入輸出中斷:裝置資料傳輸結束/裝置出錯等。
控制檯中斷:系統操作員通過控制檯發出命令等。
硬體故障中斷:如掉電、記憶體校驗錯等。
程式性中斷:如地址越界、資料溢位,除零等。
自願性中斷:程式事先有意識安排的;通過執行訪管指令(系統呼叫)而引起的,其目的要求系統提供某種服務。
二、CPU排程:對處理機的排程最終歸結為對程序和執行緒的管理
1.程序定義:程序是一個可併發執行的具有獨立功能的程式關於某個資料集合的一次執行過程,也是作業系統進行資源分配和保護的基本單位
2.a process = a program in execution程序包含了正在執行的一個程式的所有狀態資訊。包括:程式程式碼、程式的資料、PC中的值,用於指示下一條將執行的指令、一組通用的暫存器的當前值,堆和棧、一組系統資源(如開啟的檔案)。
3.程序三態:就緒態、執行態、等待態
4.PCB系統利用PCB來控制和管理程序,所以PCB是系統感知程序存在的唯一標誌。
程序與PCB是一一對應的
5.程序存在不足:程序時空的開銷大;程序間通訊的代價大;程序之間的併發性粒度較粗;不適合平行計算和分散式計算的要求;不適合客戶/伺服器計算的要求
6.執行緒是獨立執行的基本單位。引入執行緒的目的為了簡化執行緒間的通訊,以小的開銷提高程序內的併發程度。
7.引入程序的好處:多個程式可併發執行,改善資源使用率,提高系統效率
引入執行緒的好處:減少併發程式執行時所付出的時空開銷,使得併發粒度更細、併發性更好
8.排程層次:高階排程:作業排程:外存調入記憶體
低階排程:程序排程,分配cpu
中級排程:記憶體調入外存
三、儲存管理
一、快取記憶體Cache:解決CPU速度與記憶體速度不匹配矛盾
二、虛擬儲存器是作業系統提供的一個假象的特大儲存器。它不是物理上擴大記憶體空間,而是邏輯上擴充了記憶體容量,使用者可以使用比實際物理內容大得多的虛擬儲存容量。在硬體支援下,軟硬體相互協作,將記憶體和外存結合起來統一使用。通過這種方法把記憶體擴充,使使用者在編制程式時不受記憶體限制
三、記憶體管理
記憶體管理程式首先通過記憶體對映機制把使用者的邏輯地址對映到實體地址,在使用者程式執行時,
如果發現程式中要用的虛地址沒有對應的實體記憶體時,就發出請頁要求(1)
如果有空閒的記憶體可供分配,就請求分配記憶體(2),並把正在使用的物理頁記錄在頁快取中(3)。
如果沒有足夠的記憶體可供分配,那麼就呼叫交換機制,騰出一部分記憶體(4,5)。
交換機制中也要用到交換快取(6),並且把物理頁內容交換到交換檔案中後也要修改頁表來對映檔案地址(7)
地址對映中要通過TLB(快表)來尋找物理頁(8)
四、裝置管理
1.I/O管理概念:就是裝置管理,他是作業系統的一個重要組成部分,負責管理系統中的所有外部裝置。
儲存裝置:存放各種資訊:軟盤硬碟磁帶
I/O裝置:輸入輸出裝置:滑鼠印表機
2.按資源分配角度分類:
獨佔裝置:在一段時間只有一個程序使用的裝置,一般為低速I/O裝置
共享裝置:在一段時間內多個程序使用的裝置
虛裝置:假離線技術
3.Linux裝置分類
塊裝置,字元裝置,網路裝置
4.裝置管理的目標:1.完成使用者請求控制各種裝置的操作2.向用戶提供使用外部裝置的介面,拜託繁瑣的程式設計負擔。提高cpu與裝置,裝置與裝置之間的並行工作能力,事系統有條不紊的工作
五、檔案管理
檔案:是在邏輯上具有完整意義的並賦有名稱的 資訊集合體。
檔案系統:是作業系統中負責操縱和管理檔案的一整套設施,它實現檔案的建立、讀寫、修改、共享和保護等操作,還負責完成對檔案的按名存取和進行存取控制。