02323操作系統(tǒng)概論
單選題:20題,每題1分,一共20分 ?
填空題:10題,每題2分,一共20分
簡(jiǎn)答題:5題,每題4分,一共20分
綜合題:4題,每題10分,一共40分
第一章操作系統(tǒng)簡(jiǎn)介
第一小節(jié) 什么是操作系統(tǒng)
1.?操作系統(tǒng):os,是一種復(fù)雜的系統(tǒng)軟件,是不同程序代碼、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)初始化文件的集合,負(fù)責(zé)管理計(jì)算機(jī)的資源,屏蔽了對(duì)硬件操作的細(xì)節(jié),通過(guò)用戶與計(jì)算機(jī)硬件之間的接口使應(yīng)用程序的開(kāi)發(fā)變得簡(jiǎn)單、高效
2.?操作系統(tǒng)必須完成的目標(biāo):承上啟下,操作系統(tǒng)與硬件部分相互作用、為運(yùn)行在計(jì)算機(jī)上的應(yīng)用程序提供執(zhí)行環(huán)境
3.?計(jì)算機(jī)系統(tǒng)重要的特點(diǎn):支持多任務(wù)
4.?操作系統(tǒng)包括什么:處理機(jī)管理、內(nèi)存管理、設(shè)備管理、文件管理
5.?網(wǎng)絡(luò)操作系統(tǒng):網(wǎng)卡、帶寬
第二小節(jié) 操作系統(tǒng)的發(fā)展
1.?單道批處理系統(tǒng):內(nèi)存種只有一道作業(yè),cpu和內(nèi)存資源被用戶作業(yè)獨(dú)占,特點(diǎn)自動(dòng)性、順序性、單道性,優(yōu)點(diǎn)是減少等待人工操作時(shí)間,缺點(diǎn)是cpu資源不能充分利用
?

2.?多道批處理系統(tǒng):由操作系統(tǒng)的作業(yè)調(diào)度程序按一定策略從后備作業(yè)隊(duì)列種選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使他們共享cpu資源,特點(diǎn)是多道性、無(wú)序性、調(diào)度性、復(fù)雜性業(yè),優(yōu)點(diǎn)是提高利用率和吞吐量,缺點(diǎn)是時(shí)間長(zhǎng)、缺乏交互能力
3.?分時(shí)操作系統(tǒng):允許多個(gè)用戶通過(guò)終端機(jī)同時(shí)使用計(jì)算機(jī),每個(gè)用戶通過(guò)終端與主機(jī)交互時(shí)能得到快速響應(yīng)(比如KTV點(diǎn)歌,可以多個(gè)人掃碼在一個(gè)設(shè)備上點(diǎn)歌),特點(diǎn)是多路性、獨(dú)立性、及時(shí)性、交互性,優(yōu)點(diǎn)是提供了人機(jī)交互的方便性,使多個(gè)用戶共享主機(jī)
-------多道批處理系統(tǒng)和分時(shí)操作系統(tǒng)是屬于多道程序系統(tǒng)(可以并發(fā)就是因?yàn)橐攵嗟莱绦蛳到y(tǒng))--------------
4.?實(shí)時(shí)系統(tǒng):必須及時(shí)響應(yīng)外部事件的請(qǐng)求,主要用于實(shí)時(shí)控制和實(shí)時(shí)信息處理領(lǐng)域,特點(diǎn)是多路性、獨(dú)立性、及時(shí)性、交互性、可靠性
第三小節(jié) 操作系統(tǒng)的特征
5.?現(xiàn)代操作系統(tǒng):支持多任務(wù),具有并發(fā)、共享、虛擬和異步性特征
并發(fā):兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生,并行是多個(gè)事件同時(shí)發(fā)生
共享:系統(tǒng)中資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用,共享分為互斥共享和同時(shí)共享,互斥共享是指任意時(shí)刻一種資源只能被一個(gè)進(jìn)程訪問(wèn),同時(shí)共享是指資源可以被多個(gè)進(jìn)程同時(shí)訪問(wèn)
虛擬:最常用內(nèi)存虛擬化,用戶感覺(jué)到的內(nèi)存大于實(shí)際內(nèi)存(cpu在瘋狂交互執(zhí)行,把物理的變成邏輯的)
異步:進(jìn)程以不可預(yù)知的速度向前推進(jìn)(什么都不確定才叫異步)
第四小節(jié) 操作系統(tǒng)的功能
操作系統(tǒng)的功能分為兩類:管理計(jì)算機(jī)資源、提供用戶接口
6.?管理計(jì)算機(jī)資源:內(nèi)存管理、進(jìn)程管理、設(shè)備管理、文件管理
內(nèi)存管理:提高內(nèi)存利用率,以及從邏輯上擴(kuò)充以實(shí)現(xiàn)虛擬存儲(chǔ)(就是虛擬技術(shù)),內(nèi)存管理管內(nèi)容有內(nèi)存分配(靜態(tài)和動(dòng)態(tài))、內(nèi)存保護(hù)(保護(hù)內(nèi)存,彼此劃分,互不干擾)、地址映射(用戶感受到的叫邏輯,看得到的叫物理地址)、內(nèi)容擴(kuò)充(從邏輯方面,有兩個(gè)步驟請(qǐng)求調(diào)用和置換)
內(nèi)存保護(hù),使用寄存器劃分,使他們互不干擾
?

