作者TKyo (暗黑貴公子)
看板ASM
標題Re: [問題] 想請問各位大大有關寫作業系統@@>
時間Tue Feb 24 03:26:02 2009
※ 引述《zlw (洞房不敗)》之銘言:
: XP 是保護模式,好像頂多透過 V86 模式可以像 debug.exe 一樣稍微跑一下?
保護模式一旦回到真實模式, 想再回去保護模式
GDT/IDT/TSS...等等表格要重新載入, 這...幾乎等於重新載入 OS = ="
況且重點是它無法被多工, 也就是說你無法同時使用多個真實模式
至於 VM 軟體, 那就是 Emulator ...之類程式的範疇了
而 V86 Mode 是保護模式中的一種 Mode, 它可以被允許同時存在多個
且擁有個別真實模式的記憶體空間
底下是大約方法, 我就不細說原理了
Real Mode -> Set and Load GDT Table (GDT 表必要, TSS/IDT 表則不一定)
-> Set Cr0 bit 0 and jump -> Protect Mode
Protect Mode -> Clear Cr0 bit 0 and jump -> Real Mode
Real Mode -> Set and Load GDT/TSS/IDT Table (GDT/TSS/IDT 表必要)
-> Set Cr0 bit 0 and ltr TSS Table -> V86 Mode
Protect Mode -> ltr TSS Table
(IDT/TSS Table 在進入 Protect Mode 前必須先行被建立)
-> V86 Mode
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.168.73
1F:推 zlw:謝謝,V86真的蠻複雜的,比保護模式難理解 02/24 14:22
2F:推 suhorng:重點是保護模式要回到真實模式唯一的辦法就是重開機吧... 02/24 18:53
3F:推 wowtiger:沒有吧 只要不改到 segment/select 就沒事了 02/25 01:20
4F:→ wowtiger:不過我說的是 Real->Protect->Real 這樣子 02/25 01:21
5F:推 ggg12345:286進protection mode後只能用reset才能clear cr0,但 386 02/25 04:46
6F:→ ggg12345:改掉286必須用TimerRAM,A20與reset的限制.386另外加入v86 02/25 04:51
7F:→ ggg12345:虛擬機以支援window/protection下的DOS prompt(8086) 02/25 04:57