目錄
一、DOS系統
DOS(Disk System)磁盤操作系統,是由美國(微軟)公司在1979年為IBM-PC系列機開發的一個單用戶、單任務的16位字符界面操作系統,由于DOS系統是微軟公司為IBM的個人電腦開發的,稱為MS-DOS,因此后來其他公司生產的與MS-DOS兼容的操作系統也沿用了這個稱呼,如PC-DOS、DR-DOS等。它們在1985年到1995年及其后的一段時間內占據操作系統的統治地位,最著名和廣泛使用的DOS系統從1981年直到1995年的15年間微軟在推出Windows 95之后,宣布MS-DOS不再單獨發布新版本(最高版本是8.0),不過FreeDOS等與MS-DOS兼容的DOS則在繼續發展著。
DOS系統的功能
DOS系統采用層次型模塊結構,由一個引導程序(Boot.ini)和三個層次模塊:輸入/輸出管理程序模塊(IO.SYS)、文件管理模塊(MSDOS.SYS)、命令處理程序模塊()組成。
引導程序
引導程序Boot.ini是一個很小的程序,它被放在軟盤的0磁道1扇區或硬盤DOS主分區的首扇區上。
它的作用是檢查當前磁盤上是否有DOS系統。
如果有,則將輸入/輸出管理程序和磁盤文件管理程序載入內存;
如果沒有,則顯示錯誤信息。無論硬盤還是軟盤,都有引導程序,只要進行格式化后,引導程序就已經加載上去了。
輸入/輸出管理程序模塊
輸入/輸出管理程序(lO.SYS)常駐內存,主要負責與基本輸入/輸出設備進行通信,如顯示器、鍵盤和磁盤驅動器等。
此模塊在磁盤上是一個隱形文件,作為DOS系統盤的第一文件連續地駐留于磁盤數據區的起始部分。
文件管理模塊
文件管理模塊(MSDOS.SYS)是整個DOS系統的核心,它提供系統與用戶的高級接口。其任務是:
管理所有磁盤文件、磁盤空間分配及其他系統資源管理、負責操作系統與外模塊的聯系。此模塊也是一個隱形文件,在文件目錄中顯示不出來。
命令處理程序模塊
命令處理程序()是操作系統的最外層,直接與用戶打交道,作用是對用戶輸入的DOS命令進行解釋并執行。
DOS系統中的命令分為內部命令和外部命令。內部命令是比較常用的命令,全部包括在命令處理程序中,并且常駐內存。相對于內部命令,外部命令是比較不常用的命令,它們不常駐內存,只在需要執行時才讀入內存,執行之后就退出內存。
二、Windows系統
Windows采用了圖形化模式GUI,比起從前的DOS需要鍵入指令使用的方式更為人性化。隨著電腦硬件和軟件的不斷升級,微軟的Windows也在不斷升級,從架構的16位、32位再到64位,甚至128位,系統版本從最初的Windows 1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10(預覽版)和 Windows Server服務器企業級操作系統,不斷持續更新,微軟一直在致力于Windows操作系統的開發和完善。
三、兩者的聯系
首先,微軟公司先開發出的DOS系統,而后在DOS系統上開發出了一個圖形界面 Windows 1.0 ,它帶了畫圖、記事本等程序。DOS 上的這些圖形界面程序當然也是16位的,并一直發展到 Windows 3.1 (不過Windows 3.1對應的中文版的版本號是3.2)。
接下來就是劃時代的 Windows 95,這個系統下它不是直接運行在 DOS 上,而是在 DOS 啟動的時候直接跳到一個 Windows 圖形界面。 Windows 95 上的程序是32位的,不過操作系統的核心還是 DOS 下的那一套,只是圖形方面是32位的。這個時候的 Windows 還是可以運行16位下的 DOS 程序。Windows 95、 Windows 98 再接下來是 Windows ME ,這就是32位的仍然沒有擺脫 DOS 的三個Windows 版本。
接下來就是 Windows NT 3.5,Windows NT 4.0,Windows 2000,Windows XP/Windows 2003 開始的這一代了,也包括 Windows 7 ,Windows 8 等,我們叫做 NT 內核的 Windows 。它的核心就完全是32位的,跟從前匯編編寫的代碼庫完全告別了。這個時候操作系統從16位模式跳到32位的保護模式,除此之外不再真正有16位的代碼,所以這個時候就沒有運行 DOS 程序的條件了。
總的來說,早期的 Windows 就是 DOS 上的一個應用程序,并非真正的操作系統。中期的 Windows 和 DOS 共享了一些代碼。在 Windows XP 中已經完全告別了 DOS ,只能靠模擬來運行這些DOS程序。 Windows 8 在第一次運行 DOS 程序的時候會提示安裝 NTVDM 。這個 NTVDM 就是 NT 內核 Windows 運行 DOS 程序的關鍵,它用來模擬 DOS 程序運行時所依賴的環境。不過以上這些都是說的32位 Windows ,在64位 Windows 中本身也沒有 NTVDM 功能,所有也就運行不了 DOS 程序了。DOS 上帶有一系列的命令,早期和中期的 Windows 都可以執行這些 DOS 命令。到了 Windows NT ,這些命令的使用方式沒有變,于是就沿用了執行 DOS 命令這個說法。而實際上在 Windows NT 中使用這些命令時都只是在使用一個叫 cmd.exe 的命令行輔助工具,跟 DOS 不再有什么關系了。