2013-10-29 101 views

回答

0

16位CPU只能處理64kB的內存。爲了擴展內存範圍,引入了片段,這些片段基本上定義了pchyscak可用內存中64KB窗口的基址。

爲了得到這樣一個指針指向的pyhscial地址,你必須將段值乘以10h(16)並添加偏移地址。即。如果您有類似地址

145A:67B1 

145A0 (+10h or << 4) 
+ 67B1 
------ 
1AD51 <- Physical memory address 

受保護的模式描述符與此段相似,但具有附加信息。 它的長度可以增加1-64KB(x286),以及關於prvilige級別和存在的信息。特權級別用於使操作系統與用戶空間更加安全和獨立,存在標誌用於虛擬內存。

在386上,範圍被擴展了,所以一個段現在可以高達1MB,並且添加了一個粒度,這樣一個段現在是4096塊的倍數,因此將段大小擴展到4GB。

描述符中的另一個屬性是將段設置爲16位或32位模式,以便16個代碼仍可以工作。