進(jìn)程管理:執(zhí)行中的程序(不考),進(jìn)程控制是控制進(jìn)程創(chuàng)建撤銷喚醒等等
設(shè)備管理:輸出輸入設(shè)備,比如鍵盤鼠標(biāo)
文件管理:文件存儲(chǔ)空間的管理、目錄管理、文件的權(quán)限
7.?提供用戶接口:命令接口、圖形用戶接口、程序接口
命令接口:分為聯(lián)機(jī)(一個(gè)命令執(zhí)行一下然后輸入下一個(gè)命令繼續(xù)執(zhí)行)和脫機(jī)(給一批命令)
圖形用戶接口:圖形化界面
程序接口:為程序員提供的接口,也就是系統(tǒng)調(diào)用
第五小節(jié) 操作系統(tǒng)的體系結(jié)構(gòu)
8.?操作系統(tǒng)的體系結(jié)構(gòu)是操作系統(tǒng)作為一種軟件的體系結(jié)構(gòu)
--------------------------模型(一步步優(yōu)化)------------------------
簡(jiǎn)單的監(jiān)控程序模型:功能簡(jiǎn)陋(啥也不會(huì),把功能堆在一起)
單體結(jié)構(gòu)模型:所有的軟件和數(shù)據(jù)結(jié)構(gòu)都放置在一個(gè)邏輯模塊中(把上一類堆在一起的進(jìn)行分類,但是還是堆在一起)例子:unix系統(tǒng),ms-dos、linux、mac os x和bsd系統(tǒng)
層次結(jié)構(gòu)模型:把操作系統(tǒng)分解為多個(gè)小的層(分分類、分層級(jí))
客戶/服務(wù)器模型與微內(nèi)核結(jié)構(gòu):核心功能外移(把不重要的去除),去除(文件系統(tǒng)、網(wǎng)絡(luò)和驅(qū)動(dòng)程序),保留(處理機(jī)調(diào)度、存儲(chǔ)管理和消息通信),windows?nt、cos、VxWorks
動(dòng)態(tài)可擴(kuò)展結(jié)構(gòu)模型:動(dòng)態(tài)實(shí)現(xiàn)
第六小節(jié) 指令的執(zhí)行
9.?指令:程序是指令的集合
10.?指令周期:一個(gè)單一指令需要的處理稱為指令周期,一個(gè)指令周期劃分為取指周期和執(zhí)行周期兩個(gè)步驟
11.?程序計(jì)數(shù)器(pc)、指令寄存器(IR):程序計(jì)數(shù)器保存下一次要執(zhí)行的指令的地址,操作系統(tǒng)吧去取到的指令放在處理器的指令寄存器(存放當(dāng)前執(zhí)行的指令)中
12.?指令的構(gòu)成:操作碼、地址
13.?指令的分類:
處理器與存儲(chǔ)器之間的指令或數(shù)據(jù)傳送操作
處理器與I/O設(shè)備之間的指令或數(shù)據(jù)傳送操作
算術(shù)運(yùn)算操作或邏輯運(yùn)算操作
控制操作,即修改指令的執(zhí)行順序的操作
?
第二章 進(jìn)程管理
第一小節(jié) 進(jìn)程的描述
順序執(zhí)行—一個(gè)一個(gè)來(lái)
1.?順序執(zhí)行特點(diǎn):順序性、封閉性、可再現(xiàn)性
順序性:我運(yùn)行完你運(yùn)行
封閉性:只有當(dāng)前運(yùn)行的程序才能改變
可再現(xiàn)性:可以重復(fù)出現(xiàn)
2.?順序執(zhí)行的問(wèn)題:不能使輸入機(jī)、處理器和打印機(jī)同時(shí)忙碌
3.?并發(fā):同一時(shí)間間隔內(nèi)運(yùn)行多個(gè)程序。一個(gè)程序執(zhí)行結(jié)束前,可以運(yùn)行其他程序
宏觀并行:用戶覺(jué)得程序同時(shí)向前推進(jìn)
微觀串行:任意時(shí)刻一個(gè)cpu只有一個(gè)程序在運(yùn)行
4.?并發(fā)執(zhí)行的特點(diǎn):間斷性、失去封閉性、不可再現(xiàn)性
間斷性:程序在cpu上執(zhí)行是是時(shí)斷時(shí)續(xù)的,斷斷續(xù)續(xù)
失去封閉性:系統(tǒng)的狀態(tài)不再只對(duì)正在執(zhí)行的程序可見(jiàn),可以簡(jiǎn)單理解為共享,比如買票,每個(gè)用戶都可以提交訂單,余票都會(huì)減少
不可再現(xiàn)性:同一個(gè)程序多次運(yùn)行可能結(jié)果不一樣
程序是靜,進(jìn)程是動(dòng)
5.?進(jìn)程:允許并發(fā)執(zhí)行的程序在某個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程,進(jìn)程=正文段+用戶數(shù)據(jù)段+進(jìn)程控制塊(PCB,就是記錄你在進(jìn)程運(yùn)行過(guò)程中所有東西)
6.?進(jìn)程的特點(diǎn):并發(fā)性、動(dòng)態(tài)性、獨(dú)立性、異步性、結(jié)構(gòu)特征
并發(fā)性:多個(gè)進(jìn)程實(shí)體能在一段時(shí)間間隔內(nèi)同時(shí)運(yùn)行
動(dòng)態(tài)性:進(jìn)程是實(shí)體的執(zhí)行過(guò)程
獨(dú)立性:獨(dú)立運(yùn)行和資源調(diào)度的基本單位
異步性:任何都無(wú)法預(yù)知
結(jié)構(gòu)特征:進(jìn)程實(shí)體包括用戶正文段、用戶數(shù)據(jù)段和進(jìn)程控制塊
7.?程序和進(jìn)程的區(qū)別:程序是靜態(tài)的、永久的、指令的集合的,進(jìn)程是動(dòng)態(tài)的、暫時(shí)的、正文段+用戶數(shù)據(jù)段+進(jìn)程控制塊的
8.?程序和進(jìn)程的聯(lián)系:進(jìn)程是程序的一次執(zhí)行,一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程,同一個(gè)進(jìn)程能順序執(zhí)行幾個(gè)程序
9.?進(jìn)程控制塊PCB:進(jìn)程控制塊是進(jìn)程實(shí)體部分的一部分,是操作系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu),記錄了操作系統(tǒng)所需要的全部信息
進(jìn)程標(biāo)識(shí)符信息:用于唯一標(biāo)識(shí)一個(gè)進(jìn)程
處理機(jī)狀態(tài)信息:通用寄存器、指令計(jì)數(shù)器、程序狀態(tài)字psw、用戶棧指針
進(jìn)程調(diào)度信息
進(jìn)程控制信息
10.?進(jìn)程的狀態(tài):執(zhí)行態(tài)、就緒態(tài)、阻塞態(tài)(等待或封鎖)
?

11.?進(jìn)程的組織:
鏈接方式(把系統(tǒng)中具有相同狀態(tài)的進(jìn)程控制塊pcb用其中一個(gè)鏈接字連成一個(gè)隊(duì)列)
索引方式(系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立索引表,索引表的每一個(gè)表項(xiàng)指向一個(gè)進(jìn)程控制塊PCB)
進(jìn)程隊(duì)列(把具有相同狀態(tài)的進(jìn)程控制塊用隊(duì)列組織起來(lái))(就是阻塞的和阻塞的放在一起,權(quán)重和權(quán)重相同的放在一起)
第二小節(jié) 進(jìn)程的控制
進(jìn)程有創(chuàng)建、阻塞、喚醒、終止
12.?創(chuàng)建進(jìn)程的情況:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請(qǐng)求
13.?創(chuàng)建進(jìn)程:申請(qǐng)空白pcb、為新進(jìn)程分配資源、初始化進(jìn)程控制塊、將新進(jìn)程插入到就緒隊(duì)列(就緒態(tài))
14.?新進(jìn)程被創(chuàng)建時(shí),有兩種執(zhí)行可能:父子進(jìn)程并發(fā)執(zhí)行、父進(jìn)程等待,直到子進(jìn)程全部執(zhí)行完畢
15.?進(jìn)程阻塞:條件沒(méi)有達(dá)到
16.?進(jìn)程阻塞過(guò)程:將進(jìn)程的狀態(tài)改為阻塞態(tài)、將進(jìn)程插入相應(yīng)的阻塞隊(duì)列、轉(zhuǎn)到進(jìn)程調(diào)度程序,從就緒隊(duì)列中選擇進(jìn)程給cpu
17.?進(jìn)程喚醒的過(guò)程:將進(jìn)程從阻塞隊(duì)列中移出、將進(jìn)程狀態(tài)由阻塞態(tài)改為就緒態(tài)、將進(jìn)程插入就緒態(tài)
18.?什么情況下會(huì)進(jìn)程被終止:進(jìn)程正常執(zhí)行完畢
19.?完成進(jìn)程終止的過(guò)程:從進(jìn)程pcb中讀進(jìn)程狀態(tài)、若進(jìn)程正在執(zhí)行,則終止進(jìn)程的執(zhí)行、釋放資源、將終止進(jìn)程的PCB移出
第三小節(jié) 操作系統(tǒng)內(nèi)核
20.?操作系統(tǒng)內(nèi)核:操作系統(tǒng)內(nèi)核是計(jì)算機(jī)硬件的第一次擴(kuò)充,內(nèi)存執(zhí)行操作系統(tǒng)與硬件關(guān)系密切,執(zhí)行頻率高的模塊,常駐內(nèi)存
21.?操作系統(tǒng)的功能:支撐功能(中斷處理、時(shí)鐘管理、原語(yǔ)操作)、資源管理功能(進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理)
22.?中斷:是改變處理器執(zhí)行指令順序的一種事件
23.?為什么需要中斷:能有效提高cpu的利用率改善系統(tǒng)性能,支持系統(tǒng)的異步操作
24.?中斷的分類:
同步中斷(內(nèi)部中斷):自己出問(wèn)題了
異步中斷(外部中斷):分為外部可屏蔽中斷(執(zhí)行中但是可以停),外部不可屏蔽中斷(不能停)
25.?引起中斷的原因:人為設(shè)置中斷、程序性事故、硬件故障、I/O設(shè)備、外部事件(比如按exit退出了)
26.?中斷響應(yīng):響應(yīng)中斷的條件、響應(yīng)中斷的時(shí)機(jī)(就是執(zhí)行一個(gè)指令就去查一下中斷信號(hào),如果中斷信號(hào)有數(shù)據(jù),那么說(shuō)明程序要停下來(lái))
27.?單重中斷處理
?

