2023計算機考研初試在即,在最后階段建議各位同學將知識點再系統(tǒng)復習一遍,以免有所遺漏!高頓考研為大家整理了計算機考研408操作系統(tǒng)名詞定義合集,包含連續(xù)分配管理方式、內(nèi)存管理、死鎖等內(nèi)容,供大家參考復習!
連續(xù)分配管理方式
1.固定式和可變式分區(qū)存儲管理
(1)固定式分區(qū)存儲管理(考綱不作要求)
(2)可變分區(qū)存儲管理:根據(jù)作業(yè)的實際需要動態(tài)地劃分存儲空間。
(3)分配算法
首次適應算法(First Fit)
下次適應算法(Next Fit)
最佳適應算法(Best Fit)
最壞適應算法(Worst Fit)
采用“內(nèi)存緊縮”技術,可以把碎片集中起來形成一個大的空閑區(qū)。
2.分區(qū)的存儲保護
(1)界地址保護:界地址保護又稱為界限寄存器保護。
界限寄存器方式:下界寄存器存放起始地址,上界寄存器存放結束地址。
基址寄存器和限長寄存器:基址寄存器存放起始地址,限長寄存器存放最大長度。
(2)存儲鍵保護:同一作業(yè)的各頁面所對應的內(nèi)存塊都要指定一個相同的,但又不與其他作業(yè)相重的鍵碼。這個鍵碼存于快速寄存器和該作業(yè)的程序狀態(tài)字PSW中,當程序要訪問某一塊時,將程序狀態(tài)字中的鍵碼與被訪問塊的鍵碼進行比較,若相符,則表明允許本次訪問,否則發(fā)出越界中斷。
內(nèi)存管理
1.存儲管理的功能
(1)內(nèi)存空間的分配與回收,包括內(nèi)存的分配和共享。
(2)地址轉換:內(nèi)存管理配合硬件進行地址轉換,把邏輯地址轉換成物理地址。
(3)內(nèi)存空間的擴充:借助于虛擬存儲器或交換覆蓋技術來達到擴充內(nèi)存容量的目的。
(4)存儲保護:為了避免相互干擾和破壞,須提供保護功能。
2.地址重定位
(1)邏輯地址空間
(2)物理地址空間
(3)地址重定位
(4)重定位類型
地址重定位分為靜態(tài)重定位和動態(tài)重定位兩類。把作業(yè)在裝入過程中隨即進行的地址變換方式,稱為靜態(tài)重定位。在作業(yè)執(zhí)行過程中,當訪問內(nèi)存單元時才進行的地址變換方式,稱為動態(tài)重定位。動態(tài)重定位是在程序執(zhí)行過程中由硬件地址變換機構實現(xiàn)的。
動態(tài)重定位的主要優(yōu)點如下:用戶作業(yè)在執(zhí)行過程中,可以動態(tài)申請存儲空間和在內(nèi)存中移動有利于程序段的共享。
3.鏈接
(1)靜態(tài)鏈接。
(2)裝入時動態(tài)鏈接。
(3)運行時動態(tài)鏈接。
死鎖
1.死鎖的概念
系統(tǒng)中兩個或兩個以上的進程無限期地相互等待永遠不會發(fā)生的條件,系統(tǒng)處于一種停滯狀態(tài),這種情況稱為死鎖。
2.死鎖產(chǎn)生的原因
死鎖的原因有以下二點:
(1)進程推進順序不當和(2)對互斥資源的分配不當。
須要指出的是,系統(tǒng)資源不足并不是產(chǎn)生死鎖的原因,進程資源如果不足則進程就不會被創(chuàng)建,只有在資源部分分配以后,剩余的資源不能滿足某些個進程的請求,造成進程集無法推進的現(xiàn)象才是死鎖。
3.產(chǎn)生死鎖的四個要條件
互斥條件:任一時刻只允許一個進程使用資源。
非剝奪條件:進程已經(jīng)占用的資源,不會被強制剝奪。
占用并請求條件:進程占有部分資源,申請更多的資源,且不會釋放已經(jīng)占有的資源。
循環(huán)等待:請求資源的進程形成了循環(huán)。
4.死鎖處理策略
對死鎖的處理,常用的方法有忽略死鎖、死鎖的檢測與恢復、死鎖的避免和死鎖的預防。
5.死鎖忽略
死鎖忽略典型的算法是鴕鳥算法。
6.死鎖檢測和恢復
資源分配圖算法
資源矩陣法
死鎖的解除與系統(tǒng)恢復
恢復死鎖常用的方法有如下幾種:
(1)資源剝奪法:掛起某些死鎖進程,并搶占它的資源。
(2)進程撤銷法:經(jīng)過撤銷占有資源多的進程或代價量小的進程,以恢復死鎖。
(3)進程回退法:設置還原點,讓一個或多個進程回退到足以解除死鎖的地步。
(4)重新啟動系統(tǒng):代價最大,一切從頭開始。我們要盡量避免采用此方法。
調(diào)度的時機和過程
1.引起進程調(diào)度的事件
正在運行的進程運行完畢或發(fā)生某事件而不能再繼續(xù)運行
運行中的進程因提出輸入/輸出請求而暫停運行
在進程通信或同步過程中運行了某種原語操作,如P操作等
在可搶先式調(diào)度中,有一個比當前進程優(yōu)先級更高的進程進入就緒隊列
在時間片輪轉法中,時間片用完。
2.調(diào)度隊列
在單處理機系統(tǒng)中,只有一個進程處于運行狀態(tài)。
3.分派程序(dispatcher)
進程調(diào)度算法只是決定哪一個進程將獲得處理機,是策略的制定者,而將處理機分配給該進程的具體操作是由分派程序完成的。分配程序是機制,是實際操作者,因此其運行效率較高。這里充分體現(xiàn)了策略與機制分離的設計思想。
進程的狀態(tài)與轉換
1.進程的基本狀態(tài)包括有以下幾種(三狀態(tài)模型):
運行狀態(tài)(Running):進程占用處理機正在運行其程序。單處理機系統(tǒng)中只能有一個進程處于運行狀態(tài),多處理機系統(tǒng)中可能有多個進程處于運行狀態(tài)。
阻塞狀態(tài)(Blocked):也叫等待或睡眠狀態(tài),是進程由于等待某種事件的發(fā)生而處于暫停運行的狀態(tài)。如進程因等待輸入/輸出的完成、等待數(shù)據(jù)到達、等待緩沖空間等。
就緒狀態(tài)(Ready):進程已分配到除處理機以外的所有要資源,具備了運行的條件,可能會有多個進程處于就緒狀態(tài),排成就緒隊列。圖說明了三狀態(tài)進程模型及其轉換。
進程還有五狀態(tài)和七狀態(tài)模型,需要作一般了解。而三狀態(tài)的模型是基本的模型。
2.進程狀態(tài)的轉換
(1)就緒狀態(tài)到運行狀態(tài):調(diào)度程序為就緒狀態(tài)的進程分配處理機后,進入運行狀態(tài)。
(2)運行狀態(tài)到阻塞狀態(tài):正在運行的進程因需要等待某事件而無法運行,讓出處理機。
(3)阻塞狀態(tài)到就緒狀態(tài):進程所等待的事件發(fā)生了,進程就從阻塞狀態(tài)進入就緒狀態(tài)。
(4)運行狀態(tài)到就緒狀態(tài):正在運行的進程因時間片用完而被暫停運行或者在可搶先式調(diào)度方式中,一個優(yōu)先級高的進程到來后,正在運行的優(yōu)先級低的進程被強制撤下處理機,轉換為就緒狀態(tài)。