




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.3 5.3 不連續(xù)空間分配不連續(xù)空間分配 方式:頁式、段式、段頁式管理方式:頁式、段式、段頁式管理5.3.1 5.3.1 頁式管理頁式管理一、頁式管理的思想一、頁式管理的思想 將用戶邏輯地址空間將用戶邏輯地址空間分成頁,內(nèi)存也分成頁,內(nèi)存也劃分成塊,塊的大小等于頁的大小,然后劃分成塊,塊的大小等于頁的大小,然后將用戶目標(biāo)程序的頁不連續(xù)地分布到內(nèi)存將用戶目標(biāo)程序的頁不連續(xù)地分布到內(nèi)存塊中。塊中。二、管理方法二、管理方法(1 1)邏輯空間統(tǒng)一編址。編譯程序和鏈)邏輯空間統(tǒng)一編址。編譯程序和鏈接程序?qū)⒂米鳂I(yè)的所有程序模塊進(jìn)行連接程序?qū)⒂米鳂I(yè)的所有程序模塊進(jìn)行連續(xù)統(tǒng)一編地址后得目標(biāo)程序。地址號(hào)從續(xù)
2、統(tǒng)一編地址后得目標(biāo)程序。地址號(hào)從0 0開始編號(hào),如開始編號(hào),如0 0,1 1,2 2,。例如:假。例如:假設(shè)某作業(yè)有設(shè)某作業(yè)有4 4個(gè)程序段,每段名稱及地址個(gè)程序段,每段名稱及地址數(shù)如圖示:數(shù)如圖示:20主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段現(xiàn)將該作業(yè)的四個(gè)程序模塊連續(xù)統(tǒng)一編址而形成邏輯空間:主程序主程序子程序子程序數(shù)據(jù)段數(shù)據(jù)段20153010堆棧段堆棧段01920343564657420主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段二、管理方法(2)邏輯空間分頁。每頁都有一個(gè)編號(hào),叫頁號(hào),頁號(hào)從0開始依次編排,如0,1,2,。如將上例形成的邏輯空間分頁,假
3、設(shè)8個(gè)地址(即8個(gè)字節(jié)或8B)為一頁。則分頁結(jié)果如下:頁號(hào)邏輯空間地址頁內(nèi)地址00-70-718-150-7216-230-7324-310-7432-390-7第第0頁頁第第1頁頁0781523第第2頁頁第第3頁頁第第4頁頁743931二、管理方法(3)內(nèi)存空間分塊,塊的大小等于頁的大小。同樣,每塊也依次從0開始編排,如0#,1#,2#,。頁面(和塊)的大小由硬件確定,它一般為2的若干次冪。如:IBM AS/400規(guī)定的頁面大小為512字節(jié),而Intel80386的頁面大小為4KB(即4096字節(jié))。塊塊號(hào)號(hào)物理空物理空間地址間地址塊內(nèi)塊內(nèi)地址地址00-70-718-150-7216-230
4、-7324-310-7432-390-7540-470-7648-550-72#3#4#內(nèi)存內(nèi)存078152331390#1#199假設(shè)內(nèi)存有假設(shè)內(nèi)存有200個(gè)地址,若頁面大小個(gè)地址,若頁面大小為為8B則分塊結(jié)果如下:則分塊結(jié)果如下:頁號(hào)頁號(hào)p頁內(nèi)位移頁內(nèi)位移d二、管理方法二、管理方法(4 4)邏輯地址表示。頁號(hào))邏輯地址表示。頁號(hào)p+p+頁內(nèi)位頁內(nèi)位移移d d(頁內(nèi)地址)表示。見下圖:(頁內(nèi)地址)表示。見下圖:例例1 1:在分頁系統(tǒng):在分頁系統(tǒng)中,若中,若8 8個(gè)地址為個(gè)地址為一頁,則邏輯地址一頁,則邏輯地址1919在第幾頁,頁內(nèi)在第幾頁,頁內(nèi)位移是多少?位移是多少?0#1#2#4#3#12
5、3456789010111213141516171819200#1#2#23例例2 2:在分頁系統(tǒng):在分頁系統(tǒng)中,若中,若1616個(gè)地址為個(gè)地址為一頁,則邏輯地址一頁,則邏輯地址1919在第幾頁,頁內(nèi)在第幾頁,頁內(nèi)位移是多少?位移是多少?0#1#2#4#3#123456789010111213141516171819200#1#135#6#7#212223計(jì)算通式:計(jì)算通式:如果給定的邏輯地址是如果給定的邏輯地址是A A,頁面大小,頁面大小為為L(zhǎng) L,則頁號(hào),則頁號(hào)p p和頁內(nèi)地址和頁內(nèi)地址d d可按下式求得:可按下式求得:P=INTA/LP=INTA/Ld=A MOD Ld=A MOD L例
6、例1 1:在分頁系統(tǒng)中,:在分頁系統(tǒng)中,若若8 8個(gè)地址為一頁,個(gè)地址為一頁,則邏輯地址則邏輯地址1919在第幾在第幾頁,頁內(nèi)位移是多少?頁,頁內(nèi)位移是多少?P=INTA/LP=INTA/L =INT19/8=2 =INT19/8=2d=19 MOD 8=3d=19 MOD 8=30#1#2#4#3#123456789010111213141516171819200#1#2#23例例2 2:在分頁系統(tǒng):在分頁系統(tǒng)中,若中,若1616個(gè)地址為個(gè)地址為一頁,則邏輯地址一頁,則邏輯地址1919在第幾頁,頁內(nèi)在第幾頁,頁內(nèi)位移是多少?位移是多少?P=INTA/LP=INTA/L =INT19/16=1
7、 =INT19/16=1d=19 MOD 16=3d=19 MOD 16=3130#1#2#4#3#123456789010111213141516171819200#1#5#6#7#212223例例3 3:在分頁系統(tǒng)中,若頁面大小為:在分頁系統(tǒng)中,若頁面大小為1KB1KB,邏輯地址,邏輯地址A=3456A=3456在第幾頁,頁在第幾頁,頁內(nèi)位移是多少??jī)?nèi)位移是多少?解:直接用公式計(jì)算:解:直接用公式計(jì)算:P=INT3456/1024=3P=INT3456/1024=3d=3456 MOD 1024=384d=3456 MOD 1024=3843384512第第1頁的首址頁的首址1024第第2
8、頁的首址頁的首址1#0#2#3#4#邏輯地址邏輯地址539第第1頁內(nèi)頁內(nèi)的第的第27號(hào)號(hào)地址地址 例例4 4:設(shè)頁面大小為:設(shè)頁面大小為512512字節(jié),若邏輯地址為字節(jié),若邏輯地址為539539。則有:。則有:P=INT539/512=1P=INT539/512=1(即第(即第1 1頁)頁)d=539 MOD 512=27d=539 MOD 512=27(即頁內(nèi)位移)(即頁內(nèi)位移)所以邏輯地址為所以邏輯地址為539539屬于第屬于第1 1頁,頁內(nèi)位移為頁,頁內(nèi)位移為2727。 210011)(001000011(539) (2)(2)余下的余下的二進(jìn)制位二進(jìn)制位即為頁號(hào)即為頁號(hào)P=1P=1(
9、1)(1)因頁面大小為因頁面大小為512512字節(jié),即字節(jié),即2 29 9,故取故取9 9位作頁內(nèi)位移,位作頁內(nèi)位移,d=d=(000011011000011011)2 2= =(2727)1010在計(jì)算機(jī)中,由于頁面大小取在計(jì)算機(jī)中,由于頁面大小取2 2的冪次,的冪次,故頁號(hào)和頁內(nèi)位移是通過截取一定的二故頁號(hào)和頁內(nèi)位移是通過截取一定的二進(jìn)制位求得。設(shè)頁面大小為進(jìn)制位求得。設(shè)頁面大小為512512字節(jié),字節(jié),若邏輯地址為若邏輯地址為539539。(2)(2)余下的二進(jìn)余下的二進(jìn)制位即為頁號(hào)制位即為頁號(hào)P=(11)P=(11)2 2=(3)=(3)1010(1)(1)因頁面大小為因頁面大小為1K
10、1K字節(jié),即字節(jié),即2 21010,故取故取1010位作頁內(nèi)位移,位作頁內(nèi)位移,d=d=(01100000000110000000)2 2= =(384384)10102 210(3456)=(110110000000)(110110000000)又如上例,頁面大小為又如上例,頁面大小為1KB1KB,邏輯地,邏輯地址址A=3456A=3456的頁號(hào)和頁內(nèi)位移是多少?的頁號(hào)和頁內(nèi)位移是多少?三、動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu) 頁式管理方法中,邏輯空間中的頁面頁式管理方法中,邏輯空間中的頁面離散地分配在物理內(nèi)存塊中,邏輯地址與離散地分配在物理內(nèi)存塊中,邏輯地址與物理地址之間失去自然聯(lián)系,故要通過頁物理地址之間失
11、去自然聯(lián)系,故要通過頁表,并由硬件動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)將邏輯地表,并由硬件動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)將邏輯地址映射成物理地址才能正確訪存。址映射成物理地址才能正確訪存。 (一)頁表 頁表放在系統(tǒng)空間的頁表區(qū),存放邏輯頁表放在系統(tǒng)空間的頁表區(qū),存放邏輯頁與物理頁幀的對(duì)應(yīng)關(guān)系。頁與物理頁幀的對(duì)應(yīng)關(guān)系。PCBPCB表中有指針表中有指針指向頁表。指向頁表。頁號(hào)頁號(hào)987654321043210邏輯空間邏輯空間物理空間物理空間頁表頁表用戶程序空用戶程序空間劃分為頁間劃分為頁利用頁表映射各頁利用頁表映射各頁在內(nèi)存中的位置在內(nèi)存中的位置1853001234頁號(hào)頁號(hào)0185304987654321321001234 ( (
12、二二) )邏輯地址轉(zhuǎn)換為物理地址邏輯地址轉(zhuǎn)換為物理地址例例1 1:根據(jù)以下頁表,若頁面大小為:根據(jù)以下頁表,若頁面大小為8 8字節(jié),字節(jié),則邏輯地址為則邏輯地址為1919的物理地址是多少?由前述的物理地址是多少?由前述例知:頁號(hào)例知:頁號(hào)p=2,d=3p=2,d=3。由頁表知,第。由頁表知,第2 2頁存放頁存放在內(nèi)存的第在內(nèi)存的第5 5塊,故物理地址為第塊,故物理地址為第5 5塊的第塊的第3 3號(hào)號(hào)地址,即:地址,即:5 58+3=438+3=43號(hào)地址。號(hào)地址。頁號(hào)頁號(hào)0185304987654321321001234 ( (二二) )邏輯地址轉(zhuǎn)換為物理地址邏輯地址轉(zhuǎn)換為物理地址例例2 2:
13、根據(jù)以下頁表,若頁面大小為:根據(jù)以下頁表,若頁面大小為1616字節(jié),字節(jié),則邏輯地址為則邏輯地址為1919的物理地址是多少?由前述的物理地址是多少?由前述例知:頁號(hào)例知:頁號(hào)p=1,d=3p=1,d=3。由頁表知,第。由頁表知,第1 1頁存放頁存放在內(nèi)存的第在內(nèi)存的第8 8塊,故物理地址為第塊,故物理地址為第8 8塊的第塊的第3 3號(hào)號(hào)地址,即:地址,即:8 816+3=13116+3=131號(hào)地址。號(hào)地址。P d頁表始地n k-10f dn k-1 0+頁表012f345 ( (二二) )邏輯地址轉(zhuǎn)換為物理地址的實(shí)邏輯地址轉(zhuǎn)換為物理地址的實(shí)現(xiàn)原理。如下圖示:現(xiàn)原理。如下圖示:例如:設(shè)邏輯地址
14、為例如:設(shè)邏輯地址為539(001 539(001 000011011)000011011)2 2,頁面大小為,頁面大小為512512個(gè)字節(jié)個(gè)字節(jié)(2(29 9字字節(jié)節(jié)) ),頁表在內(nèi)存中的首地此為,頁表在內(nèi)存中的首地此為(1010)(1010)2 2號(hào),號(hào),(1011)(1011)2 2號(hào)地址存放的內(nèi)存塊號(hào)為號(hào)地址存放的內(nèi)存塊號(hào)為(01110)(01110)2 2。因頁表也在內(nèi)存,先從內(nèi)存地址因頁表也在內(nèi)存,先從內(nèi)存地址(1010)(1010)2 2取取出頁表。轉(zhuǎn)換過程見下圖示:出頁表。轉(zhuǎn)換過程見下圖示:頁表的第頁表的第1號(hào),號(hào),在內(nèi)存在內(nèi)存1011號(hào)號(hào)單元單元13 9 8 0 001(p)
15、 000011011(d)頁表始地101001211 8 001110 00011011+頁表(01110000011011)2=(7195)1001110頁表的第頁表的第1號(hào)在號(hào)在內(nèi)存的內(nèi)存的11號(hào)單號(hào)單元元001(p) 27(d)頁表始地10號(hào)單元01211 8 0 14 (f) 27(d)13 9 8 0+頁表若用十進(jìn)制說明:若用十進(jìn)制說明:(14512+27)=(7195)1014思考思考1: 設(shè)有設(shè)有8頁的邏輯地址空間,每頁有頁的邏輯地址空間,每頁有1024字節(jié),它們被映射到字節(jié),它們被映射到32塊的物理存儲(chǔ)塊的物理存儲(chǔ)區(qū)中。試問:區(qū)中。試問:(1)邏輯地址應(yīng)占多少位?)邏輯地址應(yīng)占
16、多少位?(2)物理地址應(yīng)占多少位?)物理地址應(yīng)占多少位? 由于頁表在內(nèi)存中,由頁到頁幀號(hào)由于頁表在內(nèi)存中,由頁到頁幀號(hào)的轉(zhuǎn)換較慢,故考慮用硬件機(jī)構(gòu)實(shí)現(xiàn)。的轉(zhuǎn)換較慢,故考慮用硬件機(jī)構(gòu)實(shí)現(xiàn)。CPUCPU有一個(gè)用于頁號(hào)有一個(gè)用于頁號(hào)內(nèi)存塊號(hào)轉(zhuǎn)換的內(nèi)存塊號(hào)轉(zhuǎn)換的聯(lián)想存儲(chǔ)器。將頁表存入聯(lián)想存儲(chǔ)器的聯(lián)想存儲(chǔ)器。將頁表存入聯(lián)想存儲(chǔ)器的地址,其轉(zhuǎn)換原理如下:地址,其轉(zhuǎn)換原理如下:(四)利用聯(lián)想存儲(chǔ)器(快表)加快地址轉(zhuǎn)換速度( (聯(lián)想存儲(chǔ)器可以看成是頁表的聯(lián)想存儲(chǔ)器可以看成是頁表的cache)cache)P dn k-10f dn k-10P2f2P1f1.Pf.Pm fmf頁表始址頁表始址+頁表頁表聯(lián)想存儲(chǔ)器
17、聯(lián)想存儲(chǔ)器例:設(shè)某系統(tǒng)的頁面大小為例:設(shè)某系統(tǒng)的頁面大小為1KB1KB,邏輯地,邏輯地址址A=3456A=3456。則有:。則有: p=INT3456/1024=3p=INT3456/1024=3 d=3456 MOD 1024=384 d=3456 MOD 1024=384(1 1)若快表中存有第)若快表中存有第3 3頁(存放情況如頁(存放情況如下)。則馬上從快表中取出該頁內(nèi)存塊下)。則馬上從快表中取出該頁內(nèi)存塊號(hào)號(hào)1919n k-10nk-1 03(P) 384( d)19(f) 384(d)212681531901014255101219.頁表始址頁表始址+內(nèi)存內(nèi)存頁表頁表聯(lián)想存儲(chǔ)器聯(lián)想
18、存儲(chǔ)器0123(2)若快表中無第)若快表中無第3頁,則只能通過頁,則只能通過訪問內(nèi)存頁表查找該頁。訪問后再將訪問內(nèi)存頁表查找該頁。訪問后再將其調(diào)入快表,以便下一次查找。如下其調(diào)入快表,以便下一次查找。如下圖示。圖示。n k-10nk-1 03(P) 384( d)19(f) 384(d)212681551601014255101219.頁表始址頁表始址+內(nèi)存內(nèi)存頁表頁表聯(lián)想存儲(chǔ)器聯(lián)想存儲(chǔ)器01 2 31.1.命中率:命中率:選用選用8 81212項(xiàng)組成的聯(lián)想存儲(chǔ)器,項(xiàng)組成的聯(lián)想存儲(chǔ)器,并采用適當(dāng)?shù)奶鎿Q策略,在聯(lián)想存儲(chǔ)并采用適當(dāng)?shù)奶鎿Q策略,在聯(lián)想存儲(chǔ)器中匹配成功的可能性可達(dá)器中匹配成功的可能性可
19、達(dá)80%80%90%90%。聯(lián)想存儲(chǔ)器的命中率聯(lián)想存儲(chǔ)器的命中率2.2.等效訪問時(shí)間等效訪問時(shí)間設(shè)訪存時(shí)間為設(shè)訪存時(shí)間為750ns750ns,搜索聯(lián)想存,搜索聯(lián)想存儲(chǔ)器的時(shí)間為儲(chǔ)器的時(shí)間為50ns50ns,命中率為,命中率為80%80%,則:,則: 80%80%(750+50)+20%(750+50)+20%(750+50+750(750+50+750)950ns950ns( ( 訪問速度只降低了訪問速度只降低了26.6%.26.6%.(950-750)/750=0.2666726.6%)(950-750)/750=0.2666726.6%)聯(lián)想存儲(chǔ)器的等效訪問時(shí)間聯(lián)想存儲(chǔ)器的等效訪問時(shí)間四、
20、可用空間管理 可用可用bitmapbitmap(位圖)數(shù)組或空閑頁幀(位圖)數(shù)組或空閑頁幀鏈來管理可用頁幀鏈來管理可用頁幀??捎每臻g管理工作如可用空間管理工作如下:下:(1 1)若可用頁幀總數(shù)小于作業(yè)(設(shè)為作業(yè))若可用頁幀總數(shù)小于作業(yè)(設(shè)為作業(yè)A A)總頁數(shù),則拒絕分配,結(jié)束。)總頁數(shù),則拒絕分配,結(jié)束。(2 2)取作業(yè))取作業(yè)A A的下一頁的下一頁P(yáng) P,分配一可用頁幀,分配一可用頁幀f f,并將頁,并將頁P(yáng) P的內(nèi)容抄到的內(nèi)容抄到f f中。中。(3 3)將頁幀)將頁幀f f的內(nèi)存首址抄到作業(yè)的內(nèi)存首址抄到作業(yè)A A的頁表的頁表頁頁P(yáng) P的頁表項(xiàng)中。的頁表項(xiàng)中。(4 4)若所有頁已處理完,則
21、結(jié)束,否則轉(zhuǎn))若所有頁已處理完,則結(jié)束,否則轉(zhuǎn)到(到(2 2)當(dāng)作業(yè)撤離或交換時(shí),根據(jù)頁表項(xiàng)中當(dāng)作業(yè)撤離或交換時(shí),根據(jù)頁表項(xiàng)中記錄的頁幀號(hào),回收頁幀到可用隊(duì)列。記錄的頁幀號(hào),回收頁幀到可用隊(duì)列。 五、共享與保護(hù)(一)共享在操作系統(tǒng)中,很多代碼應(yīng)是可共在操作系統(tǒng)中,很多代碼應(yīng)是可共享的,如命令解釋程序、編譯程序、編輯享的,如命令解釋程序、編譯程序、編輯程序等。在連續(xù)分配存儲(chǔ)空間模式下,共程序等。在連續(xù)分配存儲(chǔ)空間模式下,共享是不可能的。享是不可能的。在頁式系統(tǒng)中可實(shí)現(xiàn)共享。在頁式系統(tǒng)中可實(shí)現(xiàn)共享。通過頁通過頁表可以使幾個(gè)邏輯空間指向同一個(gè)物理空表可以使幾個(gè)邏輯空間指向同一個(gè)物理空間,實(shí)現(xiàn)程序共享
22、。間,實(shí)現(xiàn)程序共享。 舉例舉例:EDIT1EDIT2EDIT3DATA1EDIT1EDIT2EDIT3DATA2EDIT1EDIT2EDIT3DATA33461346734610OSDATA1EDIT10 1 2 3 4 5 6 7 8 9 10 11EDIT2EDIT3 DATA2DATA3P1 P2P3頁表(二)存儲(chǔ)保護(hù): 越界保護(hù):設(shè)置頁表長(zhǎng)度寄存器,查頁越界保護(hù):設(shè)置頁表長(zhǎng)度寄存器,查頁表前,先檢查頁號(hào)是否越界。表前,先檢查頁號(hào)是否越界。 操作訪問保護(hù):在每個(gè)頁表項(xiàng)中增設(shè)一操作訪問保護(hù):在每個(gè)頁表項(xiàng)中增設(shè)一存儲(chǔ)保護(hù)域,用于說明對(duì)該頁的訪問權(quán)存儲(chǔ)保護(hù)域,用于說明對(duì)該頁的訪問權(quán)限,每一個(gè)對(duì)
23、該頁存儲(chǔ)的訪問都首先比限,每一個(gè)對(duì)該頁存儲(chǔ)的訪問都首先比照是否滿足該頁訪問權(quán)限的說明,滿足照是否滿足該頁訪問權(quán)限的說明,滿足則訪問,否則報(bào)錯(cuò)。則訪問,否則報(bào)錯(cuò)。舉例:設(shè)為每一頁表項(xiàng)增加三位,設(shè)為每一頁表項(xiàng)增加三位,R R位表位表示讀權(quán)限,示讀權(quán)限,W W位表示寫權(quán)限,位表示寫權(quán)限,E E位表示執(zhí)行位表示執(zhí)行權(quán)限。權(quán)限。R RW WE E0 00 00 0 不可進(jìn)行任何操作不可進(jìn)行任何操作0 00 01 1 可以執(zhí)行可以執(zhí)行, ,不可以讀寫不可以讀寫0 01 10 0 只可以寫只可以寫0 01 11 1 可寫與執(zhí)行,但不能讀可寫與執(zhí)行,但不能讀1 10 00 0 只讀,不能寫、執(zhí)行只讀,不能寫、
24、執(zhí)行1 10 01 1 可讀、可執(zhí)行。可讀、可執(zhí)行。1 11 10 0 可讀、可寫。可讀、可寫。1 11 11 1 可讀、可寫、可執(zhí)行可讀、可寫、可執(zhí)行頁式管理:對(duì)用戶而言不自然頁式管理:對(duì)用戶而言不自然,分頁后分頁后可能一頁中有兩段程序的內(nèi)容(見下可能一頁中有兩段程序的內(nèi)容(見下圖)。(而用戶以自然段為單位)圖)。(而用戶以自然段為單位) 0 1 2主程序主程序子程序子程序作業(yè)作業(yè)1 1主程序主程序子程序子程序數(shù)據(jù)段數(shù)據(jù)段20153010堆棧段堆棧段01920343564657420主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段0#1#2#71523又如:以下作業(yè)由四個(gè)段組成,
25、用分頁管理,又如:以下作業(yè)由四個(gè)段組成,用分頁管理,若若8 8個(gè)地址為一頁,第個(gè)地址為一頁,第2 2頁中就有主程序和子程頁中就有主程序和子程序的內(nèi)容序的內(nèi)容 一、分段存儲(chǔ)管理的基本概念一、分段存儲(chǔ)管理的基本概念1 1、分段、分段段是一組邏輯信息的集合。例如,段是一組邏輯信息的集合。例如,有主程序段、子程序段、數(shù)據(jù)段和堆棧有主程序段、子程序段、數(shù)據(jù)段和堆棧段等。段等。一個(gè)作業(yè)有多少段就劃分為多少段,一個(gè)作業(yè)有多少段就劃分為多少段,給每段一個(gè)編號(hào),從給每段一個(gè)編號(hào),從0 0開始編號(hào),段的開始編號(hào),段的長(zhǎng)度由該段的信息長(zhǎng)度決定,每段分別長(zhǎng)度由該段的信息長(zhǎng)度決定,每段分別編址,也從編址,也從0 0開始
26、。開始。 例如:以下作業(yè)由四個(gè)段組成,則分成例如:以下作業(yè)由四個(gè)段組成,則分成4 4個(gè)目個(gè)目標(biāo)程序模塊,段號(hào)從標(biāo)程序模塊,段號(hào)從0#0#至至3#3#(見下圖),每段(見下圖),每段地址分別編號(hào),從地址分別編號(hào),從0 0開始,每段的段長(zhǎng)分別是開始,每段的段長(zhǎng)分別是2020,1515,3030和和1010。20主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段第第0段段第第1段段第第2段段第第3段段019 014 029 9 02 2、程序的地址結(jié)構(gòu)。邏輯地址要用兩個(gè)成分、程序的地址結(jié)構(gòu)。邏輯地址要用兩個(gè)成分來表示:段號(hào)來表示:段號(hào)S S和段內(nèi)地址和段內(nèi)地址d d。如。如(2 2,5 5
27、)表示)表示第第2 2段的段的5 5號(hào)地址,而不是其它段的號(hào)地址,而不是其它段的5 5號(hào)地址。號(hào)地址。20主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段第第0段段第第1段段第第2段段第第3段段019 014 029 0段號(hào)段號(hào)S段內(nèi)地址段內(nèi)地址d第第2段的段的號(hào)地址號(hào)地址55553 3、內(nèi)存分配。以段為單位,每段連續(xù)、段與、內(nèi)存分配。以段為單位,每段連續(xù)、段與段離散地分配在內(nèi)存中。段離散地分配在內(nèi)存中。20主程序主程序15子程序子程序第第0段段第第1段段019 01430數(shù)據(jù)段數(shù)據(jù)段第第2段段29 010堆棧段堆棧段第第3段段 0 920101530主程序主程序堆棧段堆棧段子程序
28、子程序數(shù)據(jù)段數(shù)據(jù)段4 4、段表。每段到內(nèi)存的、段表。每段到內(nèi)存的映射由段表完成。每個(gè)段映射由段表完成。每個(gè)段在段表中占有一項(xiàng)。段表在段表中占有一項(xiàng)。段表項(xiàng)包括:段號(hào),段長(zhǎng),段項(xiàng)包括:段號(hào),段長(zhǎng),段在內(nèi)存的起始地址,狀態(tài)在內(nèi)存的起始地址,狀態(tài)位,修改位等。如上例:位,修改位等。如上例:段號(hào)段號(hào)段長(zhǎng)段長(zhǎng)段基址段基址02020011558023099831035020101530主程序主程序0#堆棧段堆棧段3#子程序子程序1#數(shù)據(jù)段數(shù)據(jù)段2#2003505809985 5、段表地址寄存器。段表通常放在內(nèi)存,系、段表地址寄存器。段表通常放在內(nèi)存,系統(tǒng)用段表地址寄存器記住該段在內(nèi)存中的起始統(tǒng)用段表地址寄
29、存器記住該段在內(nèi)存中的起始地址和該段表的長(zhǎng)度。格式見下圖示。地址和該段表的長(zhǎng)度。格式見下圖示。如上例,設(shè)段表在內(nèi)存中的始址為如上例,設(shè)段表在內(nèi)存中的始址為100100,則段表地址寄存器的內(nèi)容為:則段表地址寄存器的內(nèi)容為:段表長(zhǎng)段表長(zhǎng)段表內(nèi)存始址段表內(nèi)存始址段表內(nèi)存始址段表內(nèi)存始址4100二、地址轉(zhuǎn)換過程1、段式存儲(chǔ)管理地址轉(zhuǎn)換過程可以歸納如下:、段式存儲(chǔ)管理地址轉(zhuǎn)換過程可以歸納如下:(1)從程序邏輯地址中取出段號(hào))從程序邏輯地址中取出段號(hào)S,段內(nèi)地址,段內(nèi)地址d;(2)根據(jù)段號(hào))根據(jù)段號(hào)S,從段表中取出該段主存起始,從段表中取出該段主存起始地址地址P和段長(zhǎng)和段長(zhǎng)L;(3)比較段內(nèi)地址)比較段內(nèi)
30、地址d=段長(zhǎng)是否成立,若成段長(zhǎng)是否成立,若成立,則繼續(xù)(立,則繼續(xù)(5)步驟;否則進(jìn)入()步驟;否則進(jìn)入(4)步驟)步驟;(4)產(chǎn)生地址越界中斷,程序中止;)產(chǎn)生地址越界中斷,程序中止;(5)計(jì)算段內(nèi)地址)計(jì)算段內(nèi)地址d+分段起始地址的值,即分段起始地址的值,即得到程序邏輯地址所對(duì)應(yīng)的絕對(duì)地址。得到程序邏輯地址所對(duì)應(yīng)的絕對(duì)地址。段號(hào)段長(zhǎng)段內(nèi)存始址.段號(hào)段長(zhǎng)段內(nèi)存始址.Sd段表始址寄存器段表長(zhǎng)度寄存器+PA越界越界LALA聯(lián)想存儲(chǔ)器聯(lián)想存儲(chǔ)器2 2、地址轉(zhuǎn)換過程示意圖、地址轉(zhuǎn)換過程示意圖例例:某采用段式存儲(chǔ)管理的系統(tǒng)為裝某采用段式存儲(chǔ)管理的系統(tǒng)為裝入主存的一個(gè)作業(yè)建立了如下表所示入主存的一個(gè)作業(yè)
31、建立了如下表所示的段表,回答以下問題:的段表,回答以下問題:段號(hào)段號(hào)段長(zhǎng)段長(zhǎng)主存起始地址主存起始地址06602219114033002100903580123749601959試計(jì)算該作業(yè)分別訪問試計(jì)算該作業(yè)分別訪問0,432、1,10、2,500、3,400時(shí)的絕對(duì)地址。時(shí)的絕對(duì)地址。解解:(:(1) 0,432:段號(hào)段號(hào)0,段內(nèi)地,段內(nèi)地址址432;根據(jù)段號(hào);根據(jù)段號(hào)0,從,從段表中取出主存分段起段表中取出主存分段起始地址始地址2219和段長(zhǎng)和段長(zhǎng)660;比較段內(nèi)地址比較段內(nèi)地址432=段段長(zhǎng)長(zhǎng)660,成立,繼續(xù)下,成立,繼續(xù)下一步;段內(nèi)地址一步;段內(nèi)地址432+分段起始地址分段起始地址2
32、219=2651,即為,即為0,432所對(duì)應(yīng)的絕對(duì)地址。所對(duì)應(yīng)的絕對(duì)地址。段段號(hào)號(hào)段段長(zhǎng)長(zhǎng)主存主存起始起始地址地址06602219114033002100903580123749601959(2)1,10:步:步驟同驟同0,432,有,有10+3300=3310。(3)2,500:由于段內(nèi)地址由于段內(nèi)地址500=段長(zhǎng)段長(zhǎng)100,不成立,產(chǎn)生地不成立,產(chǎn)生地址越界中斷,程址越界中斷,程序中止。序中止。段段號(hào)號(hào)段段長(zhǎng)長(zhǎng)主存主存起始起始地址地址06602219114033002100903580123749601959(4)3,400:步驟同步驟同0,432,得得400+1237=1637即為即為3
33、,400所對(duì)所對(duì)應(yīng)的絕對(duì)地址。應(yīng)的絕對(duì)地址。段段號(hào)號(hào)段段長(zhǎng)長(zhǎng)主存主存起始起始地址地址06602219114033002100903580123749601959思考思考2: 對(duì)于所給定的段表如下所示,下面對(duì)于所給定的段表如下所示,下面邏輯地址對(duì)應(yīng)的物理地址是多少?邏輯地址對(duì)應(yīng)的物理地址是多少?段號(hào)段號(hào)基址基址長(zhǎng)度長(zhǎng)度02196001230014290100313275804195296(1)0,430(2)4,110(3)1,11(4)2,500(5)3,112三、段式系統(tǒng)的共享(一)段式系統(tǒng)與頁式系統(tǒng)實(shí)現(xiàn)共享(一)段式系統(tǒng)與頁式系統(tǒng)實(shí)現(xiàn)共享的方法基本相同。若多個(gè)作業(yè)段表中的方法基本相同。若多
34、個(gè)作業(yè)段表中的基本項(xiàng)指向內(nèi)存的同一地址,內(nèi)存的基本項(xiàng)指向內(nèi)存的同一地址,內(nèi)存中以該地址為起始地址的哪一段便被中以該地址為起始地址的哪一段便被共享了。例:共享了。例:J1、J2共享子程序共享子程序SIN段段表表主程序主程序SIN數(shù)據(jù)數(shù)據(jù)主程序主程序子程序子程序1SIN子程序子程序2SIN作作業(yè)業(yè)J1作作業(yè)業(yè)J20120123例:下圖進(jìn)程1和進(jìn)程2共享編輯程序 (1)(1)等分內(nèi)存:把整個(gè)內(nèi)存等分為塊,等分內(nèi)存:把整個(gè)內(nèi)存等分為塊,內(nèi)存塊從內(nèi)存塊從0 0開始依次編號(hào)。開始依次編號(hào)。 (2)(2)作業(yè)地址空間采用段式管理。作業(yè)地址空間采用段式管理。 (3)(3)段內(nèi)分頁。段內(nèi)分頁。特點(diǎn):將作業(yè)分成若
35、干段,每段用頁式管將作業(yè)分成若干段,每段用頁式管理實(shí)現(xiàn)內(nèi)存分配理實(shí)現(xiàn)內(nèi)存分配。一、段頁式存儲(chǔ)管理的基本要點(diǎn)例如:以下作業(yè)由四個(gè)段組成,則分成例如:以下作業(yè)由四個(gè)段組成,則分成4 4段,段,段號(hào)從段號(hào)從0#0#至至3#3#(見下圖),每段地址分別編號(hào),(見下圖),每段地址分別編號(hào),從從0 0開始,每段的段長(zhǎng)分別是開始,每段的段長(zhǎng)分別是2020,1515,3030和和1010。段內(nèi)分頁,設(shè)頁面大小為段內(nèi)分頁,設(shè)頁面大小為8 8字節(jié)。則字節(jié)。則0#0#段分成段分成3 3頁,頁,1#1#段分成段分成2 2頁,頁,2#2#段分成段分成4 4頁,頁,3#3#段頁。段頁。20主程序主程序15子程序子程序30
36、數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段第第0段段第第1段段第第2段段第第3段段019 014 029 9 0段號(hào)段號(hào)S頁號(hào)頁號(hào)P頁內(nèi)地址頁內(nèi)地址d21530數(shù)據(jù)段數(shù)據(jù)段第第2段段29 0 (4)(4)邏輯地址結(jié)構(gòu)。一個(gè)邏輯地址由三部邏輯地址結(jié)構(gòu)。一個(gè)邏輯地址由三部分組成:即段號(hào)分組成:即段號(hào)S S、頁號(hào)、頁號(hào)P P和頁內(nèi)地址和頁內(nèi)地址d d。記作記作v=(s,p,d),v=(s,p,d),如如v=v=(2 2,1 1,5 5)表示第)表示第2 2段第段第1 1頁內(nèi)的頁內(nèi)的5 5號(hào)地址。而非其它段其它號(hào)地址。而非其它段其它頁的頁的5 5號(hào)地址。號(hào)地址。0#1#2#3# (5)(5)內(nèi)存分配。內(nèi)存的分配單位
37、是塊。塊內(nèi)存分配。內(nèi)存的分配單位是塊。塊大小等于頁面大小。大小等于頁面大小。(6)(6)設(shè)有段表、頁表和段表寄存器。每個(gè)設(shè)有段表、頁表和段表寄存器。每個(gè)作業(yè)建一個(gè)段表,每一段建一個(gè)頁表。作業(yè)建一個(gè)段表,每一段建一個(gè)頁表。段表中的段長(zhǎng)和段在內(nèi)存起始地址改為:段表中的段長(zhǎng)和段在內(nèi)存起始地址改為:頁表長(zhǎng)度和頁表始址。頁表長(zhǎng)度和頁表始址。 例:下圖的段表內(nèi)容為:例:下圖的段表內(nèi)容為:20主程序主程序15子程序子程序30數(shù)據(jù)段數(shù)據(jù)段10堆棧段堆棧段第第0段段第第1段段第第2段段第第3段段019 014 029 9 0段號(hào)頁表長(zhǎng)度頁表始址03122432頁號(hào)塊號(hào)034178265頁號(hào)塊號(hào)010012883
38、#段頁表段頁表0#段頁表段頁表又例:設(shè)頁面大小為又例:設(shè)頁面大小為100100。作業(yè)空間的內(nèi)部表示如圖。作業(yè)空間的內(nèi)部表示如圖。200200400 主程序 子程序 數(shù)據(jù)段0#2#1#01990199399段號(hào) 頁表長(zhǎng) 頁表始地50025005500350115006500750095012OS500150025003500450055006500750095012500850105011段表頁表主存主存作業(yè)段表段表+ +頁表頁表00# 1#2# 2 2 4100020003000100020003000二、動(dòng)態(tài)地址轉(zhuǎn)換 f 段號(hào) 頁號(hào) 保護(hù)碼內(nèi)存塊號(hào).Spd段表始址段表長(zhǎng)度+越界+f d段表段
39、表頁表頁表關(guān)于段頁式管理的等效訪問時(shí)間:關(guān)于段頁式管理的等效訪問時(shí)間:等效訪問時(shí)間:設(shè)訪存時(shí)間為等效訪問時(shí)間:設(shè)訪存時(shí)間為750ns750ns,搜,搜索聯(lián)想存儲(chǔ)器的時(shí)間為索聯(lián)想存儲(chǔ)器的時(shí)間為50ns50ns,命中率為,命中率為95%95%,則,則 95%95%(750+50)+5%(750+50)+5%(750+50+750+750(750+50+750+750)=875ns=875ns例:如下圖所示是一種段頁式管理配置方案。根據(jù)例:如下圖所示是一種段頁式管理配置方案。根據(jù)給定條件回答如下問題:給定條件回答如下問題:450004200044000470004600043000410002000
40、20012002200320042005200617000130001760016000140001200015000300040007000200050005600060007600頁表頁表頁表頁表頁表頁表段表段表600060016002600360046005600632000330003660031000370003500034000500050015002500350045005500610001001100210031004100510061007已知指令寄存器地址碼部分如下:已知指令寄存器地址碼部分如下: 段號(hào)段號(hào) 頁號(hào)頁號(hào) 位移量位移量段表首址寄存器內(nèi)容為:段表首址寄存器內(nèi)容為:()根據(jù)給出的虛地址寫出實(shí)地址。()根據(jù)給出的虛地址寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生國(guó)防教育合作協(xié)議
- XX廣告噴繪制作合同5篇
- 醫(yī)療居間服務(wù)合同范本
- 華為配件采購(gòu)合同范本
- 個(gè)人辭職申請(qǐng)報(bào)告
- 個(gè)人車位轉(zhuǎn)讓合同
- 護(hù)理學(xué)試題(含答案)
- 醫(yī)療房屋租賃合同范本
- 保健按摩師初級(jí)題庫+參考答案
- 公司美甲店入股合同范本
- 外研版小學(xué)英語五年級(jí)下冊(cè)課文翻譯
- 口語教程4整套課件完整版教學(xué)教程最全電子講義教案
- 高壓氧艙課件
- 加德納多元智能測(cè)評(píng)量表【復(fù)制】
- 譯林英語四年級(jí)下冊(cè)4B各單元教學(xué)反思
- QC成果提高大跨度多節(jié)點(diǎn)曲面鋼桁架一次安裝合格率
- 國(guó)家電網(wǎng)有限公司十八項(xiàng)電網(wǎng)重大反事故措施(修訂版)
- 環(huán)氧乙烷固定床反應(yīng)器課程設(shè)計(jì)
- 班、團(tuán)、隊(duì)一體化建設(shè)實(shí)施方案
- 如何建構(gòu)結(jié)構(gòu)性思維 課后測(cè)試
- 施工方案(行車拆除)
評(píng)論
0/150
提交評(píng)論