28.?時(shí)鐘:時(shí)鐘是計(jì)算機(jī)系統(tǒng)的脈搏,計(jì)算機(jī)的很多活動(dòng)都是由定時(shí)測(cè)量來(lái)驅(qū)動(dòng)的
------------------時(shí)鐘可以限制用戶進(jìn)程在cpu上連續(xù)執(zhí)行的時(shí)間(不是中斷)---------------------
29.?實(shí)時(shí)時(shí)鐘RTC\CMOS:類似鐘表(北京時(shí)間),開(kāi)機(jī)后的初始值(比如手機(jī)開(kāi)機(jī)不可能顯示為0)
30.?Os時(shí)鐘:類似秒表,計(jì)算機(jī)開(kāi)機(jī)后初始值為0,是由操作系統(tǒng)控制的
兩個(gè)時(shí)鐘的工作原理是,開(kāi)機(jī)后使用實(shí)時(shí)時(shí)鐘的值作為初始值(北京時(shí)間),并且os時(shí)鐘的值為0,然后os開(kāi)始計(jì)時(shí)(像秒表一樣),然后加到初始值上
--------------大部分pc中有兩個(gè)時(shí)鐘源,分別為實(shí)時(shí)時(shí)鐘和os時(shí)鐘------------------------
31.?操作系統(tǒng)的時(shí)鐘機(jī)制:分為時(shí)鐘硬件(保持當(dāng)前的日期和時(shí)間)和時(shí)鐘驅(qū)動(dòng)程序(維持定時(shí)器)
Os時(shí)鐘管理硬件:晶振(秒針),計(jì)數(shù)器(分針),保持寄存器(時(shí)針),秒針一直在走,走一下分針就-1,減完后從時(shí)鐘在分配一個(gè)計(jì)數(shù)器,然后一直循環(huán)
32.?時(shí)鐘驅(qū)動(dòng)程序(簡(jiǎn)答題):維護(hù)時(shí)間、進(jìn)程運(yùn)行防止運(yùn)行超時(shí)、記錄cpu使用情況、遞減報(bào)警計(jì)數(shù)器
33.?系統(tǒng)調(diào)用:是預(yù)先定義好的模塊,是系統(tǒng)程序與用戶程序之間的接口
34.?系統(tǒng)調(diào)用和一般的函數(shù)調(diào)用的區(qū)別(簡(jiǎn)答題):
用戶空間:用戶進(jìn)程所在的地址空間
用戶態(tài)執(zhí)行:cpu執(zhí)行用戶空間代碼時(shí),稱這個(gè)進(jìn)程處于用戶態(tài)執(zhí)行(也稱為目態(tài))
系統(tǒng)空間:包含系統(tǒng)核心代碼的地址空間
系統(tǒng)態(tài)執(zhí)行:cpu執(zhí)行系統(tǒng)核心代碼時(shí),稱這個(gè)進(jìn)程處于系統(tǒng)態(tài)執(zhí)行(也稱為管態(tài))
區(qū)別1:系統(tǒng)調(diào)用運(yùn)行在系統(tǒng)態(tài),一般函數(shù)運(yùn)行在用戶態(tài)
區(qū)別2:執(zhí)行過(guò)程不同(系統(tǒng)調(diào)用時(shí),當(dāng)前進(jìn)程被中斷)(系統(tǒng)態(tài)的權(quán)限較高,所以會(huì)中斷其他的)
區(qū)別3:系統(tǒng)調(diào)用進(jìn)行中斷處理,比函數(shù)調(diào)用多了系統(tǒng)開(kāi)銷(因?yàn)橹袛鄷?huì)開(kāi)辟系統(tǒng)空間保護(hù)現(xiàn)場(chǎng),所以會(huì)有系統(tǒng)開(kāi)銷)
35.?系統(tǒng)調(diào)用的類型(簡(jiǎn)答題):進(jìn)程控制類、文件操作類、設(shè)備管理類、通信類、信息維護(hù)類
第四小節(jié) 進(jìn)程同步(重點(diǎn)) ??因?yàn)橐L問(wèn)臨界資源才有了進(jìn)程調(diào)度的算法
36.?多道程序環(huán)境下進(jìn)程之間的關(guān)系(進(jìn)程同步的任務(wù)):
資源共享關(guān)系:保證各進(jìn)程以互斥的方式訪問(wèn)臨界資源
相互合作關(guān)系:保證相互合作的各進(jìn)程協(xié)調(diào)執(zhí)行
37.?臨界資源:必須以互斥方式訪問(wèn)的共享資源稱為臨界資源,同時(shí)只有一個(gè)進(jìn)程
38.?臨界區(qū):進(jìn)程中訪問(wèn)臨界資源的那段代碼稱為臨界區(qū)
39.?同步機(jī)制遵循的準(zhǔn)則:
空閑讓進(jìn):沒(méi)有進(jìn)程在臨界區(qū),應(yīng)該要也許一個(gè)請(qǐng)求進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入
忙則等待:臨界區(qū)里面又進(jìn)程,其他試圖進(jìn)入的進(jìn)程必須等待
有限等待:對(duì)于訪問(wèn)臨界資源的進(jìn)程,應(yīng)該保證有限時(shí)間內(nèi)進(jìn)入臨界區(qū)
讓權(quán)等待:申請(qǐng)不到訪問(wèn)權(quán),應(yīng)該釋放出立即,以免浪費(fèi)cpu資源
40.?信號(hào)量機(jī)制:整型信號(hào)量機(jī)制、記錄型信號(hào)機(jī)制、AND型信號(hào)量
41.?整型信號(hào)量機(jī)制:表示共享資源狀態(tài)且只能由特殊的原子操作(wait申請(qǐng)資源,signal釋放)改變的整型量,原理是定義一個(gè)整型變量,用這個(gè)變量的值來(lái)標(biāo)記資源的使用情況,初始值為1,>0有資源可以用,<=0沒(méi)有資源,需要等待
用整型信號(hào)量實(shí)現(xiàn)進(jìn)程互斥:(整個(gè)結(jié)構(gòu)就是這樣子的,臨界資源要在申請(qǐng)資源成功后才能使用)
wait(s)//申請(qǐng)資源
cs//申請(qǐng)資源后訪問(wèn)臨界資源
signal(s)//釋放資源
例題:p1和p2兩個(gè)進(jìn)程都訪問(wèn)同一個(gè)臨界資源---打印機(jī)(用cs表示)對(duì)應(yīng)的整型信號(hào)量為s,s的初始值為1,想要實(shí)現(xiàn)互斥的代碼如下
P1 ???????????????????????????????????????????????P2
?{... ?????????????????????????????????????????????????{...
wait(s); ????????????????????????????????????????????wait(s);
cs ???????????????????????????????????????????????cs
signal(s); ?????????????????????????????????????????signal(s);
...} ?????????????????????????????????????????????????????...}
42.?記錄型信號(hào)量機(jī)制:原理定義一個(gè)記錄型變量,用該變量的值來(lái)標(biāo)記資源的使用情況,s.value>=0是,表示資源數(shù)量,s.value<0時(shí),s.value的絕對(duì)值表示等待隊(duì)列阻塞進(jìn)程的數(shù)量
第五小節(jié) 進(jìn)程通信
43.?進(jìn)程通信機(jī)制:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)、管道通信、消息緩沖隊(duì)列(不是高級(jí)通信機(jī)制)
第六小節(jié) 線程
44.?線程:線程是進(jìn)程中可以獨(dú)立執(zhí)行的子任務(wù),是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,和進(jìn)程共享所有資源
45.?線程控制塊TCB:每個(gè)線程由一個(gè)數(shù)據(jù)結(jié)構(gòu)表示,這個(gè)數(shù)據(jù)結(jié)構(gòu)就是tcb,記錄了線程運(yùn)行所需的全部信息
46.?線程與進(jìn)程的區(qū)別(簡(jiǎn)答題):
資源和調(diào)度:線程是程序執(zhí)行的基本單位,進(jìn)程是擁有資源的基本單位
地址空間資源:不同進(jìn)程地址不相同,同一個(gè)進(jìn)程下的線程地址相同
通信關(guān)系:同一進(jìn)程下的線程間可以直接通信
并發(fā)性:都支持并發(fā)執(zhí)行
系統(tǒng)開(kāi)銷:線程切換的開(kāi)銷比進(jìn)程小
47.?線程控制:創(chuàng)建、阻塞、喚醒、調(diào)度、切換、終止
48.?線程阻塞:請(qǐng)求系統(tǒng)服務(wù)、新數(shù)據(jù)尚未到達(dá)、啟動(dòng)某種操作
49.?線程終止:正常結(jié)束、異常結(jié)束、外界干擾
?
?
第三章?進(jìn)程調(diào)度與死鎖
1.?進(jìn)程調(diào)度的功能由誰(shuí)完成,具體做什么:由進(jìn)程調(diào)度程序完成,從就緒進(jìn)程中選擇新進(jìn)程調(diào)入cpu
2.?進(jìn)程調(diào)度時(shí)機(jī):進(jìn)程正常結(jié)束、進(jìn)程異常結(jié)束、進(jìn)程阻塞、有更高優(yōu)先級(jí)進(jìn)程到來(lái)、時(shí)間片用完
3.?選擇調(diào)度方式和算法的準(zhǔn)則(什么算法是好的算法/簡(jiǎn)答題):周轉(zhuǎn)時(shí)間短(作業(yè)從提交到完成的時(shí)間短)、響應(yīng)時(shí)間快、截止時(shí)間的保證(在一定時(shí)間內(nèi)完成)、系統(tǒng)吞吐量高、處理機(jī)利用率好
4.?帶權(quán)周轉(zhuǎn)時(shí)間:帶權(quán)時(shí)間/服務(wù)時(shí)間,開(kāi)始運(yùn)行時(shí)間=上一個(gè)進(jìn)程結(jié)束時(shí)間+上一個(gè)進(jìn)程進(jìn)入時(shí)間,周轉(zhuǎn)時(shí)間=服務(wù)時(shí)間+等待時(shí)間,等待時(shí)間=開(kāi)始運(yùn)行時(shí)間-進(jìn)入系統(tǒng)時(shí)間
5.?先來(lái)先服務(wù)算法FCFS:從就緒隊(duì)列的隊(duì)首選擇最先到達(dá)就緒隊(duì)列的進(jìn)程,為該進(jìn)程分配cpu
6.?短進(jìn)程優(yōu)先調(diào)度算法SPF:從就緒隊(duì)列中選擇估計(jì)運(yùn)行時(shí)間短的進(jìn)程,為該進(jìn)程分配cpu,優(yōu)點(diǎn)是和FCFS相比,SPF有效降低進(jìn)程的平均等待時(shí)間、提高系統(tǒng)吞吐量,缺點(diǎn)是對(duì)長(zhǎng)進(jìn)程不利、進(jìn)程長(zhǎng)短由用戶決定,不一定準(zhǔn)確
7.?優(yōu)先權(quán)調(diào)度算法:系統(tǒng)把cpu分配給優(yōu)先權(quán)最高的進(jìn)程,優(yōu)先權(quán)調(diào)度算法類型有搶占式和非搶占式,優(yōu)先權(quán)類型有靜態(tài)優(yōu)先權(quán)和動(dòng)態(tài)優(yōu)先權(quán)
8.?時(shí)間片輪調(diào)算法RR:系統(tǒng)按照先來(lái)先服務(wù)的原則排成一個(gè)隊(duì)列,每次調(diào)度時(shí)把cpu分配給隊(duì)首進(jìn)程,并執(zhí)行一個(gè)時(shí)間片,當(dāng)時(shí)間片用完時(shí),終止當(dāng)前進(jìn)程并將該進(jìn)程送入隊(duì)尾
時(shí)間片:一般時(shí)10~100ms,linux2.4是50ms
9.?時(shí)間片大小的確定:系統(tǒng)對(duì)響應(yīng)時(shí)間的要求(短-?。?、就緒隊(duì)列中進(jìn)程的數(shù)目(多-?。?、系統(tǒng)處理能力(好-?。?/p>
10.?多級(jí)隊(duì)列調(diào)度算法:把就緒隊(duì)列分為多個(gè)獨(dú)立隊(duì)列,每個(gè)隊(duì)列都有自己的調(diào)度算法
11.?多級(jí)反饋隊(duì)列算法:建立多個(gè)優(yōu)先權(quán)不同的就緒隊(duì)列,每個(gè)隊(duì)列有大小不同的時(shí)間片
12.?實(shí)現(xiàn)實(shí)時(shí)調(diào)度的基本條件:
提供必要的調(diào)度信息(開(kāi)始截止時(shí)間、完成截止時(shí)間、就緒時(shí)間、處理時(shí)間、資源要求、優(yōu)先級(jí))、
系統(tǒng)處理能力強(qiáng)、采用搶占式調(diào)度機(jī)制、具有快速切換機(jī)制
13.?實(shí)時(shí)調(diào)度算法:最早截止時(shí)間優(yōu)先算法EDF(運(yùn)行越早、優(yōu)先權(quán)越高)、最低松弛度優(yōu)先算法LLF(L=T-Tc-Ts,T完成截止時(shí)間、Tc當(dāng)前時(shí)間、Ts處理該任務(wù)還需要的時(shí)間)
14.?進(jìn)程切換:正在執(zhí)行的進(jìn)程成為被替換進(jìn)程,讓出所使用的cpu,以運(yùn)行新進(jìn)程
15.?多處理系統(tǒng)的類型:耦合(緊密耦合、松弛耦合),結(jié)構(gòu)(對(duì)稱(靜態(tài)分配和動(dòng)態(tài)分配)、非對(duì)稱(主-從式分配))
16.?死鎖:多個(gè)進(jìn)程競(jìng)爭(zhēng)共享資源而引起的進(jìn)程不能向前推進(jìn)的僵死狀態(tài),產(chǎn)生原因是競(jìng)爭(zhēng)資源且分配資源順序不當(dāng)
17.?產(chǎn)生死鎖的必要條件:互斥條件、請(qǐng)求和保持條件、不剝奪條件、環(huán)路等待條件
18.?處理死鎖:死鎖的預(yù)防(通過(guò)破壞死鎖的產(chǎn)生條件)、死鎖的避免(通過(guò)算法合理分配資源)
19.?破壞死鎖產(chǎn)生條件:摒棄請(qǐng)求和保持條件(一次性申請(qǐng)需要的全部資源、申請(qǐng)資源前需要釋放當(dāng)前占用的資源)、摒棄不剝奪條件(系統(tǒng)把被占用的資源分配給需要的進(jìn)程,缺點(diǎn)是實(shí)現(xiàn)復(fù)雜、代價(jià)高)、摒棄環(huán)路等待條件(先申請(qǐng)資源少的)
----------死鎖的避免--------------
20.?安全狀態(tài):能夠找到一個(gè)進(jìn)程執(zhí)行序列,按照這個(gè)序列為每個(gè)進(jìn)程分配資源可以保證進(jìn)程的資源分配和執(zhí)行順利完成,不發(fā)生死鎖
21.?銀行家算法:一個(gè)進(jìn)程提出資源請(qǐng)求后,系統(tǒng)先進(jìn)程資源的試分配,分配后檢測(cè)系統(tǒng)是否安全(安全就給他分配資源,不安全就不給),銀行家算法的實(shí)質(zhì)是避免系統(tǒng)進(jìn)入不安全狀態(tài)(不安全不一定等于死鎖)
----------死鎖的檢測(cè)---------------
22.?什么時(shí)候檢測(cè)/何時(shí)調(diào)用檢測(cè)算法:死鎖可能發(fā)生的頻率、死鎖發(fā)生時(shí)受影響的進(jìn)程數(shù)量
23.?資源分配圖:

圖中ab線是給P1分配了兩個(gè)資源,c線是P1申請(qǐng)資源,d線是分配給P2資源,e線是P2申請(qǐng)資源,f線是給P2分配資源
24.?死鎖定理:用于檢測(cè)系統(tǒng)所處的資源分配狀態(tài)是否為死鎖狀態(tài),死鎖狀態(tài)的充分條件是當(dāng)且僅當(dāng)S(S是指那張圖)狀態(tài)的資源分配圖是不可完全簡(jiǎn)化的(簡(jiǎn)化是指某個(gè)進(jìn)程可以正常執(zhí)行完畢,給他分配資源或者他申請(qǐng)資源的線因?yàn)閳?zhí)行完成后消失,完全簡(jiǎn)化是指資源分配圖全部線消失)
-------------死鎖的解除------------
25.?死鎖的解除:解除途徑(進(jìn)程終止(終止所有進(jìn)程、一次只終止一個(gè),直到死鎖解除)、資源搶占(從其他進(jìn)程搶占資源給其他進(jìn)程使用,直到死鎖解除))
?
第四章?內(nèi)存管理
1.?內(nèi)存管理的目標(biāo):實(shí)現(xiàn)內(nèi)存分配和回收,提高內(nèi)存空間的利用率和內(nèi)存訪問(wèn)速度
第一小節(jié) ?存儲(chǔ)器的層次結(jié)構(gòu)
2.?存儲(chǔ)器的層次結(jié)構(gòu):寄存器--L1高速緩存--L2高速緩存--主存儲(chǔ)器(隨機(jī)存儲(chǔ)器ram(靜動(dòng)態(tài))斷電內(nèi)容丟失)--本地二級(jí)存儲(chǔ)--遠(yuǎn)程二級(jí)存儲(chǔ)
3.?局部性原理:在短時(shí)間內(nèi),程序執(zhí)行僅限于某個(gè)部分,相應(yīng)的,它所訪問(wèn)的存儲(chǔ)空間也局限于某個(gè)區(qū)域,局部性分為空間局部性和時(shí)間局部性
第二小節(jié) 程序的鏈接和裝入
4.?程序的鏈接:將編譯后的目標(biāo)模塊裝配成一個(gè)可執(zhí)行程序(把代碼翻譯成0和1,把0和1整合在一起變成可以執(zhí)行的程序),程序的鏈接分為靜態(tài)鏈接和動(dòng)態(tài)鏈接
5.?靜態(tài)鏈接:程序運(yùn)行前,用鏈接程序將目標(biāo)模塊鏈接成一個(gè)完整的裝入模塊
6.?鏈接程序的任務(wù):對(duì)邏輯地址進(jìn)行修改(邏輯地址改成邏輯地址(所有的邏輯內(nèi)容串起來(lái)))、變換外部調(diào)用符號(hào)
7.?重定位:程序裝入時(shí)對(duì)目標(biāo)程序中的指令和數(shù)據(jù)地址的修改過(guò)程叫重定位(地址映射)
8.?程序的裝入:
絕對(duì)裝入方式:編譯時(shí)產(chǎn)生物理地址的目標(biāo)代碼
可重定位裝入(靜態(tài)重定位):編譯時(shí)地址時(shí)邏輯地址,裝入是通過(guò)重定位轉(zhuǎn)換為物理地址(物理地址=邏輯地址+程序在內(nèi)存中的起始地址)
動(dòng)態(tài)運(yùn)行時(shí)裝入(動(dòng)態(tài)重定位):程序執(zhí)行時(shí)通過(guò)重定位轉(zhuǎn)換為物理地址
第三小節(jié) 連續(xù)分配存儲(chǔ)管理方式
9.?單一連續(xù)分配:任何時(shí)刻主存儲(chǔ)器最多只有一個(gè)作業(yè)(只適用于單用戶單任務(wù)的操作系統(tǒng))
10.?固定分區(qū)分配:每個(gè)分區(qū)大小固定不變(區(qū)分大小相同、分區(qū)大小不等),每個(gè)分區(qū)只可以裝入一個(gè)作業(yè)(上限寄存器和下限寄存器)
固定分區(qū)說(shuō)明表:起始地址、長(zhǎng)度、是否占用
11.?動(dòng)態(tài)分區(qū)分配:分區(qū)大小和個(gè)數(shù)都是根據(jù)實(shí)際劃分的
空閑分區(qū)表:分區(qū)編號(hào)、分區(qū)大小、分區(qū)起始地址
空閑分區(qū)鏈:每個(gè)分區(qū)建立一個(gè)結(jié)點(diǎn)(結(jié)點(diǎn)包括(簡(jiǎn)答題):分區(qū)起始地址、分區(qū)大小、指向前一個(gè)空閑分區(qū)結(jié)點(diǎn)的指針、指向后一個(gè)空閑分區(qū)結(jié)點(diǎn)的指針)
12.?空閑區(qū)分配算法:
首次適應(yīng)算法:空閑分區(qū)鏈以地址遞增的順序鏈接從鏈?zhǔn)组_(kāi)始查找,直至找到第一個(gè)滿足要求的空閑分區(qū),p1(20+30=50,120-30=90)
?

