對於Win3.1/95/98 是否DOS核心, 16 or 32位元作業系統, 是觀點
問題, 不是錯誤認知, 我舉你所講的39頁作者的講法:
1. 以此觀點而言,Windows 本身(我指的是 KERNEL、USER、GDI 模組,而非
作業系統本身)就是一個 16 位元 extended DOS 應用程式。
2. Windows 3.1 其實是個 32 位元作業系統,執行 16 位元應用程式、MS-DOS 應用程式、extented DOS 應用程式。
3. Windows 3.1 應用程式使用 16 位元 API 來和視窗系統打交道,並使用軟體中斷來和
MS-DOS 以及 BIOS 打交道。事實上,16 位元 Windows 程式用了許多和傳統 MS-DOS
程式所用相同的 runtime library。管理 Windows 3.1 應用程式的那個 32 位元作業系統,主要作用是接收保護模式所發生的軟體中斷,妥善地將它們轉到真實模式的 MS-DOS
和 BIOS 去。
4. 在 Windows 3.1 上進行所謂的系統程式設計,意味著和 MS-DOS 驅動程式、常駐程式
(TSR)、以及 DPMI(DOS Protected Mode Interface)打交道。
5. Windows 3.1 存在許多問題。最可惱的大概就是 Windows 程式必須週期性地將控制權釋回給視窗系統,以便完成所謂的「合作型多工」(cooperative multitasking)。
選擇合作型多工(cooperative multitasking)並非所願, 主要還是前面說的, DOS核心
底下沒有辦法知道其他程式在做什麼, 所以這基本上是單工系統折衷的方法.