windows為每個分配程序的4GB虛擬位址怎麼理解?

時間 2021-06-27 13:20:13

1樓:亂碼君

32位作業系統是為32位CPU設計的作業系統啊,所以軟體受制硬體,為什麼32位的作業系統的指標長度4個位元組?就是因為CPU是32位,所以這麼設計。如果是64位的作業系統,那就直接裝不上32位CPU。

但如果你在64位CPU上裝32位作業系統,那最終還是受作業系統限制,只有4GB虛擬記憶體。

另外這題裡的描述還有坑,就比如這個CPU,是什麼CPU?是CPU內部的乙個執行單元,還是整合了MMU的整個CPU?

整個CPU,它的位址匯流排跟虛擬位址沒有半毛錢關係,是直接連的物理記憶體,而事實上32位的CPU的匯流排基本上能有36根,所以32位的伺服器也能用64個G的物理記憶體條,但家庭版的32位作業系統又把那多出來4根匯流排遮蔽了,結果就是最後32位機器還是只能用4個G的物理記憶體。

而虛擬位址只和CPU內部的執行單元有關係,CPU的內部執行單元確實是32個腳,管虛擬位址,虛擬位址從執行單元出來以後直接到MMU轉成實體地址了,而MMU現在都是整合在CPU內部了。

所以第2點其實我是覺得不怎麼準確。

感覺概念上這篇回答講得還是不太清晰有混淆之處,重答部分內容。

CPU外部的位址匯流排的腳可以要多少有多少,因為連的是物理記憶體,不嫌多。而CPU內部執行單元的位址線上的腳有32根,的確這內部的32根限制了虛擬位址的大小。與此同時,32位作業系統裡的指標也確實是4位元組,但之所以是4位元組的設計根本上不是因為位址線有32位,而是因為資料線有32位。

說到底,32位的CPU的意思就是指CPU的資料匯流排有32位,所以CPU與記憶體交換資料時,以及暫存器寄存時,每次的資料交流都是一次4位元組,這是CPU字長的根本含義。而對於CPU而言,指標位址無疑是極其重要的資料之一,不太可能存每次傳遞位址還要傳輸兩次資料。所以最大的32位字長就限制了虛擬位址的最大大小。

至於CPU內部單元位址線引腳數量,還有作業系統的指標位元組數,都是基於資料線的字長限制設計的。當然若說4GB虛擬位址的直接原因還是作業系統,畢竟哪怕64位機裝了32位系統還是只能有4GB虛擬位址。

大學生的生活費該怎樣分配,每個月生活費多少合適?

仙女 伙食費 5 15 10 30 30 900零食水果150 話費日用品100 聚餐150 200 女孩子衣服化妝品平均乙個月200 這樣算下來1500左右正合適 齊仙西施 主要看你學校的伙食貴不貴。就拿我們學校的打個比方吧,早餐6元,中午12,晚上下晚自習去有一家店子10元菜隨便吃一天28左右,...

如果把全世界的錢 資源平均分配,每個人能分到多少?生活水平會怎麼樣?

按照2017年資料,14萬人民幣。一套房子都要幾百萬,地球這麼貧瘠,地球經濟根本無法支撐每個人期待的生活,和心中的夢想。這也就不難理解為什麼世界上那麼多剝削,壓迫,不難理解為什麼人明明總是活得痛苦,都還要經受這麼多苦難。2017,世界總資產 US 351.5 trillion,世界總負債 US 18...

把「熱鬧」的每個字換成其反義詞就成了「冷靜」,為什麼「熱鬧」的反義詞就不是「冷靜」?

清靜q ng j ng 寧靜不煩擾。老子 第四十五章 躁勝寒,靜勝熱,清靜為天下正。近平靜反煩擾 煩囂 2.4.吵雜 2.喧囂,熱鬧,嘈雜 安靜不吵雜。文選 王襃 洞簫賦 惟詳察其素體兮,宜清靜而弗諠。反煩擾 煩囂 2.4.吵雜 2.喧囂,熱鬧,嘈雜 天氣明朗。史記 卷一二八 褚少孫補龜策傳 新雨已...