循環(huán)首次適應(yīng)算法:從上次找到的空閑分區(qū)的下一個(gè)分區(qū)開(kāi)始查找(優(yōu)點(diǎn):空閑區(qū)分布均勻、查找開(kāi)銷較小,缺點(diǎn):缺乏大空閑區(qū))
最佳適應(yīng)算法:空閑分區(qū)鏈以分區(qū)大小遞增(從小到大排)的順序鏈接從鏈?zhǔn)组_(kāi)始查找,分配的空閑塊與裝入作業(yè)尺寸最接近(提高內(nèi)存利用率)
?

13.?動(dòng)態(tài)分區(qū)分配的流程(簡(jiǎn)答題):檢索空閑分區(qū)鏈->分配空閑分區(qū)->將分配給進(jìn)程的分區(qū)其實(shí)地址返回給內(nèi)存分配程序的調(diào)用者->修改空閑分區(qū)鏈表(檢索、分配、反饋、修改)
14.?動(dòng)態(tài)分區(qū)回收的流程:釋放一塊連續(xù)的內(nèi)存區(qū)域->如果釋放的區(qū)域與其他空閑區(qū)相鄰,則合并空閑區(qū)->修改空閑分區(qū)鏈
?

第四小節(jié) 基于分頁(yè)存儲(chǔ)管理
15.?頁(yè):將一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)大小相等的片
16.?頁(yè)框:將物理內(nèi)存空間分成與頁(yè)大小相同的若干個(gè)存儲(chǔ)塊
17.?分頁(yè)存儲(chǔ):將進(jìn)程中的若干頁(yè)分別裝入多個(gè)可不相鄰的頁(yè)框中
18.?頁(yè)內(nèi)碎片:進(jìn)程最后一頁(yè)一般裝不滿一個(gè)頁(yè)框,形成頁(yè)內(nèi)碎片
19.?頁(yè)表:實(shí)現(xiàn)從頁(yè)號(hào)到頁(yè)框號(hào)的映射
20.?分頁(yè)地址結(jié)構(gòu):頁(yè)號(hào)P、頁(yè)內(nèi)偏移量(頁(yè)內(nèi)地址)W
?

