拓展培訓(xùn)東莞網(wǎng)站建設(shè)東莞關(guān)鍵詞排名seo
目錄
1.進(jìn)程管理-進(jìn)程的概念
2.進(jìn)程的三態(tài)圖和五態(tài)圖
3.進(jìn)程的同步與互斥
4.PV操作應(yīng)用?
5.死鎖問(wèn)題
6.銀行家算法
7.存儲(chǔ)管理
8.段式存儲(chǔ)組織
9.段頁(yè)式存儲(chǔ)組織
10.頁(yè)面置換算法
11.磁盤(pán)管理
12.作業(yè)管理
13.索引文件結(jié)構(gòu)
14.樹(shù)型目錄結(jié)構(gòu)
15.空閑存儲(chǔ)空間管理
16.數(shù)據(jù)傳輸控制方式
17.虛設(shè)備與SPOOLING技術(shù)
1.進(jìn)程管理-進(jìn)程的概念
- 進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過(guò)程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位
- 它由程序塊,進(jìn)程控制塊(PCB)和數(shù)據(jù)塊三部分組成
- 進(jìn)程與程序的區(qū)別:進(jìn)程是程序的一次執(zhí)行過(guò)程,沒(méi)有程序就沒(méi)有進(jìn)程
- 程序是完成某個(gè)特定功能的一系列程序語(yǔ)句的集合,只要不被破壞,它就永遠(yuǎn)存在
- 程序是一個(gè)靜態(tài)的概念,而進(jìn)程是一個(gè)動(dòng)態(tài)的概念,它由創(chuàng)建而產(chǎn)生,完成任務(wù)后因撤銷(xiāo)而消亡
- 進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位,而程序不是?
2.進(jìn)程的三態(tài)圖和五態(tài)圖
- CPU/其他資源I/O(運(yùn)行)
- CPU調(diào)度就緒隊(duì)列中的進(jìn)程
- 運(yùn)行狀態(tài)時(shí),CPU時(shí)間片用完返回就緒狀態(tài)
- 運(yùn)行狀態(tài)時(shí),其他資源被占用返回等待(阻塞)狀態(tài)
- 其他被占用的資源釋放,等待(阻塞)狀態(tài),到達(dá)就緒狀態(tài)
- 五態(tài)圖是在三態(tài)圖的基礎(chǔ)上,提出了掛起的概念,增加了靜止和活躍的轉(zhuǎn)化
3.進(jìn)程的同步與互斥
- 直接制約關(guān)系
- 間接制約關(guān)系
- 臨界資源
?
4.PV操作應(yīng)用?
購(gòu)書(shū)收銀員案例
- 我們可以很容易從圖中看出 a1是由上面購(gòu)書(shū)狀態(tài)轉(zhuǎn)移后的,其實(shí)此處看成選書(shū)會(huì)更好,還沒(méi)有付款嘛,選完書(shū)應(yīng)該釋放進(jìn)程,所以a1為V操作
- 但是呢,你只是選書(shū)完,你還沒(méi)有付款呢,這時(shí)候,肯定不能拿著書(shū)就跑了吧?
- 所以a2為P操作,目的是為了阻塞當(dāng)前進(jìn)程,不讓該進(jìn)程結(jié)束,阻塞之后,調(diào)用收銀員進(jìn)程
- 所以b1為P操作,b2為V操作,執(zhí)行完b2就代表你付完款,而收銀員也處理完,接受到你的錢(qián)了,所以再喚醒阻塞的購(gòu)書(shū)者進(jìn)程
- 因此 我們很容易看出 a1:V a2:P b1:P b2:V 至于具體是多少,我們要根據(jù)題目去看
- 而在本題,Sn是空間大小,就可以直接獲取答案a1:V1 a2:P2 b1:P1 b2:V2
前趨圖PV操作應(yīng)用?
- A B C完后時(shí)候,會(huì)執(zhí)行V操作,喚醒D操作,執(zhí)行完之后V操作,喚醒E操作
5.死鎖問(wèn)題
- 進(jìn)程管理是操作系統(tǒng)的核心,但如果設(shè)計(jì)不當(dāng),就會(huì)出現(xiàn)死鎖的問(wèn)題
- 如果一個(gè)進(jìn)程在等待一件不可能發(fā)生的事,則進(jìn)程就死鎖了
- 而如果一個(gè)或多個(gè)進(jìn)程產(chǎn)生產(chǎn)生死鎖,就會(huì)造成系統(tǒng)死鎖
- 例:系統(tǒng)有5個(gè)進(jìn)程:A,B,C,D,E,這5個(gè)進(jìn)程都需要4個(gè)系統(tǒng)資源,如果系統(tǒng)至少有多少個(gè)資源,則不可能發(fā)生死鎖
- 就直接算最壞情況,也不死鎖就行了呀
- (進(jìn)程數(shù)量)*(需要的資源數(shù)-1)+ 1
- 本題:5*(4-1)+1 = 16個(gè)資源就行了
?死鎖關(guān)系圖
6.銀行家算法
銀行家算法:分配資源的原則?
- 當(dāng)一個(gè)進(jìn)程對(duì)資源的最大需求量不超過(guò)系統(tǒng)中的資源數(shù)時(shí)可以接納該進(jìn)程
- 進(jìn)程可以分期請(qǐng)求資源,但請(qǐng)求的總數(shù)不能超過(guò)最大需求量
- 當(dāng)系統(tǒng)現(xiàn)有的資源不能滿(mǎn)足進(jìn)程尚需資源數(shù)時(shí),對(duì)進(jìn)程的請(qǐng)求可以推遲分配,但總能使進(jìn)程在有限的時(shí)間里得到資源
7.存儲(chǔ)管理
頁(yè)式存儲(chǔ)管理?
- 頁(yè)式儲(chǔ)存:將程序與內(nèi)存均劃分為同樣大小的塊,以頁(yè)為單位將程序調(diào)入內(nèi)存
- 程序:邏輯地址(邏輯頁(yè))
- 內(nèi)存:物理地址(物理塊)
?
- 頁(yè)表中頁(yè)號(hào)就是邏輯頁(yè)的頁(yè)號(hào)
- 頁(yè)表中塊號(hào)就是物理塊的塊號(hào)(頁(yè)幀號(hào))
- 頁(yè)內(nèi)地址都是一樣的
- 4KB的頁(yè)->4×210=212,說(shuō)明需要12位二進(jìn)制來(lái)表示頁(yè)內(nèi)地址
- 剩下的就是頁(yè)號(hào)/頁(yè)幀號(hào)
- 上圖所示:頁(yè)號(hào)10->十進(jìn)制2 對(duì)應(yīng)十進(jìn)制6->頁(yè)幀號(hào)110
- 加上頁(yè)內(nèi)地址就是邏輯地址/物理地址
- 優(yōu)點(diǎn):利用率高,碎片小,分配及管理簡(jiǎn)單
- 缺點(diǎn):增加了系統(tǒng)開(kāi)銷(xiāo);可能產(chǎn)生抖動(dòng)現(xiàn)象
將頁(yè)面從內(nèi)存淘汰算法?
淘汰原則
- 訪(fǎng)問(wèn)位為0
- 修改位為0
8.段式存儲(chǔ)組織
段式存儲(chǔ)
- 按用戶(hù)作業(yè)中的自然段來(lái)劃分邏輯空間,然后調(diào)入內(nèi)存,段的長(zhǎng)度可以不一樣
?
- 我們?cè)谶M(jìn)行頁(yè)式存儲(chǔ)時(shí),由于頁(yè)內(nèi)地址都是一樣的,所以我們只需要去需要頁(yè)號(hào)和頁(yè)幀號(hào)就行了
- 但是我們段氏存儲(chǔ)時(shí),由于分段的大小不一,所以我們必須了解段的起始位置,和整個(gè)段的長(zhǎng)度,并且標(biāo)注好段號(hào)
- 這樣才能找到相應(yīng)的內(nèi)存地址
- 由于段的大小不一致,所以會(huì)存在一些碎片
段地址:(段號(hào),不能超過(guò)段長(zhǎng))-> 合法地址和不合法地址的考察
優(yōu)點(diǎn):多道程序共享內(nèi)容,各段程序修改互不影響
缺點(diǎn):內(nèi)存利用率低,內(nèi)存碎片浪費(fèi)大
9.段頁(yè)式存儲(chǔ)組織
段頁(yè)式存儲(chǔ)
- 段氏與頁(yè)式的綜合體
- 先分段,再分頁(yè)
- 1個(gè)程序有若干個(gè)段,每個(gè)段可以有若干頁(yè),每個(gè)頁(yè)的大小相同,但每個(gè)段的大小不同
?
- 優(yōu)點(diǎn):空間浪費(fèi)小,資源共享容易,存儲(chǔ)保護(hù)容易,能動(dòng)態(tài)連接
- 缺點(diǎn):由于管理軟件的增加,復(fù)雜性和開(kāi)銷(xiāo)也隨之增加,需要的硬件以及占用的內(nèi)容也有所增加,能使執(zhí)行速度大大下降
10.頁(yè)面置換算法
- 最優(yōu)(Optimal,OPT)算法:理想算法
- 隨機(jī)(RAND)算法
- 先進(jìn)先出(FIFO)算法:有可能產(chǎn)生“抖動(dòng)”。例如:432143543215序列,用3個(gè)頁(yè)面,比4個(gè)缺頁(yè)要少
- 最近最少使用(LRU)算法:不會(huì)“抖動(dòng)”,LRU的理論依據(jù)是局部性原理
時(shí)間局限性:剛被訪(fǎng)問(wèn)的內(nèi)容,立即又被訪(fǎng)問(wèn)
空間局部性:剛被訪(fǎng)問(wèn)的內(nèi)容,臨近的空間很快被訪(fǎng)問(wèn)
11.磁盤(pán)管理
?
- 存取時(shí)間=尋道時(shí)間+等待時(shí)間
- 尋道時(shí)間是指磁頭移動(dòng)到磁道所需的時(shí)間
- 等待時(shí)間為等待讀寫(xiě)的扇區(qū)轉(zhuǎn)到磁頭下方所有的時(shí)間
磁盤(pán)調(diào)度算法?
- 先來(lái)先服務(wù)(FCFS)
- 最短尋道時(shí)間優(yōu)先(SSTF)
- 掃描算法(SCAN):又稱(chēng)電梯算法(上下回來(lái)掃描,由內(nèi)向外,又外向內(nèi))
- 循環(huán)掃描(CSCAN)算法:又稱(chēng)單向掃描算法(哪里有問(wèn)題,就去處理哪里)
讀取磁盤(pán)數(shù)據(jù)時(shí)間計(jì)算?
讀取磁盤(pán)數(shù)據(jù)的時(shí)間應(yīng)包括以下三個(gè)部分
- 找磁道的時(shí)間
- 找塊(扇區(qū))的時(shí)間,即旋轉(zhuǎn)延遲時(shí)間
- 傳輸時(shí)間
某磁盤(pán)從一個(gè)磁道移至另一個(gè)磁道需要10ms
文件在磁盤(pán)上非連續(xù)存放,邏輯上相鄰數(shù)據(jù)塊的平均移動(dòng)距離為10個(gè)磁道,每塊的旋轉(zhuǎn)延遲時(shí)間及傳輸時(shí)間分別為100ms和2ms,則讀取一個(gè)100塊的文件需要20200 ms的時(shí)間
解析:(移動(dòng)的時(shí)間×移動(dòng)的距離+延遲時(shí)間+傳輸時(shí)間)×文件塊數(shù)
(100×100+100+2)×100 = 20200
12.作業(yè)管理
作業(yè)狀態(tài)與作業(yè)管理
- 主要了解作業(yè)管理的過(guò)程
- 作業(yè)調(diào)度在作業(yè)執(zhí)行的過(guò)程中,其實(shí)就是進(jìn)程的五態(tài)圖
- 作業(yè)調(diào)用——進(jìn)程五態(tài)圖——作業(yè)終止
作業(yè)調(diào)度算法?
- 先來(lái)先服務(wù)法
- 時(shí)間片輪轉(zhuǎn)法
- 短作業(yè)優(yōu)先法
- 最高優(yōu)先權(quán)優(yōu)先法
- 高響應(yīng)比優(yōu)先法
13.索引文件結(jié)構(gòu)
?
- 以索引形式鏈接文件
- 13個(gè)索引節(jié)點(diǎn)(0-12)
- 0-9 -> 10個(gè)直接索引,表示索引節(jié)點(diǎn)對(duì)應(yīng)的物理盤(pán)快存儲(chǔ)的是邏輯頁(yè)
- 10號(hào)索引節(jié)點(diǎn)。對(duì)應(yīng)的是一級(jí)間接索引,指向的是地指項(xiàng),指向的具體的物理盤(pán)快,才是存儲(chǔ)邏輯頁(yè)
- 11號(hào)索引節(jié)點(diǎn)。對(duì)應(yīng)的是二級(jí)間接索引,指向一個(gè)物理盤(pán)塊,里面存了N個(gè)地址項(xiàng),每個(gè)地址項(xiàng)又指向一個(gè)物理盤(pán)塊,每個(gè)物理盤(pán)快又存N個(gè)地址項(xiàng),一個(gè)地址項(xiàng)指向最后一個(gè)物理盤(pán)快(才是邏輯頁(yè)的內(nèi)容)
- 對(duì)于0-11號(hào)索引節(jié)點(diǎn),一共有10+n+n2個(gè)邏輯頁(yè)
- 對(duì)于12號(hào)索引節(jié)點(diǎn),n3個(gè)邏輯頁(yè)
- 雖然只有13個(gè)索引節(jié)點(diǎn),但是最終表示的邏輯頁(yè)大小有0+n+n2+n3個(gè)
實(shí)例解析?
- 假設(shè)有0-12的索引節(jié)點(diǎn)
- 0號(hào)索引節(jié)點(diǎn)對(duì)應(yīng)的物理盤(pán)塊號(hào)是108
- 也就是說(shuō)物理盤(pán)塊號(hào)108存儲(chǔ)的是0號(hào)邏輯頁(yè)
- 依次類(lèi)推到第9號(hào)索引節(jié)點(diǎn)
- 10號(hào)索引節(jié)點(diǎn)對(duì)應(yīng)93號(hào)物理盤(pán)塊,93號(hào)物理盤(pán)塊存了N個(gè)地址,第一個(gè)是141,所以10邏輯頁(yè)對(duì)應(yīng)著141物理盤(pán)快
求解N 和存儲(chǔ)總大小?
- 假設(shè)物理塊的大小是1KB
- 假設(shè)一個(gè)地址項(xiàng)的大小是4B
- 那么一個(gè)一個(gè)物理盤(pán)塊,可以存放的256個(gè)地址項(xiàng)*
- 直接索引:10個(gè) × 1KB的大小
- 一級(jí)間接索引:N個(gè)地址項(xiàng) × 1KB 但是呢這里的N ,就是一個(gè)物理塊1KB/4B ,也就是256 KB
- 二級(jí)間接索引:(1KB/4)2 × 1KB
- 所以0-11號(hào)索引節(jié)點(diǎn):一共有10KB+256KB+2562
- 如果求N的時(shí)候,除不盡,向下取整
14.樹(shù)型目錄結(jié)構(gòu)
?
- 計(jì)算機(jī)常見(jiàn)目錄結(jié)構(gòu)
- 有些操作系統(tǒng) root寫(xiě)法
- 在不同的子目錄下可以有相同的名
- 絕對(duì)路徑:是從根目錄出發(fā)到當(dāng)前目錄的路勁值
- eg:F2 /D1/W2/F2
- 相對(duì)路徑:是相對(duì)于當(dāng)前位置的路徑
- eg: 當(dāng)前D1 F2 W2/F2
- 文件名
15.空閑存儲(chǔ)空間管理
- 1表示占用
- 0表示空閑
- 一個(gè)內(nèi)存劃分多個(gè)塊,一個(gè)塊用一個(gè)二進(jìn)制來(lái)表示
- 假設(shè)有528個(gè)物理塊
- 一個(gè)物理塊需要1個(gè)bit 那么一共需要528bit
- 528/32 = 16…… 16,所以需要17個(gè)字(0-15)
- 每個(gè)字又是0-31(32位)
16.數(shù)據(jù)傳輸控制方式
- 數(shù)據(jù)傳輸控制方式----->I/O設(shè)備管理
- I/O----->cpu------>內(nèi)存
控制方式?
程序控制(查詢(xún))方式:分為無(wú)條件傳遞和程序查詢(xún)方式兩種
- 方法簡(jiǎn)單,硬件開(kāi)銷(xiāo)小,但I(xiàn)/O能力不高,嚴(yán)重影響CPU的利用率
程序中斷方式:與程序控制方式相比,中斷方式因?yàn)镃PU無(wú)需等待而提高了傳輸請(qǐng)求的響應(yīng)速度
- 中斷的時(shí)候,會(huì)從當(dāng)前程序停止,然后將中斷的位置以棧的方式存儲(chǔ),叫做“保存現(xiàn)場(chǎng)”
- 中斷處理完成之后,會(huì)回到之前的斷點(diǎn),接著執(zhí)行
DMA方法:DMA方式是為了在主存與外設(shè)之間實(shí)現(xiàn)高速,批量數(shù)據(jù)交換而設(shè)置的。DMA方式比程序控制方式與中斷方式都高效
- CPU只做初始化,不參與傳輸
- 實(shí)現(xiàn)的是,高速批量的數(shù)據(jù)交換,相對(duì)于上面兩種,速度更高
通道方式(專(zhuān)用)
I/O處理機(jī)(專(zhuān)用)
效率從高到低依次增加
17.虛設(shè)備與SPOOLING技術(shù)
- SPOOLing是關(guān)于慢速字符設(shè)備如何與計(jì)算機(jī)主機(jī)交換信息的一種技術(shù),通常稱(chēng)為“假脫發(fā)技術(shù)‘’
- SPOOLing技術(shù)通過(guò)磁盤(pán)實(shí)現(xiàn)
?
對(duì)于多個(gè)輸入設(shè)備
- 將輸入的任務(wù)放到輸入緩沖區(qū)當(dāng)中
- 以輸入進(jìn)程,輸入到輸入井
- 再?gòu)妮斎刖?#xff0c;依次的輸出
- 也就是說(shuō)我們不需要以PV操作檢查進(jìn)程有沒(méi)有開(kāi)始,有沒(méi)有做完
- 我們都將輸入任務(wù)放到輸入井中,然后從輸入井依次輸出任務(wù)