天天看點

作業系統重點

資源:計算機系統中配置設定給使用者使用的各種硬體和軟體設施

作業系統是計算機系統資源的管理者,提供了使用者操作計算機的界面

作業系統的特點:并發、共享、不确定性(異步性)、虛拟性

共享性和并發性是作業系統兩個最基本的特征,它們互為依存;不确定性是并發與共享的必然結果

采用虛拟技術的目的是為了提高資源使用率和為使用者提供易于使用、友善高效的操作環境。

設計作業系統的基本目标:友善性、有效性、可擴充性、開放性

資源管理的目的:1、實作資源共享2、提高資源使用率

處理機的排程機關為程序

批處理系統特點:成批:計算機系統可同時接納多個使用者的作業

脫機工作:使用者不需要與計算機進行交流

分時系統(系統将處理機分成時間片):同時性、獨立性、互動性、及時性

實時系統:響應及時、可靠性高

程式A和程式B可以并發地運作;

CPU和I/O裝置可以并行地運作;

程式的并發執行的特點:失去封閉性、互相制約、不可再現性

程序是系統進行資源配置設定和排程的一個獨立機關。

程序的特征:動态性、并發性、獨立性

程序的組成:程式、資料、PCB

PCB是程序存在的唯一标志,存放在記憶體的系統區;程式和資料存放在記憶體的使用者區。

程式和程序的聯系和差別:

程序是程式執行的動态過程;程式是程序運作的靜态文本。

等待狀态:

程序三種狀态之間的轉換

原語:要求獨占CPU,不允許被中斷的特定功能程式

程序排程是作業系統程序管理的核心任務

程序建立:申請空閑PCB,指定PID;為新程序配置設定資源,裝進程序的實體:程式資料;初始化PCB;将新程序加入到就緒隊列中。

程序撤銷:從系統的PCB表中找到指定程序的PCB;回收該程序所占用的全部資源;若該程序還存在子孫程序,會說它們所占有的全部資源;釋放被終止程序的PCB,并從原來隊列中摘走。

程序阻塞:

起因:所需資源無法滿足而不能繼續運作,則程序調用阻塞原語,是自己變為等待狀态。是程序的阻塞是程序自身的一種主動行為,主動放棄CPU

主要功能:主動放棄CPU;保護現行程序的CPU現場;把該程序現行狀态改為等待,并插入到具有相同僚件的等待隊列;轉到程序排程程式,重新挑選一個合适的就緒程序投入運作。

程序喚醒:程序不能自己喚醒自己

程序排程是作業系統程序管理的核心任務

程序排程算法:

1、先來先服務(非剝奪排程)

優點:實作簡單,不考慮程序的特性以及資源要求的差異。

缺點:效率較低、利于長作業、不利于短作業。

2、優先數

靜态優先數:SJF短作業優先

優點:比FCFS改善周轉時間,縮短作業等待時間;提高系統吞吐量。

缺點:對長作業非常不利,可能長時間得不到執行;未能依據作業的緊迫程度來執行優先級;難以準确估計作業(程序)的執行時間,進而影響排程性能。

動态優先數:最高響應比優先算法(HRN)

R=1+等等時間/執行時間

3、時間片輪轉發(RR)

時間片的長度過短會加重系統開銷

時間片過長會退化為先來先服務

4、多隊列回報法

時間片輪轉算法和優先級算法的綜合

程序同步:程序間為了一個共同的目标,彼此之間存在互相合作的協同工作關系,有前後次序的直接制約關系,稱為程序的同步。

同步機制應該遵循的原則:空閑讓進、忙則等待、優先等待、讓權等待。

程序互斥:多個程序不能同時通路臨界資源而産生的間接制約關系

臨界區:把不允許多個并發程序交叉執行的一段程式成為臨界區

臨界資源:一次隻允許一個程序使用的資源

P操作:S=S-1

如果S>=0,則該程序繼續執行

若S<0,将該程序狀态置為阻塞态,将其PCB連入該信号量隊列的末尾,進行等待

V操作:S=S+1

若S>0則該程序繼續執行

若S<=0則喚醒信号量隊列上的第一個PCB,然後該程序繼續運作

S<0表示的是阻塞的程序個數,而不是資源個數

線程和程序的差別與聯系:

線程是程序的一部分,它是程序内的一個執行單元。通常一個程序至少含有一個線程

資源配置設定的對象是程序,而不是線程。程序仍然是擁有資源的獨立機關。

排程的基本機關是線程而不是程序。處理器是分給線程的

線程也可并發執行

第四章存儲管理

邏輯位址+裝入記憶體的首位址= 實體位址

分區存儲管理:

記憶體配置設定算法:

1、最先适應算法

優點:總是将記憶體低端的空閑區實施配置設定,配置設定後空閑區表不需要排序

缺點:導緻記憶體低端有很多記憶體碎片

若記憶體存在一個與申請大小相同的空閑區時不一定會被選中

2、最佳适應算法

優點:總是将所有能滿足要求空閑區中最小者實施配置設定,大的空閑區儲存下來

若記憶體存在一個與申請大小相同的空閑區時,一定會被選中

缺點:随着時間推移會形成很多記憶體碎片;配置設定完後,空閑區表可能需要排序。

3、最差适應算法

優點:搜尋速度快

總是能将所有滿足要求空閑區中最大者實施配置設定,剩餘部分還可再實施配置設定

缺點:總是将大的空閑區破壞掉;配置設定完後,空閑區表可能需要排序。

位址重定位:在程序執行時,由硬體将邏輯位址轉換為實體位址

分區管理缺點:

存在碎片現象,記憶體使用率不高

分頁存儲管理缺點:位址轉換增加系統開銷;仍存在記憶體碎片;最後一個頁面不嗯能夠充分使用;頁表占用存儲空間;記憶體的擴充問題,作業的位址空間受記憶體容量限制;頁面由系統劃分,對使用者透明,使用者實作頁的共享比較困難

頁面置換算法:

缺頁率=缺頁次數/記憶體通路次數

最佳置換算法:

先入先出法:

最近最不常用淘汰算法LFU

最久未使用算法:LRU

分頁管理和分段管理的相同與不同:

不同之處:

段對使用者可見,頁對使用者透明

頁的大小固定不變,由系統決定,段的大小不固定。

實作虛拟存儲器的目的是擴大記憶體容量。

第五章 檔案管理

檔案存取方法:順序存取、随機存取

檔案目錄:為了加快對檔案檢索,将檔案控制塊集中在一起管理,這種檔案控制塊的有序集合成為檔案目錄。

目錄檔案(完全由目錄項構成的檔案):為了實作對檔案目錄的管理,将檔案目錄以檔案的形式,儲存在外存中

第七章 死鎖

死鎖的必要條件

1、互斥條件(不可破壞)

2、不可搶占條件

3、占有且等待

4、循環且等待

繼續閱讀