b、kb、mb、gb、tb
1024b=1kb,1024kb=1mb,1024mb=1gb
?

?

21.?分頁(yè)地址變換(簡(jiǎn)答題):
進(jìn)程執(zhí)行,pcb中頁(yè)表起始地址和頁(yè)表長(zhǎng)度送cpu的頁(yè)表寄存器
Cpu訪問(wèn)某個(gè)邏輯單元A
由分頁(yè)地址變換硬件自動(dòng)將A分為頁(yè)號(hào)和頁(yè)內(nèi)偏移兩部分
由硬件檢索頁(yè)表,得到A所在的頁(yè)對(duì)應(yīng)的頁(yè)框號(hào)
頁(yè)框號(hào)和頁(yè)內(nèi)偏移地址送物理地址寄存器,計(jì)算物理地址。物理地址=頁(yè)框大小*頁(yè)框號(hào)+頁(yè)內(nèi)偏移量
(計(jì)算題)
?

求頁(yè)號(hào),根據(jù)題目給出的頁(yè)表找出頁(yè)框號(hào),然后計(jì)算頁(yè)內(nèi)偏移量,然后在計(jì)算出物理地址,頁(yè)框號(hào)*頁(yè)面大小+頁(yè)內(nèi)偏移量(坑1:頁(yè)內(nèi)大小需要轉(zhuǎn)換單位要轉(zhuǎn)成B,坑2:0~1025有1026個(gè),因?yàn)閺?開(kāi)始所以不需要使用1026計(jì)算)
22.?頁(yè)的大?。?12B~4KB
23.?快表:也稱為轉(zhuǎn)換后援緩沖(TLB),是為了提高cpu訪存速度而使用的專用緩存,用來(lái)存放最近被訪問(wèn)過(guò)的內(nèi)容,快表包含兩個(gè)部分,鍵和值,鍵存放的是頁(yè)號(hào),值存放的是頁(yè)框號(hào)
24.?引入快表后的地址變換過(guò)程(簡(jiǎn)答題):去快表查詢,查到就用,查不到就去內(nèi)存找,找到后使用完就插入快表中
cpu產(chǎn)生對(duì)應(yīng)信息后,將頁(yè)號(hào)提交給快表
查找快表,如果找到頁(yè)號(hào),達(dá)到該頁(yè)號(hào)對(duì)應(yīng)的頁(yè)框號(hào),否則繼續(xù)查找內(nèi)容頁(yè)表表得到頁(yè)框號(hào)
如果查找的頁(yè)號(hào)不在快表里,訪問(wèn)內(nèi)存頁(yè)表后,將頁(yè)表項(xiàng)寫入快表
25.?TLB命中率:在TLB中找到某一個(gè)頁(yè)號(hào)對(duì)應(yīng)的頁(yè)表項(xiàng)的百分比稱為TLB命中率
?


