瀏覽單個文章
godel_chen
*停權中*
 
godel_chen的大頭照
 

加入日期: Aug 2005
您的住址: Taipei
文章: 46
引用:
作者foxtm
所謂的DOS核心基本上是錯誤的認知
可參考這份文件 (http://jjhou.boolan.com/system-prog...r-windows95.pdf)39頁開始的地方
畢竟在win95/98的時候,還是有太多真實模式 (http://zh.wikipedia.org/wiki/X86#.E....A8.A1.E5.BC.8F)的程式遺毒.
win95/98的穩定問題,其實並非單純的16/32位元所造成的.
而是當時大環境的折衷問題


對於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核心
底下沒有辦法知道其他程式在做什麼, 所以這基本上是單工系統折衷的方法.
舊 2011-11-04, 02:09 PM #135
回應時引用此文章
godel_chen離線中