頁面大小和頁表項之間有必然的聯絡麼

時間 2022-03-11 22:50:07

1樓:匿名使用者

一、理解這樣一個概念,作業系統為了方便管理記憶體,將記憶體劃分成很若干個頁,每個頁表項就代表一個頁的地址(頁的地址,不是記憶體地址)。

二、4b大小的頁表項,意味著支援最大的頁表數是2的32次方=4294967296 (4b=32bit),一個頁的大小4k,那麼4b大小的頁表項,表示作業系統支援4294967296*4k = 16gb大的記憶體。

三、現在問題是頁表佔用一定的記憶體。

(一)現在假設有2gb(一定要小於16gb)記憶體。

1、那麼它一共有2gb/4kb=512k個頁,也就是說頁表項有512k項,而每個頁表項的大小4b,那麼頁表在記憶體中佔用的大小是:512k*4b=2mb,意味著,只要2mb就可以表示512k個頁(每個頁是4kb,總記憶體大小是2g),它頁表本身佔用了2mb/4k=512個頁。

2、這一題 就是問你1個頁可以表示多少個頁表項,4kb/4b=1024個頁表項。頁面大小與頁表項沒有絕對的關係,但它們有這樣關係:

(二)頁面大小 * 2 ^(頁表項大小)=作業系統最大支援記憶體大小(虛擬記憶體)

1、本題是 4k * 2^(4b) = 16gb

2、頁表佔用記憶體 = 作業系統記憶體/頁面大小 * 頁表項大小,本題是,假設作業系統記憶體為2gb。 2gb/4kb*4b = 2mb

3、頁表佔用的頁數是=頁表佔用記憶體/頁面大小,這題同上假設2mb/4k=512個頁。

擴充套件資料

一、地址結構

3、邏輯地址空間:由程式所生成的所有邏輯地址的集合。

4、實體地址空間:與邏輯地址相對應的記憶體中所有實體地址的集合,使用者程式看不見真正的實體地址。

5、注:使用者只生成邏輯地址,且認為程序的地址空間為0到max。實體地址範圍從r+0到r+max,r為基地址,地址對映-將程式地址空間中使用的邏輯地址變換成記憶體中的實體地址的過程。

由記憶體管理單元(mmu)來完成。

6、分頁邏輯地址 =p(頁號).d(頁內位移)

7、分頁實體地址=f(頁幀號).d(同上)

9、d= 線性邏輯地址-p*頁面大小

二、基本分頁儲存管理方式

用固定大小的頁(page)來描述邏輯地址空間,用相同大小的頁框(frame)來描述實體記憶體空間,由作業系統實現從邏輯頁到物理頁框的頁面對映,同時負責對所有頁的管理和程序執行的控制。

三、分級頁表

1、一個32位邏輯地址空間的計算機系統,頁大小為4kb,那麼頁表有一百萬條目。假設每個條目佔4b,則需要4mb實體地址空間來儲存頁表本身。利用多級頁表,可以減少頁表所佔用的空間。

2、一個邏輯地址(32位系統,頁大小 4k) 可以被分為 :一個20位的頁號 +一個12位的偏移。如果對頁表進行再分頁,那麼頁號分解為:

一個10位的頁號 +一個10位的偏移。因此,一個邏輯地址表示如下 :p1 是用來訪問外部頁表的索引, p2 是外部頁表的頁偏移。

2樓:

首先,我認為頁面大小和頁表項之間沒有必然聯絡。

頁表項確實存在於記憶體裡,而記憶體也要按照頁框大小分頁。

注意,頁面大小等於頁框大小。

故這裡用4k/4b=2^10實際上是指用頁框大小除以頁表項大小,得到每一個頁框可以儲存的頁表項數量。

3樓:匿名使用者

理解這樣一個概念,作業系統為了方便管理記憶體,將記憶體劃分成很若干個頁,每個頁表項就代表一個頁的地址(頁的地址,不是記憶體地址)。

4b大小的頁表項,意味著支援最大的頁表數是2的32次方=4294967296 (4b=32bit),一個頁的大小4k,那麼4b大小的頁表項,表示作業系統支援4294967296*4k = 16gb大的記憶體。

現在問題是頁表佔用一定的記憶體。

現在假設有2gb(一定要小於16gb)記憶體。

那麼它一共有2gb/4kb=512k個頁,也就是說頁表項有512k項,而每個頁表項的大小4b,那麼頁表在記憶體中佔用的大小是:512k*4b=2mb,意味著,只要2mb就可以表示512k個頁(每個頁是4kb,總記憶體大小是2g),它頁表本身佔用了2mb/4k=512個頁。