26.?二級(jí)分頁(yè)系統(tǒng):頁(yè)號(hào)訪問(wèn)頁(yè)框號(hào)
第五小節(jié) 基本分頁(yè)的虛擬存儲(chǔ)系統(tǒng)
27.??虛擬存儲(chǔ)器:是指具有請(qǐng)求調(diào)入功能和置換功能,能從邏輯上對(duì)內(nèi)存容量進(jìn)行擴(kuò)充的一種儲(chǔ)器系統(tǒng)
28.?請(qǐng)求調(diào)入:先將進(jìn)程的一部分裝入內(nèi)存,其余的什么時(shí)候需要什么時(shí)候請(qǐng)求系統(tǒng)調(diào)入
29.?置換:如果請(qǐng)求調(diào)入時(shí)沒(méi)有足夠的空間,則選擇一部分內(nèi)存中進(jìn)程內(nèi)容移到外存,騰出空間把當(dāng)前需要轉(zhuǎn)入的內(nèi)存調(diào)入
30.?使用虛擬存儲(chǔ)技術(shù)的優(yōu)點(diǎn):提高內(nèi)存利用率、提高多道程序度、把邏輯地址和物理地址空間分開(kāi)
31.?使用虛擬存儲(chǔ)的特征:離散性(基礎(chǔ))、多次性、對(duì)換性、虛擬性(最重要的目標(biāo))
32.?請(qǐng)求分頁(yè):是系統(tǒng)最基本、最常用的虛擬存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方式
33.?請(qǐng)求分頁(yè)中的硬件支持:特殊的頁(yè)表、缺頁(yè)異常機(jī)構(gòu)、和支持請(qǐng)求分頁(yè)的地址變換機(jī)構(gòu)
地址變換:分頁(yè)地址變換機(jī)構(gòu)計(jì)算出頁(yè)號(hào)和頁(yè)內(nèi)偏移地址
????查找快表,如果找到了就讀出這個(gè)頁(yè)的頁(yè)框號(hào),并計(jì)算物理地址
如果快表里沒(méi)有這個(gè)信息,轉(zhuǎn)到內(nèi)存頁(yè)表進(jìn)行查找頁(yè)表,如果這個(gè)頁(yè)已經(jīng)調(diào)入,讀出頁(yè)框號(hào)并計(jì)算物理地址
如果這個(gè)頁(yè)沒(méi)有調(diào)入,則產(chǎn)生缺頁(yè)異常,請(qǐng)求調(diào)度該頁(yè),修改頁(yè)表重新執(zhí)行
34.?頁(yè)分配策略:
最小頁(yè)框數(shù):保證進(jìn)程正常運(yùn)行的所需要的最少頁(yè)框數(shù),最少頁(yè)框數(shù) 與進(jìn)程的大小沒(méi)有關(guān)系,它與計(jì)算機(jī)的硬件有關(guān),取決于指令的格式、功能和尋址方式(我有1025個(gè)單位,那么就需要2個(gè)(1024、1))
?分頁(yè)存儲(chǔ)系統(tǒng)中兩種置換策略:局部置換和全局置換
按照頁(yè)框數(shù)量的分配:固定分配和可變分配
分配頁(yè)框的算法:平均分配算法(多出的放入候補(bǔ)區(qū))、按比例分配算法、考慮優(yōu)先權(quán)的分配算法
35.?頁(yè)置換算法:最佳置換算法(主要用于研究)、先進(jìn)先出置換算法FIFO(最簡(jiǎn)單的頁(yè)置換算法)、最近最久未使用置換算法LRU(實(shí)現(xiàn)最佳算法的近似算法)
36.?最佳置換算法ORA:選擇以后永遠(yuǎn)不會(huì)被訪問(wèn)的頁(yè)或者在未來(lái)最長(zhǎng)時(shí)間不被訪問(wèn)的頁(yè)作為換出頁(yè)
37.?先進(jìn)先出置換算法FIFO:記錄每個(gè)頁(yè)調(diào)入內(nèi)存的時(shí)間,選擇進(jìn)入內(nèi)存時(shí)間最早的頁(yè)作為換出頁(yè)
?

產(chǎn)生多少次缺頁(yè)中斷?6次
缺頁(yè)率=缺頁(yè)/所有要訪問(wèn)的頁(yè) 6/7=85%
產(chǎn)生多少次頁(yè)面置換?3次
38.?最近最久未使用置換算法LRU:選擇最近最久沒(méi)有使用的頁(yè)換出
?

產(chǎn)生多少次缺頁(yè)中斷?6次
缺頁(yè)率=缺頁(yè)/所有要訪問(wèn)的頁(yè) 6/7=85%
產(chǎn)生多少次頁(yè)面置換?3次
?

39.?缺頁(yè)率對(duì)有效訪問(wèn)時(shí)間的影響:
有效訪問(wèn)時(shí)間=0.1+24999.9*P(缺頁(yè)率)
有效訪問(wèn)時(shí)間與缺頁(yè)率成正比,缺頁(yè)率越高,有效訪問(wèn)時(shí)間越長(zhǎng),訪問(wèn)效率低
40.?工作集:某段時(shí)間間隔里,進(jìn)程要訪問(wèn)的頁(yè)的集合,目的是降低缺頁(yè)率,提高訪問(wèn)內(nèi)存效率
41.?抖動(dòng):運(yùn)行進(jìn)程大部分時(shí)間都用于換入換出幾乎不能完成任何有效工作的狀態(tài),產(chǎn)生抖動(dòng)原因是因?yàn)檫M(jìn)程數(shù)量太多、分配頁(yè)框太小,預(yù)防方法是引入工作集
第六小節(jié) 分段存儲(chǔ)管理(易于實(shí)現(xiàn)共享)
-------------------------------------分段存儲(chǔ)管理------------------------------------
42.?分段機(jī)制的引入:在分段存儲(chǔ)管理的系統(tǒng)中,程序員使用二維的邏輯地址,一個(gè)數(shù)用來(lái)表示段,另一個(gè)數(shù)用來(lái)表示段內(nèi)偏移量,題目會(huì)給出幾號(hào)段+100偏移量
43.?分段存儲(chǔ)的目的:部分存儲(chǔ)空間動(dòng)態(tài)增長(zhǎng)、信息共享、信息保護(hù)的問(wèn)題
44.?分段:進(jìn)程的地址空間被劃分成若干個(gè)段,每個(gè)段的大小不一樣,每個(gè)段的邏輯地址從0開(kāi)始,采用一段連續(xù)的地址空間,系統(tǒng)為每個(gè)段分配一個(gè)連續(xù)的物理內(nèi)存區(qū)域,各個(gè)不同段可以離散的放入物理內(nèi)存不同的區(qū)域,系統(tǒng)為進(jìn)程建立一個(gè)段表,段表包括段號(hào)、段長(zhǎng)和該段的基址,段表存放在內(nèi)存里
45.?分段的邏輯地址結(jié)構(gòu):段號(hào)、段內(nèi)偏移
46.?段表:是用于支持分段存儲(chǔ)管理地址映射的數(shù)據(jù)結(jié)構(gòu),包括段號(hào)、段長(zhǎng)(段大?。⒍位罚ǘ蔚钠鹗嫉刂罚?/p>
47.?分段系統(tǒng)的地址變換:使用段號(hào)從段表中找到段號(hào)作為s的段表項(xiàng);從找到的段表項(xiàng)中讀出S段的基地址和段大小;如果d<=段大小,則將段基址與段內(nèi)偏移d相加,得到物理單元地址
48.?分頁(yè)和分段的主要區(qū)別:分頁(yè)和分段都屬于離散分配方式,都要通過(guò)數(shù)據(jù)結(jié)構(gòu)與硬件的配合來(lái)實(shí)現(xiàn)邏輯地址到物理地址的映射
區(qū)別1:頁(yè)是按物理單位劃分的,分頁(yè)的引入是為了支持虛擬存儲(chǔ),而段是按邏輯單位劃分的,分段的引入是為了方便程序員編程
區(qū)別2:頁(yè)的大小是固定的,而段的大小取決于用戶編寫的程序
區(qū)別3:分頁(yè)的地址空間是一維的,分段的地址空間是二維的
49.?分段機(jī)制的優(yōu)點(diǎn):一個(gè)方便、兩個(gè)動(dòng)態(tài)、兩個(gè)分段
-------------------------------------段頁(yè)式存儲(chǔ)管理-----------------------------------
也就是分頁(yè)和分段結(jié)合的存儲(chǔ)管理,先分段在分頁(yè)
50.?段頁(yè)式存儲(chǔ)管理的基本原理:將用戶進(jìn)程的邏輯空間先劃分成若干個(gè)段,每個(gè)段在劃分成若干個(gè)頁(yè)
第七小節(jié) linux的伙伴系統(tǒng)
51.?滿足以下條件的兩個(gè)塊稱為伙伴:兩個(gè)塊具有相同的大小,記作b,他們的物理地址是連續(xù)的,起始地址是2b的整數(shù)倍
第五章 文件系統(tǒng)
第一小節(jié) 文件
1.?文件系統(tǒng)的用戶接口:包括命名、類型、屬性和對(duì)文件的操作
文件命名:所有操作系統(tǒng)都允許用1~8個(gè)字母組成的字符串,以圓點(diǎn)分開(kāi)
文件結(jié)構(gòu):無(wú)結(jié)構(gòu)字節(jié)序列(流式文件)、固定長(zhǎng)度記錄序列、樹(shù)形結(jié)構(gòu)(關(guān)鍵字)
文件類型:正規(guī)文件(ASCII文件、二進(jìn)制文件)、目錄文件、字符設(shè)備文件、塊設(shè)備文件
文件存?。喉樞虼嫒 ㈦S機(jī)存取
文件屬性:就是文件的詳細(xì)信息,比如創(chuàng)建日期、文件大小啥的
文件操作:seek找到讀取位置
第二小節(jié) 目錄
2.?目錄:是文件系統(tǒng)中實(shí)現(xiàn)按名訪問(wèn)的重要數(shù)據(jù)結(jié)構(gòu)
3.?目錄文件中兩種常用結(jié)構(gòu):屬性放在目錄項(xiàng)中和放在i結(jié)點(diǎn)(屬性和地址存放在i結(jié)點(diǎn))中
4.?目錄結(jié)構(gòu):
單層目錄(一級(jí)目錄):缺點(diǎn)是文件命名和搜索效低
兩級(jí)目錄:主目錄下存放用戶目錄,然后存放文件,優(yōu)點(diǎn)是解決重名問(wèn)題,查找快,缺點(diǎn)是增加系統(tǒng)開(kāi)銷
樹(shù)形目錄:優(yōu)點(diǎn)是便于文件分類、層次結(jié)構(gòu)清晰、便于管理和保護(hù)、解決了重名問(wèn)題、查找速度加快,缺點(diǎn)是結(jié)構(gòu)相對(duì)復(fù)雜
5.?樹(shù)形目錄的路徑名:絕對(duì)路徑名和相對(duì)路徑名
第三小節(jié)文件系統(tǒng)的實(shí)現(xiàn)
-------------------------------------實(shí)現(xiàn)文件--------------------------------------------
6.?實(shí)現(xiàn)文件:文件系統(tǒng)通常是以2的n次方個(gè)連續(xù)的扇區(qū)為單位對(duì)文件進(jìn)行磁盤空間的分配,把分配給文件的連續(xù)扇區(qū)構(gòu)成的磁盤塊稱為簇,(每個(gè)簇使用二進(jìn)制標(biāo)識(shí),一個(gè)簇號(hào)都要32位)
7.?文件存儲(chǔ)4中常用方式:連續(xù)分配、磁盤鏈接表、內(nèi)存的鏈接分配表、i-結(jié)點(diǎn)
8.?連續(xù)分配:把文件作為一連串的數(shù)據(jù)塊放在磁盤上,優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、讀操作性能好,缺點(diǎn)是磁盤變得零碎,空閑的連續(xù)簇形成空洞
9.?使用磁盤鏈接表分配:為每個(gè)文件構(gòu)造簇的鏈接表,優(yōu)點(diǎn)是充分利用每個(gè)簇,缺點(diǎn)是隨機(jī)存取相當(dāng)緩慢
10.?使用內(nèi)存的鏈接分配表分配:將文件所在的磁盤的簇號(hào)放在內(nèi)存的表中,例如MS-DOS,缺點(diǎn)是把整個(gè)表都存放在內(nèi)存中
11.?i-結(jié)點(diǎn):為每個(gè)文件賦予一個(gè)被稱為i-結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),其中列出了文件屬性和文件的磁盤地址

