一個Windows 系統究竟有多複雜?
Microsoft Windows問世於1985年,起初僅僅是Microsoft-DOS模擬環境,後續的系統版本由於微軟不斷的更新升級,不但易用,也慢慢的成為家家戶戶人們最喜愛的作業系統。
下面我們從程式碼行數、開發難度,參與人員的數量,開發的時間長度等角度來說說,一個windows系統有多複雜。
- Windows XP 大約40,000,000行程式碼。
- Windows Vista 大約50,000,000行程式碼。
- Windows 7 大約50,000,000行程式碼。
Windows 7開發的時候有23個小組,每個小組約40人,也就是將近1000人。這僅僅是Windows團隊的人數,其餘為其做出貢獻的更是數不勝數。
這23個團隊是:
- Applets and Gadgets (小程式和邊欄應用)
- Assistance and Support Technologies (協助和支援技術)
- Core User Experience (核心使用者體驗)
- Customer Engineering and Telemetry (使用者工程和遙測)
- Deployment and Component Platform? (部署和元件平臺)
- Desktop Graphics (桌面圖形)
- Devices and Media (裝置和媒體)
- Devices and Storage (裝置和儲存)
- Documents and Printing (文件和列印)
- Engineering System and Tools (工程系統和工具)
- File System (檔案系統)
- Find and Organize (查詢與組織)
- Fundamentals (基礎)
- Internet Explorer (包括IE8 down-level)
- International (國際化)
- Kernel & VM (核心與虛擬機器)
- Media Center (媒體中心)
- Networking – Core (網路 – 核心)
- Networking – Enterprise (網路 – 企業)
- Networking – Wireless (網路 – 無線)
- Security (安全)
- User Interface Platform (使用者介面平臺)
- Windows App Platform (Windows 應用平臺)
Windows Vista 程式碼行數約5000萬行,算上修正掉的程式碼估計超過一億行。內部版本超過上千個。。。每個版本都有所測試。。。為其做出貢獻的正式工合約工臨時工超過數萬人。大概的工程量可能和胡夫金字塔相當。
按照Word標準A4紙預設列印+Consolas字型+預設字號,每頁A4紙可以列印44行程式碼。考慮到折行問題(假設有30%的程式碼行數在A4紙上一行列印不完),1.3*5000w=6500w行程式碼。大概需要148萬張A4紙才能列印完。每張A4紙長29.7釐米,算起來大概是4440w釐米,也就是44w米,440公里,這還不算上各種修正掉的程式碼和之後的補丁。
這是2015年5月5日的Windows 8.1 Pro + VS後的Windows資料夾大小:
導航到Windows資料夾,右鍵,屬性。
看到那個數字一直往上走,就算是完全的外行也已經是超級震撼了。
服務列表
登錄檔
這還沒有全部展開,但看那個滑塊……
十年發展,XP當年裝一下幾個G搞定,現在Win8程式碼量已經上億。然而,經歷了這麼多個版本的迭代,十年前的軟體一個位元組不改,放到十年後的系統一樣能完美執行。開發人員的嘔心瀝血,看不見的複雜度,恕我無法用語言描述。這是Windows給我最大的震撼。
相關文章
- 技術人員該如何接手一個複雜的系統?
- AsyncTask 處理複雜多個任務。
- 複雜性系統是一種心智介面 – Charles
- 關於系統複雜性的一句箴言箴言
- 系統困境與軟體複雜度,為什麼我們的系統會如此複雜複雜度
- 一個複雜的json例子JSON
- 操作複雜的CRM系統如何使用
- 複雜性系統設計:福特CEO談特斯拉的三個特點
- 外觀模式-簡化子系統的複雜性模式
- 分散式系統:常見陷阱和複雜性分散式
- 與複雜性系統共舞:如何培養系統思考與系統思維? - Donella
- iOS 實現多個可變 cell 複雜介面的製作iOS
- 精讀《維護好一個複雜專案》
- 探討一個比較複雜的查詢
- [golang]一個複雜的中文編碼問題Golang
- 好奇: windows10+都可以執行多個linux子系統了,為什麼不支援執行多個windows子系統呢?WindowsLinux
- 複雜性自適應系統無法建模分析
- 開發複雜業務系統,有哪些設計思路
- 複雜混亂系統的三種應對方式
- 針對複雜系統的雙環模型之指南模型
- 複雜性系統的戰略分析要點 -Dave
- 達達CTO談眾包物流系統的複雜性
- 如何搭建一個功能複雜的前端配置化框架(一)前端框架
- Windows 一個網路卡配多個IPWindows
- windows 系統下 workerman 在同一個執行視窗中開啟多個 websocket 服務WindowsWeb
- 公司系統介面上千個多又雜,這類系統怎麼做介面測試呢?
- 碼農節快樂|一個系統,高效解決複雜事件採集-計算-實時觸達事件
- 郵件開發:複雜郵件的一個示例
- 如何用 Swift 做一個複雜的載入動畫Swift動畫
- 使用橋接模式設計複雜的訊息系統橋接模式
- 聊天系統很複雜?前端工程師也能完成!前端工程師
- 資料保護管理:清晰呈現複雜系統(轉)
- 寫一個每秒接收 100 萬資料包的程式究竟有多難?
- 第一講 複雜度分析複雜度
- 製作一個複雜通用的圖片上傳介面
- [譯] Font-size:一個意外複雜的 CSS 屬性CSS
- 寫一個 iOS 複雜表單的正確姿勢iOS
- IPTV系統一個後臺可以有多個apk介面嗎?APK