Dream_Reader 寫:哈哈! 寫得不好搞混了!
640K的限制初期是因為硬體的關係, 到AT時代大家就把他推到DOS的限制, 因為這時有很多的應用程式跟DOS內部的呼叫都被限制在640K了!
286以上cpu的1M回繞是透過Gate A20來做的, 而且是折回0(A20強制為零). 80386本身在real mode的定址能力是1M, 但是透過Flat Address可以定址到4G(需先進入proctected設定GDT再回到real mode), DPMI做的大概就是這個動作吧! 但是DOS本身還是在real mode執行(猜測的).
因為我從事的是硬體設計, 所以我會認為80386 Real Mode可以定址到4G, 不過對於在DOS下寫程式的人還是會有640K的限制, 不過此時就是相容性的限制了!
剛剛把手邊的一些老資料拿出來偷看了一下! 彌補一下失去的記憶
DR 大, EMM386 跟 QEMM386 下, DOS 是執行在 v86 模式, 當年為了這個, K 了好幾本保護模式的書, 苦的還是原文
等搬回家後, 再拿來出溫習一下好了. 確定一下啟動 QEMM386 後, DOS 應該是在 v86 下執行還是真實模式. 以我記憶而言, 進入保護模式而不用保護模式附帶的 v86 執行 DOS, 等於沒進保護模式一樣.