算出數(shù)量
-------------------------------------實(shí)現(xiàn)目錄--------------------------------------------
12.?Cp/M中的目錄:只有一層目錄,存儲(chǔ)以簇為單位
13.?MS-DOS中的目錄:使用文件分配表Fat存放
14.?Unix中的目錄:所有東西都存放I-結(jié)點(diǎn),每個(gè)目錄包含一個(gè)文件名和他的i結(jié)點(diǎn)號(hào)
-------------------------------------磁盤空間管理--------------------------------------------
15.?簇大?。禾笤斐煽臻g浪費(fèi),太小會(huì)跨越簇,訪問(wèn)時(shí)間延長(zhǎng),一個(gè)簇大小是2的整數(shù)次冪個(gè)連續(xù)的扇區(qū)
16.?記錄空閑塊:空閑簇鏈接表、位圖
第六章?I/O設(shè)備管理
第一小節(jié)I/O系統(tǒng)的組成
----------------------------------------I/O系統(tǒng)的結(jié)構(gòu)-------------------------------------
1.?I/O系系統(tǒng)的結(jié)構(gòu)分為兩大類:微機(jī)I/O系統(tǒng)、主機(jī)I/O系統(tǒng)
微機(jī)I/O系統(tǒng):CPU與內(nèi)存之間可以直接進(jìn)行信息交換,但是不能與設(shè)備直接進(jìn)行信息交換必須經(jīng)過(guò)設(shè)備控制器
主機(jī)I/O系統(tǒng):采用四級(jí)結(jié)構(gòu),包括主機(jī)、通道(用通道控制設(shè)備)、控制器(控制器也可以控制設(shè)備)和設(shè)備

