【OS】期末总结复习
文章目錄
- 操作系統(tǒng)復(fù)習(xí)
- 1. 知識點概念梳理:
- 期末總復(fù)習(xí)
- 第一章 操作系統(tǒng)引論
- 第二章 進程和線程
- 進程的狀態(tài)
- 第三章 死鎖
- 第四章 調(diào)度
- 第五章 存儲管理
- 第五章 文件系統(tǒng)
- 第七章 IO輸入輸出管理
- 進程狀態(tài)的轉(zhuǎn)換
- 題目
- 置換算法
操作系統(tǒng)復(fù)習(xí)
1. 知識點概念梳理:
在單處理機系統(tǒng)中,多道程序運行的特點:多道程序運行,宏觀上并行,微觀上串行。
信號量大小表示可用資源數(shù),如果為負數(shù)表示當前等待的進程數(shù);
OS為用戶提供兩個接口界面:命令接口,程序接口。
多道程序設(shè)計出現(xiàn)是由于硬件上有:中斷,管道的支持。
提高內(nèi)存使用效率,解決小內(nèi)存運行大作用的問題:覆蓋技術(shù),交換技術(shù),虛擬存儲技術(shù)。
文件的物理結(jié)構(gòu):
Spooling技術(shù):
主要思想是在聯(lián)機的條件下,進行兩個方向的操作,在數(shù)據(jù)輸入時,將數(shù)據(jù)從輸入設(shè)備傳送到磁盤或磁帶(塊設(shè)備),然后把這些塊設(shè)備與主機相連;反過來,在數(shù)據(jù)輸出時,將輸出數(shù)據(jù)傳送到磁盤或磁帶上,再從磁盤或磁帶傳送到輸出設(shè)備。
輸出井,輸入井;最常見的是共享打印機; 一項是由輸出進程SPO在輸出井中為之申請一個空閑的存儲空間,并將要打印的數(shù)據(jù)傳送其中存放;另一項工作就是由輸出進程SPO再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印請求填入其中,然后將該表掛到打印機的請求隊列上。這時,如果還有另一個進程請求打印機時,則系統(tǒng)仍同意為該進程執(zhí)行打印輸出,當然,系統(tǒng)所做的工作仍是以上兩項內(nèi)容。
CPU執(zhí)行操作系統(tǒng)代碼時,處理機處于:
管態(tài);管態(tài)又叫特權(quán)態(tài),系統(tǒng)態(tài)或核心態(tài),是操作系統(tǒng)管理的程序執(zhí)行時,機器所處的狀態(tài)。大多數(shù)計算機系統(tǒng)都將CPU執(zhí)行狀態(tài)分為目態(tài)與管態(tài);根據(jù)PSW程序狀態(tài)字來控制,0表示系統(tǒng)態(tài),1表示目態(tài):用戶態(tài);
分時系統(tǒng)的特性:
多路性,交互性,獨占性;
死鎖出現(xiàn):
若干進程因競爭資源而無限等待其他進程釋放已占有的資源;
僅一條指令只能在管態(tài)下運行,這條指令:
屏蔽中斷指令;
虛存=min(內(nèi)存+輔存,邏輯地址)
判斷作業(yè)是否對主存空間的要求:
系統(tǒng)“抖動”現(xiàn)象:
在請求分頁存儲管理中,從主存(DRAM)中剛剛換出(Swap Out)某一頁面后(換出到Disk),根據(jù)請求馬上又換入(Swap In)該頁,這種反復(fù)換出換入的現(xiàn)象,稱為系統(tǒng)顛簸,也叫系統(tǒng)抖動。
危害:系統(tǒng)時間消耗在低速的I/O上,大大降低系統(tǒng)效率。進程對當前換出頁的每一次訪問,與對RAM中頁的訪問相比,要慢幾個數(shù)量級。
原因:調(diào)度算法不科學(xué),交換算法不科學(xué)
解決:好的頁替換算法減少運行的進程數(shù)
請求分頁管理,頁面增大一倍,缺頁中斷次數(shù)不一定減小一半:
不一定是一半,這還得取決于操作系統(tǒng)內(nèi)核的相關(guān)結(jié)構(gòu)以及實際運行情況。因為系統(tǒng)中,缺頁中斷次數(shù)和頁面大小有些關(guān)系,但并不只取決于頁面大小,還跟系統(tǒng)總內(nèi)存總量等很多因素有關(guān),當系統(tǒng)內(nèi)存不足時,會發(fā)生頁面交換,此時也會產(chǎn)生很多次缺頁中斷,但與頁面大小就沒有太大關(guān)系了
’
請求分頁存儲管理:
不同于基本分頁存儲管理
(1) 查到頁表項時需要進行判斷,判斷頁面是否在內(nèi)存中。
(2) 當需要調(diào)入頁面時,但有沒有空閑內(nèi)存時,需要進行頁面置換。
(3) 當頁面需要調(diào)入或調(diào)出,需要修改請求頁表中新增的表項。
(1) 根據(jù)邏輯地址得到頁號和頁內(nèi)偏移量。
(2) 對頁號進行越界判斷。
(3) 訪問頁表判斷頁是否在內(nèi)存中,如果在繼續(xù)執(zhí)行程序。
(4) 如果訪問的頁不在內(nèi)存中,產(chǎn)生缺頁中斷請求,當前進程阻塞,缺頁中斷程序從根據(jù)頁表從外存找到缺失的頁。
(5) 判斷內(nèi)存空間是否已滿,未滿,將缺頁調(diào)入內(nèi)存,修改頁表。如果已滿,從內(nèi)存中選擇一個頁面置換,如果頁面發(fā)生修改,需要將修改寫回外存,然后再將缺頁調(diào)入內(nèi)存,并修改頁表。
(6) 頁面調(diào)入后,阻塞的進程會處于就緒態(tài)等待處理機調(diào)度。
期末總復(fù)習(xí)
第一章 操作系統(tǒng)引論
操作系統(tǒng)的概念:
提供用戶與硬件系統(tǒng)之間 的軟件接口,使用戶能通過操作系統(tǒng)方便的使用計算機。
操作系統(tǒng)的功能
操作系統(tǒng)的分類:
批處理,分時系統(tǒng),實時系統(tǒng)。網(wǎng)絡(luò)操作系統(tǒng),分布式操作系統(tǒng),并行操作系統(tǒng)
操作系統(tǒng)的特征: 并發(fā),共享,不確定,虛擬性。
作業(yè)調(diào)度:先來先服務(wù),最短作業(yè)調(diào)度,時間片輪轉(zhuǎn),優(yōu)先級,高響應(yīng)比
程序順序執(zhí)行時的特征: 順序性,封閉性,可再現(xiàn)性;
程序并發(fā)執(zhí)行的特征:間斷性,失去封閉性,不可再現(xiàn)性
進程:程序及其數(shù)據(jù)在計算機上的一次運行,是系統(tǒng)進行調(diào)度和資源分配的基本單位;
為什么引入進程
為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對并發(fā)執(zhí)行的程序加以控制和描述,從而在操作系統(tǒng)中引入了進程概念。引入進程的目的在于清晰地刻畫動態(tài)系統(tǒng)的內(nèi)在規(guī)律,有效管理和調(diào)度進入計算機系統(tǒng)主存儲器運行的程序
進程的特征:動態(tài)性,并發(fā)性,獨立性,異步性,交互性,結(jié)構(gòu)性;
-
什么是單道系統(tǒng)
內(nèi)存總是只保留一道作業(yè),只有該作業(yè)完成之后才能進行下一個作業(yè);
-
什么是多道系統(tǒng)
在內(nèi)存存放多道作業(yè),在管理出現(xiàn)的控制下交替執(zhí)行;這些作業(yè)共享CPU和其他系統(tǒng)資源;
-
區(qū)別
多道程序的系統(tǒng)資源利用率提高,吞吐量也增加了;
-
實時系統(tǒng):計算機能夠及時響應(yīng)外部事件的請求;有三種典型的應(yīng)用:過程控制系統(tǒng),信息查詢系統(tǒng),事物處理系統(tǒng);
基本特點:交互性,實時性??煽啃?#xff1b;
-
分時系統(tǒng):
一臺主機連接多個終端,用戶交互式向系統(tǒng)進行命令請求,系統(tǒng)接受請求,采用時間片輪轉(zhuǎn)方式處理服務(wù);
基本特征:同時性,交互性,獨立性,及時性; -
區(qū)別:
第二章 進程和線程
-
進程:一個具有獨立功能的出現(xiàn)關(guān)于某個數(shù)據(jù)集合的一次運行活動;進程就是并發(fā)環(huán)境中的執(zhí)行過程;
- 動態(tài)性
- 并發(fā)性
- 非對應(yīng)性
-
進程的基本特征:
- 動態(tài)性
- 并發(fā)性
- 調(diào)度性
- 異步性
- 結(jié)構(gòu)性
-
進程的基本狀態(tài)
- 運行狀態(tài)
- 就緒狀態(tài)
- 阻塞狀態(tài)
-
狀態(tài)轉(zhuǎn)換表
-
進程控制塊(PCB)
進程描述表,是進程組成最關(guān)鍵的部分,含有進程的描述信息和控制信息,是進程動態(tài)特性的集中反映,是系統(tǒng)對進程施行識別和控制的依據(jù)
-
組成
- 進程名
- 特征信息
- 進程狀態(tài)信息
- 調(diào)度優(yōu)先級
- 通信信息
- 現(xiàn)場保護區(qū)
- 資源需求,分配和控制方面的學(xué)習(xí)
- 進程實體信息
- 族系關(guān)系 10.其他信息
-
進程的創(chuàng)建
- 申請一個空閑的PCB
- 為新進程分配資源
- 將新進程的PCB初始化,若是處于正常的運行狀態(tài),則立即
- 將新進程加到就緒隊列中
-
進程的終止
終止原因:正常終止,異常終止,外部干擾
- 從系統(tǒng)的PCB表中找到指定進程的PCB ,若處于正常運行,則終止該進程的執(zhí)行
- 回收該進程所占有的的全部資源
- 若該進程有子進程,還要終止其所有子孫進程,回收他們所占有的全部資源
- 將被終止的PCB從原來的對列中摘走,以后有父進程從中獲取數(shù)據(jù),并釋放他
-
什么是線程:線程是進程中實施調(diào)度和分派的基本單位
-
線程的狀態(tài)
- 運行狀態(tài)
2. 阻塞狀態(tài)
3. 就緒狀態(tài)
4. 終止狀態(tài) -
線程和進程的基本關(guān)系
- 一個進程可以有多個線程,但至少要有一個線程,一個線程只能在一個進程的地址空間內(nèi)活動
2. 資源分配個進程,同一個進程的所有線程共享該進程的所有資源;
3. 處理機分配給線程,真正在處理機上運行的是線程
4. 線程在執(zhí)行過程中需要協(xié)作同步,不同進程的線程間要利用消息通信的辦法實現(xiàn)同步; -
引入現(xiàn)成的好處
- 易于調(diào)度
·2. 提高并發(fā)性
3.開銷少,創(chuàng)建線程比創(chuàng)建進程要快,所以開銷少
4.利于充分發(fā)揮多處理器的功能 -
進程間的相互關(guān)系
互斥:各個進程彼此不知道對方的存在,邏輯上沒有關(guān)系,由于競爭同一資源而發(fā)生相互制約;
同步:各個進程不知道對方的名字,單通過某些對象(IO緩沖區(qū))的共同存取來協(xié)同完成某一項任務(wù)
通信:進程間可以通過名字彼此間進行通信,交換信息,合作完成一項任務(wù); -
進入臨界區(qū)的調(diào)度原則:
1單個進入
- 獨自占用
- 盡快退出
- 落敗讓權(quán)
進程的狀態(tài)
- 進程是程序的一次執(zhí)行。在這個執(zhí)行過程中,有時進程正在被CPU處理,有時又需要等待CPU服務(wù),可見,進程的狀態(tài)是會有各種變化。為了方便對各個進程的管理,操作系統(tǒng)需要將進程合理地劃分為幾種狀態(tài);進程的狀態(tài)—三種基本狀態(tài)
運行態(tài):占有CPU,在CPU上運行;
就緒態(tài): 已經(jīng)具備運行條件,由于沒有空閑的CPU,暫時不能運行;
阻塞態(tài):因等待某一事件而暫時不能運行;例如等待系統(tǒng)分配打印機,等待磁盤操作等等;
注意:單核處理機環(huán)境,每個時刻最多只有一個進程處于運行態(tài),(多核另外說)。
另外兩種狀態(tài):
-
PV操作
-
原語:擴充的機器語言,不允許中斷;
-
P操作
-
V操作
-
生成者和消費者
-
讀者和寫者
-
管程
-
高級進程通信
-
作業(yè)調(diào)度和進程調(diào)度
-
調(diào)度的時間
-
調(diào)度算法
- 中斷
- 中斷的處理過程
第三章 死鎖
- 死鎖
- 條件
- 策略
- 銀行家算法
- 饑餓
第四章 調(diào)度
第五章 存儲管理
-
重定位:邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存物理地址
邏輯地址空間:由邏輯地址組成的地址范圍
物理空間:內(nèi)存中一系列存儲單元所限定的地址范圍; -
靜態(tài)重地位:有目標程序裝入內(nèi)存時,有裝入程序?qū)δ繕顺绦蛑械闹噶詈蛿?shù)據(jù)的地址進行修改,即把程序的邏輯地址改成物理地址;
-
動態(tài)重定位:程序執(zhí)行期間,每次訪問內(nèi)存之前進行重定位;
| 地址變換在裝入時一次完成 | 將程序原本裝入內(nèi)存調(diào)度時候才進行地址轉(zhuǎn)換 |
| 優(yōu)點:無需增加硬件地址轉(zhuǎn)換機構(gòu) 便于實現(xiàn)靜態(tài)連接, | 優(yōu)點:程序占用內(nèi)存空間動態(tài)可變,不必連續(xù)存放,比較容易實現(xiàn)幾個進程對同一個程序的共享使用 |
| 缺點:程序的存儲空間只能是連續(xù)的一片地址空間,重定位之后就不能再繼續(xù)移動,不利于內(nèi)存空間的有效利用 | 缺點:附加硬件支持,增加機器成本,存儲管理的軟件比較復(fù)雜; |
- 對換技術(shù):除操作系統(tǒng)占用的內(nèi)存,其余的全部內(nèi)存只供一個進程用戶使用,其余進程都存放于外存上,每次只調(diào)入一個進程,時間片用完調(diào)出到外存上
- 內(nèi)存管理技術(shù)
| 內(nèi)存空間進行分區(qū) | 程序大小進行分頁,內(nèi)存大小相等分塊 | |
| 頁面大小是有硬件決定 |
- 分段分頁的區(qū)別:
| 目的 | 分頁是為了實現(xiàn)離散分配,削減內(nèi)存的外外部碎片,提高內(nèi)存的利用率,出于系統(tǒng)管理需要,非用戶需要 | 更好滿足用戶需要 |
| 長度 | 大小有系統(tǒng)決定,系統(tǒng)把邏輯地址劃分成頁號和頁內(nèi)地址 | |
| 地址空間 | 一維 | 二維,標識地址時需要給出段名和段內(nèi)地址 |
| 碎片 | 有內(nèi)部碎片,無外部碎片 | 有外部碎片無內(nèi)部碎片 |
| 絕對地址 | 頁號和偏移量 | 段號和偏移量 |
| 管理方式 | 對于分頁,操作系統(tǒng)必須為每個進程維護一個頁表,以說明每個頁對應(yīng)的的頁框。當進程運行時,它的所有頁都必須在內(nèi)存中,除非使用覆蓋技術(shù)或虛擬技術(shù),另外操作系統(tǒng)需要維護一個空閑頁框列表。 | 對于分段,操作系統(tǒng)必須為每個進程維護一個段表,以說明每個段的加載地址和長度。當進程運行時,它的所有短都必須在內(nèi)存中,除非使用覆蓋技術(shù)或虛擬技術(shù),另外操作系統(tǒng)需要維護一個內(nèi)存中的空閑的空洞列表。 |
| 共享和動態(tài)鏈接 | 不容易實現(xiàn) | 容易實現(xiàn) |
| 頁是物理信息的物理單位 | 段是信息的邏輯單位 |
-
頁表:實現(xiàn)從頁號到物理塊號的地址映射;
-
快表:高速小容量的聯(lián)想寄存器;
由鍵號和值兩部分(項:64~1024)
鍵號:當前正在使用的某個頁號
值:頁號對應(yīng)的物理號
不在快表內(nèi)就要訪問頁表,訪問頁表需要兩次訪問內(nèi)存,先訪問一次頁表再訪問物理塊號; -
分頁產(chǎn)生碎片
緊縮方案
| 釋放進程時候,如果不與空閑區(qū)相連,立即進行緊縮,空閑區(qū)保持連續(xù) | 分配進程空間時候,各個空閑區(qū)都不能滿足才進行緊縮,也就是說回收空間的時候和有足夠大的空閑區(qū)的時候不進行緊縮 |
| 管理容易,緊縮畫時間 | 緊縮的次數(shù)減少,管理比較復(fù)雜 |
-
虛擬存儲器:用戶能作為可編址內(nèi)存對待的虛擬存儲空間,使得用戶啰存儲器與物理存儲器分離,是操作系統(tǒng)給用戶提供的一個比真實的空間還要打的地址空間,
特征:
虛擬擴充,部分裝入,離散分配,多次對換 -
請求分頁技術(shù)
-
置換過程
第五章 文件系統(tǒng)
-
文件系統(tǒng)的功能:
- 文件管理
- 目錄管理
- 文件存儲空間管理
- 文件共享和保護
- 提供方便的接口實現(xiàn)“按名存取”
-
文件的邏輯形式
- 無結(jié)構(gòu)文件:文件內(nèi)部不在劃分記錄,由一組相關(guān)信息組成的有序字節(jié)流,流式文件;
- 有結(jié)構(gòu)文件:記錄式文件;
- 樹形文件:也是有結(jié)構(gòu)文件
-
文件的存儲分配
| 一組連續(xù)盤塊分給一個文件 | 邏輯上連續(xù)的分配在離散的物理塊 | 非連續(xù)分配,為每個文件建立一個索引表 | |
| 優(yōu)點:順序存儲使速度快,可以存取多個盤符,改進IO性能常用于存放系統(tǒng)文件 | 優(yōu)點:不會產(chǎn)生碎片,可以動態(tài)擴充,不用緊縮內(nèi)存 | 優(yōu)點:多了隨機存取 | |
| 缺點:建立文件時就要確定長度,不便文件的動態(tài)擴充,出現(xiàn)外部碎片 | 缺點:只適合順序訪問,不適合隨機存取,增加鏈接字信息管理添加麻煩,指針丟失會產(chǎn)生不可靠 | 缺點:開銷增加,降低存儲文件的速度 |
-
目錄的存儲
-
FCB :
-
文件存儲空間管理的方法
- 空閑空間表法
- 空閑塊鏈接法
- 位示圖法:
- 空閑塊成組鏈接法:
第七章 IO輸入輸出管理
-
設(shè)備分類:
- 存儲設(shè)備:塊設(shè)備
- 輸入輸出設(shè)備:字符設(shè)備
-
設(shè)備標識:設(shè)備類型號為主設(shè)備號;同類設(shè)備的相對序號為次設(shè)備號;
-
通道:使得CPU擺脫繁忙的IO事務(wù),減少中斷次數(shù),設(shè)置專門處理IO操作的機構(gòu)
-
總線:組成計算機各部件間進行信息傳送的一組公共通路;
-
IO系統(tǒng)的控制方式:
- 程序控制直接傳遞
- 程序查詢方式
- 中斷控制方式
- 直接存儲器訪問方式
-
DMA特點:
- 數(shù)據(jù)是在內(nèi)存與設(shè)備之間直接傳送,傳送過程不需CPU
- 僅在一個數(shù)據(jù)塊傳送結(jié)束后,DMA控制器才向CPU發(fā)中斷請求
- 數(shù)據(jù)的傳輸控制完全由DMA控制
- 數(shù)據(jù)傳輸過程中,CPU與外設(shè)并行工作,提高系統(tǒng)效率
-
緩沖:緩沖區(qū)又稱為緩存,它是內(nèi)存空間的一部分。也就是說,在內(nèi)存空間中預(yù)留了一定的存儲空間,這些存儲空間用來緩沖輸入或輸出的數(shù)據(jù),這部分預(yù)留的空間就叫做緩沖區(qū);
-
解決的問題:解決到達速率和離去速率不同
-
引入緩沖技術(shù)的主要目的:
- 緩解CPU和IO設(shè)備之間速度不匹配的矛盾
- 提高并行性
- 減少CPU中斷次數(shù),放寬CPU對中斷響應(yīng)時間的要求
-
SPOOling 技術(shù)
四個部分:存輸入,取輸入,存輸出,取輸出
-
IO 軟件的組成層次
- 中斷處理程序
- 設(shè)備驅(qū)動程序
- 與設(shè)備無關(guān)的操作系統(tǒng)IO軟件
- 用戶級IO軟件
進程狀態(tài)的轉(zhuǎn)換
運行態(tài)到阻塞態(tài)是一個主動過程
阻塞態(tài)到就緒態(tài)是一個被動過程
王道考研圖
注意:不能由阻塞態(tài)直接轉(zhuǎn)換為運行態(tài),也不能由就緒態(tài)直接轉(zhuǎn)換為阻塞態(tài)(因為進入阻塞態(tài)是進程主動請求的,必然需要進程在運行時才能發(fā)出這種請求)
進程和程序的區(qū)別:
1、進程是動態(tài)的,而程序是靜態(tài)的;
2、進程有一定的生命期,而程序是指令的集合,程序本身沒有生命期。
聯(lián)系:進程是計算機中的程序關(guān)于某數(shù)據(jù)集合上的一次運行活動
臨界資源:操作系統(tǒng)中一次只允許一個進程使用的資源
臨界區(qū):進程互斥執(zhí)行的程序段
臨界區(qū)的調(diào)用原則:用空讓進,忙則等待,有限等待,讓權(quán)等待
題目
置換算法
FIFO 算法
LRU 算法
最近最久未使用算法
總結(jié)
以上是生活随笔為你收集整理的【OS】期末总结复习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OS】课设记录总结+进程整理
- 下一篇: 【Anaconda】安装源---豆瓣,清