這一題 就是問你1個頁可以表示多少個頁表項,4kb/4b=1024個頁表項。頁面大小與頁表項沒有絕對的關係,但它們有這樣關係:

1.頁面大小 * 2 ^(頁表項大小)=作業系統最大支援記憶體大小(虛擬記憶體),本題是 4k * 2^(4b) = 16gb

2.頁表佔用記憶體 = 作業系統記憶體/頁面大小 * 頁表項大小,本題是,假設作業系統記憶體為2gb。 2gb/4kb*4b = 2mb

3.頁表佔用的頁數是=頁表佔用記憶體/頁面大小,這題同上假設2mb/4k=512個頁。

4樓:就愛寒

不能這樣理解麼?

存放頁表項的也是一個頁面,其大小肯定也是4kb,一個頁表項的大小為4b,總量除以一個的大小不就是個數麼?

根據四則運算後面所帶單位的意義也可以推出來啊。

5樓:匿名使用者

頁表項其實存放在頁框裡,

6樓:泥巴改變

不應該是4kb/4b=1k麼,4k/4b也不等於1k啊

7樓:紫麼兒

你太有才了,我做作業也困惑這個問題呢,高手趕緊回答一下吧

頁面大小,頁表項,頁表項大小,各種大小都是什麼意思啊!!!!分不清啊!!!! 50

8樓:起名字_要慎重

頁相當於一個陣列,頁表項是陣列的元素型別。也就是一個頁有許多頁表項。頁的大小和頁框(頁幀,或者叫物理頁)的大小一樣,頁表項存的是實體地址的頁框號,還有一些標記位。

一般32位的系統,頁大小為4kb,4kb=2^12,這12位叫做頁內偏移。而實體地址總共32位,剩下的20位就是頁框號,標記位會有幾個,所以頁表項一般設定為4byte。一頁是4kb,一項是4byte,所以一頁總共有4k/4b=1024項。

頁面的大小,和每頁的大小是一個概念嗎在作業系統了

9樓:吃飯睡覺再吃飯

理解這樣一個概念,作業系統為了方便管理記憶體,將記憶體劃分成很若干個頁,每個頁表項就代表一個頁的地址(頁的地址,不是記憶體地址).4b大小的頁表項,意味著支援最大的頁表數是2的32次方=4294967296 (4b=32bit),一個頁的大小4k,那麼4b大小的頁表項,表示作業系統支援4294967296*4k = 16gb大的記憶體.

現在問題是頁表佔用一定的記憶體.

現在假設有2gb(一定要小於16gb)記憶體.

那麼它一共有2gb/4kb=512k個頁,也就是說頁表項有512k項,而每個頁表項的大小4b,那麼頁表在記憶體中佔用的大小是:512k*4b=2mb,意味著,只要2mb就可以表示512k個頁(每個頁是4kb,總記憶體大小是2g),它頁表本身佔用了2mb/4k=512個頁.

這一題 就是問你1個頁可以表示多少個頁表項,4kb/4b=1024個頁表項.頁面大小與頁表項沒有絕對的關係,但它們有這樣關係:

1.頁面大小 * 2 ^(頁表項大小)=作業系統最大支援記憶體大小(虛擬記憶體),本題是 4k * 2^(4b) = 16gb

2.頁表佔用記憶體 = 作業系統記憶體/頁面大小 * 頁表項大小,本題是,假設作業系統記憶體為2gb.2gb/4kb*4b = 2mb

3.頁表佔用的頁數是=頁表佔用記憶體/頁面大小,這題同上假設2mb/4k=512個頁.

一個頁表項有多大???

10樓:光幼荷步安

因為總共有2^20個頁,即用20位來定址,2^20=1m個頁面,一個頁表項佔1b,所有頁表項當然是1mb了。

11樓:

我的輔導書上有如下: 「以32bit邏輯地址空間,4kb頁面,4b頁表項為例」我想問下,這個「4b頁表項」是怎麼算出來的???但是,在教材p133, 同樣「「32bit邏輯地址空間,4kb頁面」,每個頁表項暫用1b,故每個程序僅僅其頁表就要佔用1mb的記憶體空間」怎麼會有兩種表示方法了????

問題1: 請教高手,這個頁表項是怎麼算出來的??我的理解是,一個頁表項該是根據該頁所放的頁面地址數來決定的!

