※ 引述《ikjhyu (還沒想到)》之銘言:
: 請問各位高手...
: 小弟不太清楚現在的windows系統究竟跟dos有沒有什麼關連...
: 早期的windows系統(如windows3.1)聽說是架構在dos上的
: 個人對這句話的理解是, windows3.1應該是類似一種dos下的套裝應用程式
: 如lotus,PE2之類的,當然windows3.1的複雜度比較高一點
大致上正確. 不過我會認為用DOS 4/5的DOSSHELL程序, 及Norton Utilites
for DOS 6/7/8的BE(Batch Enhanced)作比較會比較合適.
Windows 3.1是DOS的功能的Extender吧.
: 架構在 dos之上意指 開機時會載入dos作業系統的核心(所以是使用dos的作業系統)
: 然後載入windows3.1系統 , 然後再輔助user去使用其他的套裝軟體或功能
正確. 不過當時Windows的最重要意義還是多工工作環境
(cooperative multitasking)和圖形使用者介面(GUI)吧.
: 而到了windows95之後乃至現在的XP,據說是可以算是一個真正的OS了
: 不知道這個是要怎麼解釋或者理解..?
Win3.1時代的infrastructure/API function多是建基於MSDOS.SYS
中的INT 21H(DOS function)中斷服務.
Win95開始Windows內建的VXD已經可以處理主要功能, 不須要依賴
INT 21H. 同時很多INT 21H的中斷服務(由其是AH=80H以上的)都被
導向到Windows的VXD了.
: 另外,好像常看到一個名詞:
: "instance" 實體, 請問實體的意思是不是
: 假如工作列上開了n個word視窗,就是執行了同一個程式(MS word) n次
: 每個視窗都叫做一個instance ?
: 或者說這種同一個程式開多個視窗執行的功能 叫做"多執行緒"?
不是.
PE格式的程式執行時會需要進行Register Class的動作. 完成之後的
狀態會被稱為產生了一個instance(在Win3.1時重複執行程式的話,
reg. class時會返回上一次reg. class時的hInstance值哦). 請
留意這裡不論class和instance的定義都和平常學OO時說的不同.
不要攪混了.
之後就可以進行Create Window的動作. 一個程式在系統資源容許下可以
產上任意數量的window(留意任何window control如textbox, button,
combobox, listbox等都是window). 每一個非child的window背後都
會有一個winproc(可以說也就是一個process)去處理message.
不過不是每一個process都有window的. Windows service中的process
就是一個明顯的例子.
大致上就是這樣, 不過真的要說清楚的話是會很長的. 自己找書看吧.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.77.145.43