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

看板Programming作者時間18年前 (2007/04/12 11:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串16/24 (看更多)
※ 引述《dolphinus.bbs@ptt.cc (鬼扯英吉GTB)》之銘言: > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > : DOS 7.0 跟 win95 已經是同一種版本了, 從 win3.1 之後開了多個視窗 > : 同時跑(至少是交錯地跑), 要算那一種系統 ? > PCDOS 7.0 基本上是 MSDOS 6.0 base 的東西, 跟 MSDOS 7.0 > 兩碼子事, 而且 Win31 下可以協調式多工跟 DOS kernel 是 > 沒有關係的. win9x 的 DOS 也還是純 DOS, 只是有 fat32, 並且留後門讓 win32 共存 protected mode 是 HIMEM.SYS 提供的 VCPI, 所以舊的程式可以當它是老 DOS 沒有 HIMEM.SYS 它就呆在 real mode 後門 1: win9x filesystem 是用 DOS 的 filesystem 避免 win32 跟 dos 程式檔案存取衝突 還可以用 DOS driver 後門 2: VM86 中所有的 DOS INT xx 都會被 win32 重導到 DOS, DOS 的 system 區跟 user 區是特地分開讓 win32 可以在不同 DOSVM 各自有各自的 data, 但是又不用每個 VM 重跑 DOS 開機流程, 像 fork() 在 linux dosemu 則是開一個完整的 VM, BIOS 對映到 syscall 讓 freedos 開機 NT,2000,XP 沒有 DOS, 單純從 int21 對應到 win32 api, 所以相容差 > : DOS 過了 286 protection Mode 的時代進入 VM386, 只要是用了 MMU 功 > : 能且使用1MB 以上高位址記憶體執行程式, 就進入 win32 . > : 使用了 protection mode 執行程式(不是只拿 1MB 之後當 ram disk 用, > : 再用 pseudo reset 切回 real mode 跑程式), 不想用多工都不行, 那個 > : VM386 mode 是硬體多工. > 實際上, 只有 VM86, 沒有 VM386 這個模式存在. DOS 有 malloc 最重要的就是讓 application 知道那些 RAM 可以用 不同系統設定下, DOS 自己佔的 memory 也不一樣, application 如果沒有 malloc 怎知那一塊 RAM 不能碰, 就算沒有別隻程式也一樣 EXE 檔還有 overlay(swap) 更是需要記憶體管理 OS 最重要的就是 hardware abstraction, unix 就是為了 game porting 而生 UI, multitask 不過是 hardware abstraction 的表達方式 所以像 vista 這種 application 不相容的東西只能當 screensaver -- ┌─────KKCITY─────┐─┐KKADSL六星級優質連線服務 bbs.kkcity.com.tw └─ 馬上申請帶你上網環遊全世界! └──From:59.120.53.7 ──┘ KKADSL http://adsl.kkcity.com.tw --
文章代碼(AID): #167X5m00 (Programming)
討論串 (同標題文章)
完整討論串 (本文為第 16 之 24 篇):
文章代碼(AID): #167X5m00 (Programming)