---------------------現在windows下的命令提示符只是一個軟體,操作方式和界面模擬dos操作系統 ...
作者:bombless
因為不同的系統都叫 Windows ,這些系統在界面上也有一定連續性並且因此可能造成誤解,所以有必要稍微梳理一下幾個不同的 Windows 系統。首先是 DOS 上的一個圖形界面 Windows 1.0 ,它帶了畫圖、記事本等程式。 DOS 上的這些圖形界面程式當然也是16位的,並一直發展到 Windows 3.1 (不過Windows 3.1對應的中文版的版本號是3.2)。 在這個時候因為 DOS 總是作為 Windows 的基礎運行的,在運行Windows 的時候當然可以回到 DOS 下運行 DOS 命令。 接下來就是劃時代的 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程式。 不過,舊的DOS程式在 Windows XP 上還是可以照常運行,雖然有些比較依賴硬體的程式會運行不正常(不過這些程式反正換了一套硬體就很有可能運行不正常了), Windows 8 在第一次運行 DOS 程式的時候會提示安裝 NTVDM 。 這個 NTVDM 就是 NT 內核 Windows 運行 DOS 程式的關鍵,它用來模擬 DOS 程式運行時所依賴的環境。 不過以上這些都是說的32位 Windows ,在64位 Windows 中本身也沒有 NTVDM 功能,所有也就運行不了 DOS 程式了。
不過最後還剩一個問題,在 Windows NT 中執行 DOS 命令到底是什麼意思? DOS 上帶有一系列的命令,早期和中期的 Windows 都可以執行這些 DOS 命令。到了 Windows NT ,這些命令的使用方式沒有變,於是就沿用了執行 DOS 命令這個說法。而實際上在 Windows NT 中使用這些命令時都只是在使用一個叫 cmd.exe 的命令行輔助工具,跟 DOS 不再有什麼關係了。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
現在windows下的命令提示符只是一個軟體,操作方式和界面模擬dos操作系統
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
轉自http://www.zhihu.com/question/24744565