頁表佔多少位元組怎麼算
Ⅰ 在頁式存儲管理方案中,若一個進程的虛擬地址空間為2GB,頁面大小為4KB,當用4位元組表示物理頁號時,頁表需
進程空間是 2G
頁面是是4KB
則要2G/4KB = 512K 個頁
也就是說內存要分成512K個頁
頁表就是存儲這些個頁號即0 ~ 512K - 1,512K = 2的31次方
4位元組表示一個頁號,一共有512K個頁,那麼就要512K * 4 = 2MB (這里還要考慮的是4位元組是否可以表示一個頁號,4位元組可表示範圍是0 ~ 4G - 1,題目是可以的)
也就是頁表佔2M,佔多少個頁呢?2M / 4K = 512 個頁。
這是一級頁表的求法,其實很簡單的,
你要注意兩點:
第一點,頁表是用來表示劃分後的頁號,它也占內存空間;
第二點:用多少位元組來表示一個頁號的問題,其實上面的512K只要31個位就能表示0 ~ 512K - 1的。
Ⅱ 用戶地址空間為2G,頁面大小為4KB,若用4個位元組表示一頁的物理頁號,則頁表本身佔2MB,既需要512個頁面存
G/4KB = 512K 個頁
也就是說內存要分成512K個頁
頁表就是存儲這些個頁號即0 ~ 512K - 1,512K = 2的31次方
4位元組表示一個頁號,一共有512K個頁,那麼就要512K * 4 = 2MB (這里還要考慮的是4位元組是否可以表示一個頁號,4位元組可表示範圍是0 ~ 4G - 1,題目是可以的)
也就是頁表佔2M,佔多少個頁呢?2M / 4K = 512 個頁。
這是一級頁表的求法,其實很簡單的,
你要注意兩點:
第一點,頁表是用來表示劃分後的頁號,它也占內存空間;
第二點:用多少位元組來表示一個頁號的問題,其實上面的512K只要31個位就能表示0 ~ 512K - 1的。
Ⅲ 頁表計算問題
dd
Ⅳ 1KB頁表為什麼用10個二進制位表示,1位元組不是8位嗎,為什麼不乘8
朋友,你這個問題問的就是一團亂啊,首先採用十進制是為了迎合人的思維習慣,所以面向人的高級語言存儲單位都是十進制的。
其次,位元組之間的換算從來都不是乘以而是次方的計算方式,都是2的幾次方幾次方的。
因為計算機本質上是0和1兩種狀態來表示一切的數據,因此計算機的換算都是2的次方的方式。
最後說下這些單位之間的換算:
1個二進制位=1位,也就是一個二進制位表示一個0或者1;
8位二進制位=1位元組,也就是8個0或1表示1B;
1024B=1KB,也就是1024B表示1KB;
1024KB=1MB,也就是1024KB表示1MB;
1024MB=1GB,也就是1024兆表示1G;
1024GB=1TB,這里的G和T也就是我們經常買電腦時候說的內存多少G或1個T。
最後補充一點,上面說的都是計算機的規定的換算方式,但是實際生活中,我們所說的換算單位有時候是1000,是為了方便交流省略了零頭。
Ⅳ 一個頁表項有多大
(1)32bit地址空間,可定址的地址為4G,如果按位元組定址,可定址的內存大小為4GB。每個頁面4KB,那麼按頁面定址,則需要4GB/4KB=2^20個地址(頁面個數),即用20位來定址。頁表項=頁面數=20位。頁表項應該是1M個,而不是4B。每個頁表項如果是1B,則用內存空間是1MB。教材上是對的,你的參照書錯了。頁表項一般不為一位元組,在WINDOWS系統中,按4KB分頁。頁表是4KB大小,放入一個物理頁面中。頁表項是32位,有1024個頁表項,前20位表示對應的物理頁面,後12放各種標志位。(2)多級頁表和一級頁表是一樣的,是不過是用遞歸來實現地址的不斷劃分。多級頁表中的頁表都是存在內存中。如果是內存分頁系統,一般是存在內存的一個物理頁中。從頁表寄存器中得到一級頁表的物理地址,再根據地址格式,從一級頁表的物理地址中讀出數據所在的二級頁表的的地址,依此遞推,直到取出最後級頁表,讀出數據所在內存中的頁面,再加上地址格式中的偏移量,就得出了真正的物理地址。
希望對你有所幫助。
查看原帖>>
Ⅵ 如邏輯地址32位,頁面大小4KB,則頁表項為多少為什麼
32的邏輯地址,分成兩部分。前部分是代表虛擬的頁號,後部分代表的是虛擬頁偏移量,如果頁面是4KB的話,那麼這個後部分虛擬頁偏移量佔了12位,那麼前面就是32-12=20位。這20位就是頁表中所有的頁表項的和。就是2的20次方,也就是1M個頁表項,如果每個頁表項佔4B的話。那麼這個頁表就佔了4MB的空間。一般都會有兩級甚至更多的。用來減少頁表占的空間。。。。。
Ⅶ 操作系統 頁表長度的計算
將頁表始址與頁號和頁表項長度的乘積相加,便得到該表項在頁表中的位置。
於是可從中得到該頁的物理塊號,將之裝入物理地址寄存器中。
列出式子出來:頁表始址+頁號x頁表項長度。
首先內存被劃分成若干個和頁面大小相等的片,每個頁表項代表一個頁面的地址,一般很小。
假設內存大小是2GB,頁面大小(物理塊)是4KB,頁表項長度是4B,則整個內存可以被劃分成2GB/4KB=512K個頁面。
頁表的長度=頁表項的長度x頁面的個數=4Bx512K=2M。
內存中用2M的大小來存放頁表,實際上是取了每一個頁號對應的頁面的起始地址,或許還有對應的物理塊號(應該有),TLB就是用來存放當前訪問的那些頁表項的。
(7)頁表佔多少位元組怎麼算擴展閱讀:
操作系統頁表長度作用:
實現從頁號到物理塊號的地址映射。
邏輯地址轉換成物理地址的過程是:用頁號p去檢索頁表,從頁表中得到該頁的物理塊號,把它裝入物理地址寄存器中。同時,將頁內地址d直接送入物理地址寄存器的塊內地址欄位中。
這樣,物理地址寄存器中的內容就是由二者拼接成的實際訪問內存的地址,從而完成了從邏輯地址到物理地址的轉換。
Ⅷ 關於計算機操作系統頁表項大小的疑問
操作系統中的分頁存儲管理系統的實現需要頁表。
首先,頁表存放在內存中
其次,頁表中記錄了頁號(程序在內存中被分成好多頁)和其對應的物理內存的塊號,等等
最後,一個頁號及其對應的塊號等等就被稱為一個頁表項,他們在內存的占據的比特位數或者字數就稱為頁表項大小。
可能你又會問幹嘛知道頁表項大小,這就要結合用戶程序的相對地址轉化絕對地址來理解了