




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、處理機(jī)的執(zhí)行模式與執(zhí)行狀態(tài)大多數(shù)處理器都至少支持兩種執(zhí)行模式,一種是同操作系統(tǒng)有關(guān)的模式,另一種則是同用戶程序有關(guān)的模式。較低特權(quán)的模式稱為用戶模式。較高特權(quán)的模式稱系統(tǒng)模式、控制模式或內(nèi)核模式。內(nèi)核模式能執(zhí)行所有的指令,訪問(wèn)所有的內(nèi)存;用戶模式則只能執(zhí)行有限的指令,訪問(wèn)規(guī)定的內(nèi)存處理器往往有一個(gè)或多個(gè)寄存器來(lái)保存處理器模式信息一一程序狀態(tài)字(PSW為了防止操作系統(tǒng)及其關(guān)鍵數(shù)據(jù)(如PCB遭到用戶程序有意或無(wú)意的破壞,通常將處理機(jī)的執(zhí)行狀態(tài)分為兩種:核心態(tài)與用戶態(tài)核心態(tài)又稱管態(tài)、系統(tǒng)態(tài),是操作系統(tǒng)管理程序執(zhí)行時(shí)機(jī)器所處的狀態(tài)。它具有較高的特權(quán),能執(zhí)行一切指令,能訪問(wèn)所有的寄存器和存儲(chǔ)區(qū)。用戶態(tài)又
2、稱目態(tài),是用戶程序執(zhí)行時(shí)機(jī)器所處的狀態(tài)。它具有較低的特權(quán),只能執(zhí)行規(guī)定的指令和只能訪問(wèn)指定的寄存器和存儲(chǔ)區(qū)。信號(hào)量練習(xí)2.某電話亭每一時(shí)刻最多只能容納一個(gè)人打電話。來(lái)打電話的人,如果看到電話亭空閑,則直接進(jìn)入電話亭打電話;如果看到電話亭里正有人在打電話,則在外面排隊(duì)等候,直到輪到自己,再進(jìn)入電話亭打電話。請(qǐng)用信號(hào)量來(lái)表達(dá)打電話的進(jìn)程對(duì)電話機(jī)的互斥使用邏輯。該電話亭每次只能容納一個(gè)人打電話(進(jìn)程)使用,所以是一個(gè)臨界資源,資源量為1,各進(jìn)程要互斥使Pi()/i=1,2,3P(mutex);打電話;用。用信號(hào)量來(lái)表達(dá)資源的數(shù)量:打完電話走出電話亭V(mutex);semaphoremutex=1;
3、(或empty=1)main()CobeginPi();(i=1,2,3,4,);Coend練習(xí)3.某電話亭共有3臺(tái)電話機(jī),即能容納3個(gè)人(3個(gè)進(jìn)程)同時(shí)打電話。來(lái)打電話的人,如果看到電話亭有空閑機(jī)子,則直接進(jìn)入電話亭打電話;如果看到電話亭人滿,則在外面排隊(duì)等候,直到輪到自己再進(jìn)入電話亭打電話。請(qǐng)用信號(hào)量機(jī)制表達(dá)打電話的進(jìn)程對(duì)電話機(jī)資源的使用限制。Pi()i=1,2,3,P(empty);打電話;打電話完畢出電話亭V(empty);用信號(hào)量來(lái)表達(dá)空閑的電話機(jī)數(shù):資源量的初值為3(表示開(kāi)始時(shí)有3臺(tái)空機(jī)子可用)semaphoreempty=3;main()CobeginPi();i=1,2,3,C
4、oend4.生產(chǎn)者-消費(fèi)者問(wèn)題一個(gè)說(shuō)明空緩沖單元的數(shù)目,用empty表示,其初值為有界緩沖區(qū)的大小n,另一個(gè)說(shuō)明滿緩沖單元的數(shù)目,用full表示,其初值為0。而有界緩沖區(qū)是一個(gè)臨界資源,必須互斥使用,因此還需要另外設(shè)置一個(gè)互斥信號(hào)量mutex,其初值為1。semaphorefull=0;/第一步:定義信號(hào)量,semaphoreempty=n;/并為信號(hào)量賦初值semaphoremutex=1;main()/第二步:編寫主函數(shù),cobegin/在其中調(diào)用各個(gè)進(jìn)程produceri();i=1,2,consumerj()while(1)p(full);p(mutex);從緩沖區(qū)中取出一個(gè)產(chǎn)品;V(
5、mutex);V(empty);消費(fèi)一個(gè)產(chǎn)品)按照先來(lái)先服務(wù)的調(diào)度算法計(jì)算它們的平均周轉(zhuǎn)時(shí)間T和平均帶consumerj();/j=1,2,coend)produceri()while(1)(生產(chǎn)一個(gè)產(chǎn)品;P(empty);p(mutex);將一個(gè)產(chǎn)品送入有界緩沖區(qū);V(mutex);V(full);例.有三個(gè)作業(yè)按下表的時(shí)間提交給系統(tǒng),權(quán)周轉(zhuǎn)時(shí)間W作業(yè)號(hào)提交時(shí)刻運(yùn)行長(zhǎng)度110:002小時(shí)210:061小時(shí)310:15口.25小時(shí)先來(lái)先服務(wù);作業(yè)號(hào)提交時(shí)刻運(yùn)行長(zhǎng)度開(kāi)始時(shí)刻結(jié)束時(shí)刻周轉(zhuǎn)時(shí)阿110:002小時(shí)10:OO12:OOZ00小時(shí)210:061小時(shí)12:O013:002.90小時(shí)310:1
6、50.25小時(shí)13M13:153.00小時(shí)T=(2.00+2.90+3.00)/3=2.63W=(2/2+2.90/1+3.00/0.25)/3=5.30短作業(yè)優(yōu)先;作業(yè)號(hào)提交時(shí)刻運(yùn)行長(zhǎng)度開(kāi)始時(shí)刻結(jié)束時(shí)刻周轉(zhuǎn)時(shí)間110=OO2d、時(shí)10=OO12:OOZOO小時(shí)210=061小時(shí)12:1513:151S小時(shí)310:15025小時(shí)12:0012:15200小時(shí)T=(2.00+3.15+2.00)/3=2.38W=(2/2+3.15/1+2.00/0.25)/3=4.05表中有4個(gè)作業(yè)提交給系統(tǒng),按響應(yīng)比高者優(yōu)先算法調(diào)度,計(jì)算它們的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間作業(yè)號(hào)提交時(shí)刻運(yùn)行長(zhǎng)度18:002小
7、時(shí)28:300.5小時(shí)3佻000.1小時(shí)49:300.2小時(shí)作業(yè)號(hào)提交時(shí)刻卮行長(zhǎng)度執(zhí)行順序開(kāi)始時(shí)刻結(jié)妙閡周轉(zhuǎn)時(shí)向18:00訃時(shí)18:0010:00zb時(shí)2&30D.5小時(shí)310:0610:36210小時(shí)39;00U.1小時(shí)210:0010:06LT0小時(shí)49:30時(shí)410:3610:48L30小時(shí)作業(yè)1做完后,其它三個(gè)作業(yè)的響應(yīng)比為:R2P=1售待時(shí)間/估計(jì)運(yùn)行時(shí)間=1+1.5/0.5=4R3P=1+1.0/0.1=11R4p=1+0.5/0.2=3.5故作業(yè)3的響應(yīng)比最大,作業(yè)1完成后要運(yùn)行作業(yè)3。作業(yè)3運(yùn)行結(jié)束時(shí),時(shí)間為10:06,這時(shí)候再看作業(yè)2、4的響應(yīng)比哪個(gè)高:R2P=1售待
8、時(shí)間/估計(jì)運(yùn)行時(shí)間=1+1.6/0.5=4.2R4p=1+0.6/0.2=4R2p>R4p所以先調(diào)度作業(yè)2到內(nèi)存中,作業(yè)2運(yùn)行完畢,結(jié)束時(shí)間為:10:36T=(2+2.1+1.1+1.3)/4=1.625W=(2.00/2+2.1/0.5+1.1/0.1+1.3/0.2)/4=5.7銀行家算法;例1若系統(tǒng)運(yùn)行中出現(xiàn)如下所示的資源分配情況,該系統(tǒng)是否安全?如果進(jìn)程P2此時(shí)提出資源申請(qǐng)(1,2,2,2),系統(tǒng)能否將資源分配給它?為什么?AllocationNeedAvailableP0003200121622P110001750P213542356P303320652P400140656解(
9、1):利用安全性算法對(duì)此刻的資源分配情況進(jìn)行分析,可得到如下安全性檢測(cè)表:WorkAllocationNeedWork-1-AllocationFinishOrderP016220032001216541Pl199in10001750299104P2299101354235631214145P316540332065219862P4198600140656199103從上表中可以看出,此時(shí)存在一個(gè)安全序列P0,P3,P4,P1,P2,故該系統(tǒng)是安全的請(qǐng)問(wèn)還有其它的安全序列嗎?(如P0-P3-P1-P4-P2)解(2):P2提出請(qǐng)求(1,2,2,2),按銀行家算法進(jìn)行檢查:Request(1,2
10、,2,2)<=Need(2,3,5,6)Request(1,2,2,2)<=Available(1,6,2,2)試著把資源分配給P2,資源分配表中P2的項(xiàng)目改變的有:Allocation=Allocation+(1,2,2,2)Need=Need-(1,2,2,2)Available=Available-(1,2,2,2)由此得到新的資源分配表:AllocationNeedAvailablePO003200120400P11O0O1750P225761134P303320652P400140656經(jīng)檢查發(fā)現(xiàn)可用的資源Available(0,4,0,0)已不能再滿足任何進(jìn)程的需要,所
11、以,系統(tǒng)處于不安全狀態(tài),系統(tǒng)不能把資源分配給P2o內(nèi)存的分配與回收在多道程序設(shè)計(jì)的環(huán)境中,當(dāng)有作業(yè)進(jìn)入計(jì)算機(jī)系統(tǒng)時(shí),存儲(chǔ)管理模塊應(yīng)能根據(jù)當(dāng)時(shí)的內(nèi)存分配情況,按作業(yè)要求,分配給它適當(dāng)?shù)膬?nèi)存。當(dāng)某個(gè)作業(yè)完成之后不再使用內(nèi)存時(shí),應(yīng)回收其占用的內(nèi)存空間。按照分配時(shí)機(jī)的不同,有兩種內(nèi)存分配形式:靜態(tài)存儲(chǔ)分配和動(dòng)態(tài)存儲(chǔ)分配(1)靜態(tài)存儲(chǔ)分配:指內(nèi)存分配是在作業(yè)運(yùn)行之前,各目標(biāo)模塊連接后,把整個(gè)作業(yè)一次性全部裝入內(nèi)存,并規(guī)定在作業(yè)的整個(gè)運(yùn)行過(guò)程中,不允許再申請(qǐng)其它內(nèi)存或在內(nèi)存中移動(dòng)位置。也就是說(shuō),內(nèi)存分配是在作業(yè)運(yùn)行前一次性完成的。(2)動(dòng)態(tài)存儲(chǔ)分配:作業(yè)要求的基本內(nèi)存空間是在目標(biāo)模塊裝入內(nèi)存時(shí)分配的,但在
12、作業(yè)運(yùn)行過(guò)程中,允許作業(yè)再申請(qǐng)附加的內(nèi)存空間或者在內(nèi)存中移動(dòng)。即分配工作可以在作業(yè)運(yùn)行前及運(yùn)行過(guò)程中逐步完成顯然,動(dòng)態(tài)存儲(chǔ)分配具有較大的靈活性。它不要求一個(gè)作業(yè)把全部信息裝入內(nèi)存才開(kāi)始運(yùn)行,而是在作業(yè)運(yùn)行期間需要某些信息時(shí),系統(tǒng)才將其調(diào)入內(nèi)存,作業(yè)中暫不使用的信息可放在輔存中,不必進(jìn)入內(nèi)存,從而大大提高了內(nèi)存的利用率。因此,內(nèi)存中所有的空閑區(qū)和已分配的區(qū)域應(yīng)當(dāng)被合理地組織起來(lái)。通??捎梅謪^(qū)說(shuō)明表、空閑區(qū)鏈表、存儲(chǔ)分塊表等組織內(nèi)存區(qū)域。地址重定位1 .內(nèi)存空間(物理空間)內(nèi)存是由若干個(gè)存儲(chǔ)單元組成的,每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào)。該編號(hào)能唯一地確定一個(gè)存儲(chǔ)單元,稱為內(nèi)存地址(物理地址)。內(nèi)存地址的集
13、合稱為內(nèi)存地址(物理地址)空間,簡(jiǎn)稱內(nèi)存空間。它是一個(gè)線性空間,其編址順序?yàn)?,1,2,3,n-1,n的大小由實(shí)際組成存儲(chǔ)器的存儲(chǔ)單元的個(gè)數(shù)決定。如,某個(gè)系統(tǒng)有64KB內(nèi)存,則其內(nèi)存空間為集合0,1,2,65535。2 .邏輯地址空間在多道程序環(huán)境中,內(nèi)存中可同時(shí)駐留多個(gè)相互獨(dú)立的進(jìn)程。這些進(jìn)程在內(nèi)存中的地址,用戶事先并不知道,且應(yīng)用程序裝入內(nèi)存是隨機(jī)的,每次裝入內(nèi)存時(shí)所占用的內(nèi)存空間可能都不一樣。因此,用戶不能直接使用內(nèi)存的物理地址來(lái)編程。為了方便用戶編程,用戶使用高級(jí)語(yǔ)言或匯編語(yǔ)言編程時(shí),使用的是符號(hào)地址,即用符號(hào)名來(lái)訪問(wèn)某一單元。把程序中由符號(hào)名組成的程序空間稱為符號(hào)名空間,簡(jiǎn)稱名空間。
14、用戶編寫的源程序經(jīng)過(guò)編譯后,會(huì)形成若干個(gè)目標(biāo)程序。每個(gè)目標(biāo)程序的首地址都為0,即每個(gè)目標(biāo)程序都是以0為基址順序進(jìn)行編址的。原來(lái)用符號(hào)名訪問(wèn)的單元被具體的數(shù)據(jù)一一單元號(hào)取代。這些地址(或相對(duì)于基址的單元號(hào))稱為邏輯地址(或虛地址、相對(duì)地址)。由邏輯地址組成的集合稱為邏輯地址空間或程序地址空間。3 .地址重定位目標(biāo)程序只有經(jīng)過(guò)鏈接、裝入內(nèi)存后才能運(yùn)行。當(dāng)程序裝入內(nèi)存的時(shí)候,每道程序不可能都從內(nèi)存空間的0地址開(kāi)始裝入,因此程序的邏輯地址與所分到的內(nèi)存地址會(huì)不一致。為使程序能正確運(yùn)行,必須將邏輯地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中的物理地址,這一過(guò)程稱為地址重定位或地址映射。換句話說(shuō),地址重定位就是建
15、立用戶程序的邏輯地址和物理地址之間的對(duì)應(yīng)關(guān)系。按重定位的時(shí)機(jī)不同,地址重定位又分為靜態(tài)地址重定位和動(dòng)態(tài)地址重定位。(1)靜態(tài)地址重定位靜態(tài)地址重定位是在程序執(zhí)行之前由操作系統(tǒng)的重定位裝入程序完成的。它根據(jù)要裝入的內(nèi)存起始地址,直接修改所有涉及到的邏輯地址,一次性完成邏輯地址到物理地址的轉(zhuǎn)換,在程序運(yùn)行中,不再進(jìn)行任何地址轉(zhuǎn)換。例如,有一個(gè)目標(biāo)程序,其邏輯地址空間是0,1,60,把它裝入內(nèi)存的首地址為100.若采用靜態(tài)重定位的方式,應(yīng)根據(jù):物理地址=邏輯地址+100,對(duì)程序中所有邏輯地址進(jìn)行轉(zhuǎn)換。靜態(tài)地址重定位的優(yōu)點(diǎn)是只需通過(guò)重定位裝入程序,即可實(shí)現(xiàn)邏輯地址向物理地址的轉(zhuǎn)化,不需要硬件的支持,可
16、以在任何機(jī)器上實(shí)現(xiàn)。早期的操作系統(tǒng)大多采用這種方法。缺點(diǎn)是程序必須占據(jù)連續(xù)的內(nèi)存空間,且一旦裝入內(nèi)存后,就不能被移動(dòng),不利于內(nèi)存空間的利用所以靜態(tài)重定位只適用于靜態(tài)內(nèi)存分配方式動(dòng)態(tài)地址重定位的優(yōu)點(diǎn)是不要求程序裝入連續(xù)的內(nèi)存空間。在內(nèi)存中允許程序再次移動(dòng)位置,而且還可以部分地裝入程序運(yùn)行。便于作業(yè)共享同一程序的副本。因此現(xiàn)代計(jì)算機(jī)系統(tǒng)廣泛采用動(dòng)態(tài)地址重定位技術(shù)。動(dòng)態(tài)地址重定位的缺點(diǎn)是需要硬件的支持,而且實(shí)現(xiàn)存儲(chǔ)管理的軟件算法也比較復(fù)雜。存儲(chǔ)保護(hù)界限寄存器保護(hù)的技術(shù)有2種:上下界存儲(chǔ)保護(hù):是一種簡(jiǎn)單的存儲(chǔ)保護(hù)技術(shù)。系統(tǒng)為每個(gè)作業(yè)設(shè)置一對(duì)上、下界寄存器,分別用來(lái)存放當(dāng)前運(yùn)行作業(yè)在內(nèi)存空間上的上、下界
17、地址,用它們來(lái)限制用戶程序的活動(dòng)范圍。在作業(yè)運(yùn)行中,每當(dāng)要訪問(wèn)內(nèi)存某單元的時(shí)候,就檢查經(jīng)過(guò)重定位以后產(chǎn)生的內(nèi)存地址是否在上、下界寄存器規(guī)定的范圍內(nèi)。若在規(guī)定的范圍內(nèi),訪問(wèn)合法;否則產(chǎn)生越界中斷,通知系統(tǒng)進(jìn)行越界處理?;?限長(zhǎng)存儲(chǔ)保護(hù):是上、下界保護(hù)的一個(gè)變種。系統(tǒng)為每個(gè)作業(yè)設(shè)置一個(gè)基址寄存器和一個(gè)限長(zhǎng)寄存器?;芳拇嫫鞔娣旁撟鳂I(yè)在內(nèi)存中的首地址,限長(zhǎng)寄存器存放該作業(yè)的長(zhǎng)度?;?限長(zhǎng)存儲(chǔ)保護(hù)通常可結(jié)合動(dòng)態(tài)地址重定位實(shí)現(xiàn),基址寄存器相當(dāng)于重定位寄存器。對(duì)于存儲(chǔ)保護(hù),除了防止越界外,還可對(duì)某一區(qū)域指定專門的保護(hù)機(jī)制。常用的保護(hù)方式有:禁止做任何操作;只能執(zhí)行;只能讀;能讀、寫。如對(duì)許多用戶可共享
18、的程序,一般設(shè)為只能執(zhí)行;而對(duì)用戶可共享的數(shù)據(jù),則設(shè)為只能讀。一般的用戶作業(yè)則是可讀、寫的。虛擬存儲(chǔ)器虛擬存儲(chǔ)管理技術(shù):虛擬存儲(chǔ)管理技術(shù)的基本思想是把有限的內(nèi)存空間與大容量的外存統(tǒng)一管理起來(lái),構(gòu)成一個(gè)遠(yuǎn)大于實(shí)際內(nèi)存的、虛擬的存儲(chǔ)器。此時(shí)外存是作為內(nèi)存的直接延伸,用戶并不會(huì)感覺(jué)到內(nèi)外存的區(qū)別,即把兩級(jí)存儲(chǔ)器當(dāng)作一級(jí)存儲(chǔ)器來(lái)看待。一個(gè)作業(yè)運(yùn)行時(shí)其全部作業(yè)裝入虛存,實(shí)際上可能只有當(dāng)前運(yùn)行必須的一部分信息被裝入了內(nèi)存,其它則存在于外存上。當(dāng)所訪問(wèn)的信息不在內(nèi)存中時(shí),系統(tǒng)自動(dòng)將其從外存調(diào)入內(nèi)存。當(dāng)然操作系統(tǒng)也可以把暫時(shí)不用的信息調(diào)致外存,以騰出內(nèi)存空間供必須之用。這些都由存儲(chǔ)管理系統(tǒng)自動(dòng)實(shí)現(xiàn),不須用戶干
19、預(yù)。對(duì)用戶而言,感覺(jué)到系統(tǒng)提供了一個(gè)大容量的內(nèi)存,供用戶使用。而實(shí)際上這樣大的內(nèi)存并不存在,是一種虛擬的存儲(chǔ)器。把具有這種功能的存儲(chǔ)管理技術(shù)叫做虛擬存儲(chǔ)管理。請(qǐng)求分頁(yè)存儲(chǔ)管理和請(qǐng)求分段存儲(chǔ)管理都是利用虛擬存儲(chǔ)管理技術(shù)實(shí)現(xiàn)內(nèi)存擴(kuò)充的實(shí)例。為了實(shí)現(xiàn)存儲(chǔ)管理的諸功能,人們研究總結(jié)出多種存儲(chǔ)管理方案。根據(jù)能否實(shí)現(xiàn)虛擬存儲(chǔ),我們把存儲(chǔ)方案分為兩類:實(shí)存管理和虛存管理。實(shí)存管理實(shí)存管理的特點(diǎn)是作業(yè)運(yùn)行時(shí)整個(gè)作業(yè)的邏輯地址空間必須全部裝入內(nèi)存。當(dāng)作業(yè)尺寸大于主存可用空間時(shí),該作業(yè)就無(wú)法運(yùn)行,即實(shí)存管理無(wú)法實(shí)現(xiàn)虛擬存儲(chǔ)技術(shù)。常用的實(shí)存管理技術(shù)有單一連續(xù)分區(qū)、固定分區(qū)存儲(chǔ)管理、可變式分區(qū)存儲(chǔ)管理和純分頁(yè)式存儲(chǔ)管
20、理、純分段式存儲(chǔ)管理、段頁(yè)式存儲(chǔ)管理。單一連續(xù)分區(qū)這是最簡(jiǎn)單的內(nèi)存分配管理方法。內(nèi)存只被分為兩個(gè)區(qū)域:一個(gè)是操作系統(tǒng)所占據(jù)的內(nèi)存區(qū)域,另一個(gè)是用戶區(qū)域。用戶程序在運(yùn)行的時(shí)候,必須全部調(diào)入內(nèi)存的用戶區(qū)。可以看出,這樣的內(nèi)存管理不能支持多道程序并發(fā)。因?yàn)樗谐绦蛑荒苁褂猛粋€(gè)內(nèi)存區(qū)域。CPia率太低,內(nèi)存也沒(méi)有得到充分利用固定分區(qū)存儲(chǔ)管理固定分區(qū)是實(shí)現(xiàn)多道程序設(shè)計(jì)的一種最簡(jiǎn)單的存儲(chǔ)管理技術(shù)?;舅枷胧牵鹤鳂I(yè)未進(jìn)入內(nèi)存之前就由操作員或操作系統(tǒng),把內(nèi)存可用空間劃分成若干個(gè)固定大?。恳粎^(qū)域大小都固定不變,但各個(gè)區(qū)域的大小一般不等)的存儲(chǔ)區(qū)。除操作系統(tǒng)占據(jù)一個(gè)區(qū)域外,其余物理內(nèi)存區(qū)域?yàn)橄到y(tǒng)中多個(gè)用戶共享
21、。因?yàn)樵谙到y(tǒng)運(yùn)行期間,各個(gè)內(nèi)存分區(qū)的大小、數(shù)目都不改變,所以固定分區(qū)管理也稱為靜態(tài)分區(qū)內(nèi)存管理。固定分區(qū)存儲(chǔ)管理假定系統(tǒng)有256K內(nèi)存,系統(tǒng)被劃分為5個(gè)大小不等的的分區(qū)。除了操作系統(tǒng)占據(jù)低地址部分的40K外,假定其它4個(gè)分區(qū)按區(qū)域從小到大排列:第1個(gè)分區(qū)8K,第2個(gè)分區(qū)32K,第3個(gè)分區(qū)64K,第4個(gè)112K.為了進(jìn)行分區(qū)的分配和回收,在固定分區(qū)管理中應(yīng)該有一個(gè)說(shuō)明表,用來(lái)記錄各個(gè)內(nèi)存分區(qū)的使用情況.固定式分區(qū)說(shuō)明表:分區(qū)號(hào)起始地址分區(qū)大小狀袤140KSK0248K3ZK1380K64K04114K112K1固定分區(qū)內(nèi)存的分配與回收當(dāng)某個(gè)作業(yè)要求裝入內(nèi)存運(yùn)行時(shí),系統(tǒng)首先查詢分區(qū)說(shuō)明表,找到一個(gè)
22、滿足條件的空閑分區(qū);將相應(yīng)表目的狀態(tài)位置1(為什么?),然后向用戶返回分區(qū)號(hào)或分區(qū)起始地址,完成內(nèi)存的分配工作;當(dāng)一個(gè)作業(yè)完成后,釋放其內(nèi)存分區(qū),系統(tǒng)根據(jù)分區(qū)號(hào)或起始地址找到分區(qū)說(shuō)明表相應(yīng)表目,將其狀態(tài)置0,表示該分區(qū)空閑。固定分區(qū)存儲(chǔ)管理的最大優(yōu)點(diǎn)是簡(jiǎn)單,要求的硬件支持少,軟件算法簡(jiǎn)單。缺點(diǎn)是容易產(chǎn)生內(nèi)部碎片,主存利用率不高。可變式分區(qū)存儲(chǔ)管理可變式分區(qū)是指在作業(yè)(程序)裝入時(shí),依據(jù)它對(duì)內(nèi)存空間的實(shí)際需求來(lái)劃分主存的分區(qū)。因此,每個(gè)分區(qū)的大小與進(jìn)入它的作業(yè)(程序)大小相同。它能有效解決固定分區(qū)的內(nèi)碎片問(wèn)題,是一種較為實(shí)用的存儲(chǔ)管理方法。因?yàn)樵谙到y(tǒng)運(yùn)行過(guò)程中,內(nèi)存中分區(qū)的大小和數(shù)目都是可變的,
23、所以這種可變式分區(qū)也稱為動(dòng)態(tài)分區(qū)。純分頁(yè)存儲(chǔ)管理如果把一個(gè)作業(yè)的所有頁(yè)面一次全部裝入到內(nèi)存塊中,這種分頁(yè)稱為純分頁(yè)存儲(chǔ)管理。如果作業(yè)的所有頁(yè)面并不是一次性全部裝入,而是根據(jù)作業(yè)運(yùn)行時(shí)的實(shí)際要求裝入,則把這種分頁(yè)稱為請(qǐng)求式分頁(yè)存儲(chǔ)管理。存儲(chǔ)塊的分配與回收當(dāng)有作業(yè)請(qǐng)求分配內(nèi)存時(shí),可根據(jù)邏輯地址的大小計(jì)算出需要多少存儲(chǔ)塊,然后將空閑塊分配給它們使用。通常有兩種記錄空閑塊的方法:位圖法和鏈表法。例4:有一個(gè)頁(yè)式系統(tǒng),其頁(yè)表存放在內(nèi)存中。(1)對(duì)內(nèi)存的一次存取需要1.5微妙。問(wèn)實(shí)現(xiàn)一次頁(yè)面訪問(wèn),其存取時(shí)間是多少?(2)若系統(tǒng)中增加了快表(聯(lián)想寄存器),平均命中率為85%且當(dāng)頁(yè)表項(xiàng)在快表中時(shí),其查找時(shí)間忽
24、略不計(jì),問(wèn)此時(shí)的存取時(shí)間是多少?解:(1)由于頁(yè)表放在內(nèi)存中,若要存取內(nèi)存中的信息,必須2次訪問(wèn)內(nèi)存:第一次到內(nèi)存查頁(yè)表,找到該頁(yè)對(duì)應(yīng)的內(nèi)存塊號(hào),求出信息在內(nèi)存的地址;第二次真正到內(nèi)存里取信息。所以實(shí)現(xiàn)一次頁(yè)面訪問(wèn)的存取時(shí)間為:1.5微秒X2=3.0微秒2)增加快表后,在快表中查到的比率為85%(0+1.5)X85%+(1.5+1.5)X(1-85%)=1.725微妙例5:在一個(gè)分段存儲(chǔ)管理系統(tǒng)中,其段表如表1所示。求表2中邏輯地址對(duì)應(yīng)的物理地址表1:段表表2邏輯地址段號(hào)內(nèi)存起制防段長(zhǎng)段號(hào)段內(nèi)位移0210500O43012350201102100902500解答:(1)由表1知,段號(hào)為0的段內(nèi)
25、存起始地址為210,段長(zhǎng)為500;由表2知,邏輯地址的段內(nèi)位移為430,因430<500,所以該邏輯地址是合法的,其對(duì)應(yīng)的物理地址為:210+430=640(2)因10<20,所以,該邏輯地址是合法的,對(duì)應(yīng)的物理地址為2350+10=2360(3)因?yàn)?00>90,即邏輯地址的段內(nèi)位移500已經(jīng)超過(guò)了段長(zhǎng)90,所以該邏輯地址是非法的。段頁(yè)式存儲(chǔ)管理與動(dòng)態(tài)地址重定位段頁(yè)式存儲(chǔ)管理是目前使用較多的一種存儲(chǔ)管理方式,它主要涉及以下概念:(1)作業(yè)地址空間進(jìn)行段式管理,也就是說(shuō),將作業(yè)地址空間分成若干個(gè)邏輯分段,每段都有自己的段名(或段號(hào));(2)每段內(nèi)再分成若干大小固定的頁(yè),每段都
26、從0開(kāi)始,為自己的各頁(yè)依次編寫連續(xù)的頁(yè)號(hào);3)對(duì)內(nèi)存空間的管理仍然和分頁(yè)存儲(chǔ)管理一樣,將其分成若干個(gè)和頁(yè)面大小相同的物理塊,對(duì)內(nèi)存空間的分配是以物理塊為單位的。(4)那么作業(yè)的邏輯地址就應(yīng)該包括三個(gè)部分:段號(hào)、頁(yè)號(hào)和頁(yè)內(nèi)位移。(5)為實(shí)現(xiàn)地址變換,段頁(yè)式系統(tǒng)建立了段表和頁(yè)表。系統(tǒng)為每一個(gè)作業(yè)建立一張段表,并為每一段建立一張頁(yè)表。段表表項(xiàng)中至少包含段號(hào)、頁(yè)表起始地址和頁(yè)表長(zhǎng)度等信息;頁(yè)表表項(xiàng)中至少包括頁(yè)號(hào)和塊號(hào)等信息。段段號(hào)頁(yè)表始址頁(yè)表長(zhǎng)度011004001230300210()1381號(hào)段對(duì)應(yīng)的頁(yè)表(假定頁(yè)尺寸1024B)頁(yè)號(hào)塊號(hào)0221310再根據(jù)地址(1,210)中的段內(nèi)位移,獲得頁(yè)號(hào)和頁(yè)
27、內(nèi)地址:210/1024=0210所以,在第0頁(yè)開(kāi)始的第210個(gè)存儲(chǔ)單元所以內(nèi)存的物理地址為:22X1024+210=22528從上述過(guò)程可看出,若段表、頁(yè)表存放在內(nèi)存中,則為了訪問(wèn)內(nèi)存中的某一條指令或數(shù)據(jù),需要訪問(wèn)內(nèi)存三次:第一次:查找段表,獲得該段對(duì)應(yīng)頁(yè)表的起始地址;第二次:查找頁(yè)表,獲得該頁(yè)所對(duì)應(yīng)的物理塊號(hào),形成所需的物理地址;第三次:根據(jù)所得的物理地址,到內(nèi)存中去訪問(wèn)該地址中的指令或數(shù)據(jù)。請(qǐng)求式分頁(yè)存儲(chǔ)管理與動(dòng)態(tài)地址重定位在原來(lái)頁(yè)號(hào)和塊號(hào)的基礎(chǔ)上再增加一個(gè)狀態(tài)位和當(dāng)前頁(yè)在輔存中的地址信息位。狀態(tài)位表示當(dāng)前頁(yè)是否在內(nèi)存中。頁(yè)號(hào)塊號(hào)輔存地址其它在請(qǐng)求分頁(yè)中,程序中的邏輯地址首先被硬件解釋成頁(yè)號(hào)和頁(yè)內(nèi)地址(p,w)兩部分。根據(jù)頁(yè)號(hào)查頁(yè)表,若該頁(yè)在內(nèi)存中,獲得塊號(hào),轉(zhuǎn)換成物理地址,完成指令。若該頁(yè)不在內(nèi)存,則引起缺頁(yè)中斷,由系統(tǒng)將該頁(yè)調(diào)入,修改狀態(tài)位,獲得塊號(hào)。然后在該頁(yè)所放內(nèi)存塊的始址基礎(chǔ)上,再進(jìn)一步考慮頁(yè)內(nèi)地址w,就能獲得真正的內(nèi)存地址了。發(fā)生頁(yè)面置換時(shí),被置換出內(nèi)存的頁(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主管在行業(yè)整合中的挑戰(zhàn)與應(yīng)對(duì)計(jì)劃
- 急診醫(yī)療文書標(biāo)準(zhǔn)化探討計(jì)劃
- 數(shù)據(jù)分析與決策支持總結(jié)計(jì)劃
- 提升員工歸屬感的實(shí)施策略計(jì)劃
- 美術(shù)班級(jí)文化建設(shè)活動(dòng)計(jì)劃
- 《貴州廣鋁水落潭礦業(yè)有限公司貴州省清鎮(zhèn)市貓場(chǎng)鋁土礦區(qū)水落潭礦段(新建)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》評(píng)審意見(jiàn)
- 《伊吾縣九方建筑材料有限公司新疆伊吾縣尤樂(lè)滾碎石礦礦產(chǎn)資源開(kāi)發(fā)利用與生態(tài)保護(hù)修復(fù)方案》專家意見(jiàn)認(rèn)定
- 血液凈化??谱o(hù)理核心
- 2025年克拉瑪依貨運(yùn)從業(yè)資格證考試模擬
- 2025年曲靖貨車上崗證理論模擬考試題庫(kù)
- 2024年社區(qū)工作者考試必背1000題題庫(kù)必背(必刷)
- 《短視頻拍攝與制作》課件-4.短視頻后期制作- 剪輯技巧
- 中考英語(yǔ)不規(guī)則動(dòng)詞變化表
- (2024年)中華人民共和國(guó)環(huán)境保護(hù)法全
- 事業(yè)單位工作人員調(diào)動(dòng)申報(bào)表
- 小學(xué)科學(xué)教師培訓(xùn)講座
- 電子陶瓷材料與器件制備
- 老年患者出院準(zhǔn)備服務(wù)專家共識(shí)
- 巖腳煤礦智能化綜采工作面匯報(bào)材料2020.11.10.11.10
- 四川省廣安市2021年中考地理真題(含答案)
- 大貨車安全駕駛技巧
評(píng)論
0/150
提交評(píng)論