Re: [問題] dos為何要有記憶體配置的中斷指令?

看板Programming作者時間17年前 (2007/04/17 10:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串24/24 (看更多)
> ==>發信人: sniffer@kkcity.com.tw ( ), 信區: programming > > R86(8086) 程式是在 Virtual-86 支援下執行的, 這時可以有好幾個 DOS prompt > > 出現且可同時執行 8086 程式也可透過 INT 呼叫 原來 DOS 的 system call 或 > > 其他 8086 程式(如 TSR), 但這時的 DOS OS 已完全被 Win9X 代替, 這時候多個 > 並沒有代替, 只要是 win9x 都是用類似 fork() 的方式複製 DOS 分身 是否全代替, 需區分要使用的 R86(8086)程式是否綁定 DOS. 這可以用 mem 這個程式看出讓出來的 640KB 空間及 DOS 位址. DOS 可以被代替 的是 Win32 的 file System 及 支援程式. 在 Win3.x 或 win9x 下調出 DOS prompt , 通常就是要執行 R86(8086) 模式的程式, 而 R86 程式是透過 8086 的 int trap 調用 R86 形式的 DOS 或 TSR , 但此時因已不再使用 Real Mode, 系統是在 VM386 及 V86 模擬下 , 8086 形式的中斷指令因此會被 386 硬體攔下, 再由後續程式依 int 或 system call 代碼, 對應事先設定的支援模組是 Win32 還是 16bit 的形式, 決定是否切換. 如果設定支援的是 Win32 File System 就不是調用 8086 形式的 DOS 而是調用 Win32 的 Win 來支援, 若是調用 8086 TSR 程式, 則是由 VM386 下換回在 16bit 的 V86 模式下執行 TSR. doskey 是 TSR , 在開機的 real mode 下, 開機 dos 安裝的其他來源 的 driver 也是 TSR . 這是假設這些 R86 程式就是 V86 DOS prompt 要使 用的環境, 因此會複製一份這個 Virtual Machine 過來. fork 只複製 parent process 成為 child process , 至於是否複製 INT table 及隨 table 而來的 TSR I/O Driver , process 的定義應該沒有那麼大的涵蓋範圍. V86 明確的是 Virtual Machine 8086 , DOS prompt 是其 virtual console , 她有其自備的 I/O (雖然是 Virtual I/O, 但也可以使之對應至 特定 16bit real mode I/O 執行). Win 透過 DOS 開機, DOS 也有 mem 這個程式協助顯示可用的 8086 程式 空間, 其主要目的是配置 8086 TSR 之用. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234
文章代碼(AID): #1692fU00 (Programming)
討論串 (同標題文章)
完整討論串 (本文為第 24 之 24 篇):
文章代碼(AID): #1692fU00 (Programming)