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