比如如果一個頁表中對映2^20個頁面,相應每個頁表項應該佔據 20位即2.5b; 如果一個頁表中對映2^10個頁面,相應每個頁表項應該佔據 10位即1.25b。

這樣理解對嗎?但是如果是算出來的,怎麼同樣的邏輯地址空間,同樣的頁面大小會有不同的頁表項大小?? 如果不是算出來的,難道是認為規定的嗎?

問題2: 在多級頁表中,頁表是放在**啊?? 那麼多頁表是用什麼形式的邏輯結構或物理結構存放的?

是頁還是 什麼的???謝謝!!!

什麼是頁表項? 50

12樓:匿名使用者

以x86的機器為例,當允許paging的時候:

頁表分了兩級,32位地址被劃分為10,10,12cr3暫存器裝了第一級頁表(也叫頁目錄)的實體地址,這個地址一定是對齊到一個頁框的邊界的。這個對應的頁框將裝著第一級頁目錄,也就是說,頁目錄用掉了4kb,其中含有1024個頁目錄項,每個項佔4byte。這每個4byte就是你所要問的東西了。

每個項有20位是下一級的一個頁表的位置(為什麼是20位呢?因為intel設計的頁表是對其到4kb的邊界的,於是只要20位地址,再左移12位就得到了這個地址)。而另外的12位用於存放一些控制位,常見的有present,user, dirty, accessed,r/w等,具體的查intel的開發者手冊,上面講的很詳細。

頁表項和頁目錄項內容差不多,稍有區別。

為了定位一個虛擬地址(在x86裡應該是分段後的地址,叫線性地址),先拆出前10位,配合cr3找到相應的頁目錄項,然後得到了對應頁表的地址,在沒有錯誤的情況下再把線性地址的中間10位拿出來找到相應的頁表項,然後就讀出了20位(還沒左移12位,頁框肯定是對齊到4kb的邊界的)的這個線性地址對應的頁框,再加上12位就得到了實體地址。

13樓:匿名使用者

分頁轉換功能由駐留在記憶體中的表來描述,該表稱為頁表(page table),存放在實體地址空間中。頁表可看做簡單的220個實體地址陣列。線性到實體地址的對映功能可以簡單地看做進行陣列查詢。

線性地址的高20位構成這個陣列的索引值,用於選擇對應頁面的物理(基)地址。線性地址的低12位給出了頁面中的偏移量,加上頁面的基地址最終形成對應的實體地址。由於頁面基地址對齊在4k邊界上,因此頁面基地址的低12位肯定是0。

這意味著高20位的頁面基地址和12位偏移量連線組合在一起就能得到對應的實體地址。

頁表中每個頁表項的大小為32位。由於只需要其中的20位來存放頁面的物理基地址,因此剩下的12位可用於存放諸如頁面是否存在等的屬性資訊。如果線性地址索引的頁表項被標註為存在的,則表示該項有效,我們可以從中取得頁面的實體地址。

如果頁表項中資訊表明(說明、指明)頁不存在,那麼當訪問對應物理頁面時就會產生一個異常。

更加詳細請參考《作業系統》

封建與政權更替兩者之間是否有必然的聯絡

因為金融資產階級都是原來的封建官僚 早期資產階級革命時期,手工工場是資本主義經濟的主要生產方式,商業資本在資本主義經濟成分中占主導地位。當時手工工場一般都由商人開辦,並受商業資本控制。隨著手工工場的發展,商人的上層即大富商集團逐漸演變成為金融家,這就是金融資產階級,也稱為大資產階級。比如 英國海外 ...

分手和睡不著覺有必然的聯絡嗎

美聯達 怎麼跟我這麼像 我也是週五和女友分手的 而且還是她跑去找別的男人 我心裡更不是滋味!我也是這兩天一直都睡不著 心裡好像有東西壓住了一樣 呼吸都困難 所以你得找點事兒做,分心一下 大概兩三天你就開始能睡著了 稍微能放下了!至於到什麼時候徹底放下 我就不知道了!因為我也是第一次分手 我也是剛分手...

血型和性格有必然的聯絡嗎?不同血型的人有什麼性格特點

a型的人 崇尚完美主義者 有犧牲奉獻的精神,具協調性,積極服務別人。重視周遭氣氛,喜愛孤獨,易掩飾自己的真心,無法信任別人。善於照顧他人 個性老實的a型,其實是個老頑固。1 會確實遵守約定或規則。2 能辨別事情的好壞 條理分明。3 很善於察言觀色。4 很什窮操心且十分細心。5 無論如何也會努力達成目...