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