windows是一個大型的系統軟件,分成很多個部分,由很多名程序員分別完成的。每個程序員可能都有自己擅長的一種編程語言,各自使用自己擅長的語言(可能是c、c++、vb…………)編寫程序完成自己所負責的那部分程序功能,然后再編譯,組合成最后的windows操作系統軟件。整個過程類似工廠里面生產大型設備,各自完成不同部件之后再組裝。
根據幾年前微軟在美國公布的內容,windows本身屬于微內核系統,windows98總共大概不到10萬行代碼(具體是2萬還是5萬記不清了),而windows2000則已經有20余萬行代碼,其中80%是用c++編寫,其余部分有c和匯編,底層接口用匯編編寫。
微內核系統從概念上是指“只包括操作系統的基本功能,例如內存管理和進程管理等等”,就連對各個文件系統的支持也不算在內,不過具體windows是不是這樣設計我就不清楚了。
所以一個微內核系統的操作系統能夠有20萬行代碼已經很多了。
之所以微軟選擇了c++而不想linux一樣選擇c,其根本原因就是windows操作系統本身是微內核系統,所以擴展性及以后的維護要求非常重要,所以c++的類的概念就能在這里很好的利用,但是畢竟c++的效率不如標準c及匯編,所以在一些明顯以效率為重的地方用的還是標準c及匯編。
編寫完畢后,windows上的其他用戶態程序(包括所有驅動程序、計算器、游戲等等所有你現在拿鼠標能夠操作的東西)另行開發,例如:掃雷游戲就是用vb寫的。