----------------------------------------I/O設(shè)備的分類-------------------------------------
2.?I/O設(shè)備的分類:按傳輸速率分類、按信息交換單位分類、按設(shè)備的共享屬性分類
按傳輸速率分類:低速設(shè)備(鼠標(biāo)、鍵盤)、中速設(shè)備、高速設(shè)備
按信息交換單位分類:塊設(shè)備(數(shù)據(jù)存取以數(shù)據(jù)塊為單位)、字符設(shè)備(傳送字節(jié)流)
按設(shè)備的共享屬性分類:獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備
----------------------------------------設(shè)備控制器----------------------------------------
3.?設(shè)備控制器:是cpu與I/O設(shè)備之間的接口,接受I/O的命令并控制設(shè)備完成工作,也是一個(gè)可編址設(shè)備,鏈接多個(gè)設(shè)備時(shí)可有多個(gè)設(shè)備地址
4.?設(shè)備控制器的功能(簡(jiǎn)答題):接收和識(shí)別命令、數(shù)據(jù)交換(通過(guò)數(shù)據(jù)寄存器進(jìn)行數(shù)據(jù)交換)、設(shè)備狀態(tài)的了解和報(bào)告、地址識(shí)別、數(shù)據(jù)緩沖、差錯(cuò)控制
5.?設(shè)備控制器的組成:設(shè)備控制器與處理機(jī)的接口、設(shè)備控制器與設(shè)備的接口、I/O邏輯
設(shè)備控制器與處理機(jī)的接口:數(shù)據(jù)線、控制器、地址線
設(shè)備控制器與設(shè)備的接口:接口中3類信號(hào)為數(shù)據(jù)、狀態(tài)、控制信號(hào)
I/O邏輯:由指令譯碼器和地址譯碼器兩部分功能部件構(gòu)成
----------------------------------------I/O通道-------------------------------------
6.?I/O通道:是一種特殊的處理機(jī),大型主機(jī)系統(tǒng)中專門用于I/O的專用計(jì)算機(jī),引入通道能夠使cpu與I/O并行工作,提高Cpu利用率和系統(tǒng)吞吐量
第二小節(jié)I/O控制方式
7.?輪詢控制方式:反復(fù)檢測(cè)設(shè)備控制器狀態(tài)寄存器的忙/閑標(biāo)志位,缺點(diǎn)時(shí)使cpu經(jīng)常處于循環(huán)測(cè)試狀態(tài)、造成cpu的浪費(fèi),影響進(jìn)程的吞吐量
8.?中斷控制方式:
cpu執(zhí)行過(guò)程中,發(fā)出輸入/輸出請(qǐng)求,如果I/O設(shè)備忙,則進(jìn)程阻塞等待
當(dāng)I/O設(shè)備工作完畢,通過(guò)中斷控制器發(fā)出中斷請(qǐng)求信號(hào),Cpu響應(yīng)中斷,執(zhí)行對(duì)應(yīng)設(shè)備的中斷處理程序,然后喚醒因等待該設(shè)備而阻塞的進(jìn)程
Cpu繼續(xù)執(zhí)行這個(gè)進(jìn)程時(shí),向設(shè)備控制器發(fā)送I/o指令,然后cpu被調(diào)度程序分配給某個(gè)進(jìn)程,繼續(xù)執(zhí)行某個(gè)進(jìn)程
本次I/O結(jié)束后,設(shè)備控制器通過(guò)向CPU發(fā)送中斷請(qǐng)求信號(hào)告知CPU本次數(shù)據(jù)傳輸結(jié)束
9.?中斷控制的優(yōu)點(diǎn):時(shí)cpu和I/o設(shè)備并行工作,提高cpu的利用率和系統(tǒng)的吞吐量
10.?DMA控制方式:
DMA控制器的組成部分:DMA與主機(jī)的接口、DMA與設(shè)備的接口以及I/O控制邏輯
DMA控制器中的寄存器:命令/狀態(tài)寄存器CR、內(nèi)存地址寄存器MAR、數(shù)據(jù)寄存器DR、數(shù)據(jù)計(jì)數(shù)器DC
DMA工作方式流程(簡(jiǎn)答題):cpu要讀取一個(gè)數(shù)據(jù)塊時(shí),向磁盤控制器發(fā)送一條讀命令
該被送到命令寄存器CR中,同時(shí)CPU將本次讀入數(shù)據(jù)放在內(nèi)存中的起始地址送入MAR寄存器,將本次要讀的字節(jié)送入DC寄存器
然后啟動(dòng)DMA控制器進(jìn)行數(shù)據(jù)傳輸,傳輸完畢后,DMA向CPU發(fā)送中斷請(qǐng)求
第三小節(jié)緩沖管理
11.?緩沖區(qū):用來(lái)保存兩個(gè)設(shè)備之間或設(shè)備與應(yīng)用程序之間傳輸數(shù)據(jù)的內(nèi)存區(qū)域,引入原因是處理數(shù)據(jù)流的生產(chǎn)者與消費(fèi)者之間的速度差異、協(xié)調(diào)傳輸數(shù)據(jù)大小不一致的設(shè)備,引入作用是緩和CPU與I/O設(shè)備之間速度不匹配的矛盾,還能提高CPU和I/O設(shè)備的并行性
12.?單緩沖區(qū):分配于內(nèi)存,只有一個(gè)緩沖區(qū)
13.?雙緩沖區(qū):兩個(gè)緩沖區(qū),緩沖交換
14.?循環(huán)緩沖區(qū):多個(gè)緩沖區(qū)彼此之間構(gòu)成了圓,緩沖區(qū)的類型包括空緩沖區(qū)R、已裝滿數(shù)據(jù)的緩沖區(qū)G、現(xiàn)行工作緩沖區(qū)C,多個(gè)指針nextg(下一個(gè)裝滿數(shù)據(jù)的緩沖區(qū))、nexti(下一個(gè)可用的空緩沖區(qū))、current(正在使用的緩沖區(qū)),getbuf使用緩沖區(qū)、releasebuf釋放緩沖區(qū)
第四小節(jié)設(shè)備分配
15.?設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)(用什么數(shù)據(jù)結(jié)構(gòu)控制數(shù)據(jù)結(jié)構(gòu)分配):設(shè)備控制表DCT、控制器控制表COCT、通道控制報(bào)表CHCT、系統(tǒng)設(shè)備表SDT(把其他的都表都存起來(lái))
16.?設(shè)備分配考慮的3個(gè)因素:設(shè)備的固有屬性(獨(dú)占性、共享性、可虛擬性)、設(shè)備分配算法(先來(lái)先服務(wù)、基于優(yōu)先權(quán)的分配算法)、設(shè)備分配方式(安全分配方式、不安全區(qū)分配方式)
17.?設(shè)備獨(dú)立性(設(shè)備無(wú)關(guān)性,現(xiàn)代操作系統(tǒng)都支持設(shè)備獨(dú)立性):應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備,應(yīng)用程序中,使用邏輯設(shè)備名稱來(lái)請(qǐng)求各類設(shè)備、實(shí)際執(zhí)行時(shí),必須使用物理設(shè)備名稱
18.?實(shí)現(xiàn)設(shè)備獨(dú)立性的好處(簡(jiǎn)答題):應(yīng)用程序與物理設(shè)備無(wú)關(guān)(系統(tǒng)增減外圍設(shè)備時(shí),不需要修改應(yīng)用程序)、易于處理輸入/輸出設(shè)備的故障(替換設(shè)備不需要修改應(yīng)用程序)、提高系統(tǒng)的可靠性,增加設(shè)備分配的靈活性
19.?設(shè)備獨(dú)立軟件的功能:執(zhí)行所有設(shè)備的公有操作(邏輯設(shè)備表LUT),向用戶層軟件提供統(tǒng)一的接口
20.?獨(dú)立設(shè)備的分配程序(對(duì)于有通道的系統(tǒng)):分配設(shè)備、分配控制器、分配通道
21.?SPOOLing技術(shù)(假脫機(jī)技術(shù)):通過(guò)虛擬化技術(shù)欺騙進(jìn)程(只有一個(gè)打印機(jī),使用spooling技術(shù)讓進(jìn)程以為自己擁有一個(gè)完整的打印機(jī))
22.?Spooling的組成:輸入\輸出井(在磁盤里)、輸入/輸出緩沖區(qū)、輸入/輸出進(jìn)程、請(qǐng)求I/O隊(duì)列
23.?spooling的特點(diǎn):提高i/o速度、將獨(dú)占設(shè)備改為共享設(shè)備、實(shí)現(xiàn)虛擬設(shè)備功能
第五小節(jié)I/O軟件原理
24.?I/O軟件原理:將軟件組織成一種層次結(jié)構(gòu),低層軟件用來(lái)屏蔽硬件具體細(xì)節(jié)、高層軟件為用戶提供界面
25.?設(shè)備管理的4個(gè)層次:用戶層軟件(我們發(fā)送的請(qǐng)求)、與設(shè)備無(wú)關(guān)的軟件層(和操作系統(tǒng)相關(guān)的)、設(shè)備驅(qū)動(dòng)程序、中斷處理程序(底層)
26.?設(shè)備管理軟件功能:實(shí)現(xiàn)輸出I/O設(shè)備的獨(dú)立性、錯(cuò)誤處理、異步傳輸、緩沖管理、設(shè)備的分配和釋放、實(shí)現(xiàn)I/O設(shè)備控制方式
27.?I/O中斷處理程序的作用:將發(fā)出i/o請(qǐng)求而被阻塞的進(jìn)程喚醒
28.?設(shè)備驅(qū)動(dòng)程序:I/O進(jìn)程與設(shè)備控制器之間的通信程序(就是U盤連接電腦時(shí),會(huì)彈出一個(gè)正在安裝驅(qū)動(dòng))
29.?與硬件無(wú)關(guān)的I/o軟件:無(wú)
第六小節(jié)磁盤管理
30.?磁盤存儲(chǔ)器:是一個(gè)它容量大、存取速度快、可以實(shí)現(xiàn)隨機(jī)存取的比較理想的外存設(shè)備,目標(biāo)是提高磁盤空間利用率和磁盤訪問(wèn)速度
31.?磁盤結(jié)構(gòu):一個(gè)物理記錄記錄在一個(gè)扇區(qū)上,磁盤存儲(chǔ)的物理記錄數(shù)目由扇區(qū)數(shù)、磁道數(shù)、磁盤面數(shù)決定的
32.?磁盤訪問(wèn)時(shí)間:尋道時(shí)間(磁頭移動(dòng)到指定磁道時(shí)間,移動(dòng)的是磁頭)、旋轉(zhuǎn)延遲時(shí)間(扇區(qū)移動(dòng)到磁頭下面的時(shí)間,移動(dòng)的是扇區(qū))、傳輸時(shí)間(磁盤數(shù)據(jù)讀出或?qū)懭氲臅r(shí)間)
33.?磁盤調(diào)度:最重要的目標(biāo)是使磁盤的平均尋道時(shí)間最少,使用的算法有先來(lái)先服務(wù)、最短尋道時(shí)間優(yōu)先、掃描算法、循環(huán)掃描算法
34.?先來(lái)先服務(wù)FCFS:最簡(jiǎn)單的磁盤調(diào)度算法,根據(jù)進(jìn)程請(qǐng)求訪問(wèn)磁盤的先后順序進(jìn)行調(diào)度,優(yōu)點(diǎn)公平、簡(jiǎn)單、缺點(diǎn)平均尋道時(shí)間較長(zhǎng)
?

35.?最短尋道時(shí)間優(yōu)先SSTF:要求訪問(wèn)的磁道與當(dāng)前磁頭所在的磁道距離最近,優(yōu)點(diǎn)是尋道時(shí)間短,缺點(diǎn)是導(dǎo)致某個(gè)進(jìn)程發(fā)生“饑餓”現(xiàn)象
36.?掃描算法SCAN(電梯調(diào)度算法):不僅考慮到要訪問(wèn)的磁道與當(dāng)前磁道的距離,更優(yōu)先考慮到磁頭當(dāng)前移動(dòng)的方向,優(yōu)點(diǎn)是防止饑餓現(xiàn)象,缺點(diǎn)是有時(shí)候進(jìn)程請(qǐng)求被大大推遲
37.?循環(huán)掃描算法CSCAN:一直往外邊走
38.?NStepSCAN和FSAN調(diào)度算法區(qū)別:NStepSCAN分為N個(gè),F(xiàn)SAN分為2個(gè)

?
FCFS直接按照它給出的次序走
?

SSTF選擇里當(dāng)前數(shù)最近的
?


?
(增加的方向移動(dòng),就是向外走)
?

?
向外走也就是從100-->150然后直到最大的后面沒(méi)有了,再?gòu)淖钚〉拈_(kāi)始(不會(huì)掉頭,一直向外走)