歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 程序員看Linux和windows的對比

程序員看Linux和windows的對比

日期:2017/3/2 16:40:52   编辑:Linux服務器

本人在Unix SYS5,DOS,Windows3.x,windows9.x/NT 和Linux幾個不同時期流行的OS上寫過程序.在Linux和windows的對比中,我主要是從一個程序員的角度來看的。

  一 系統架構的對比

  1 內核

  (1) 內核的彈性

  Linux的內核表現出了高度的可配置性和獨立性,主要是完成:IO驅動設備管理,TCP/IP,以及任務調度.Linux的標准內核發布版本有40~50MB,而我現在在一些評估板上試驗的嵌入式Linux系統(使用Arm或M68K系列的CPU)只用到了2MB,同樣實現了網絡功能和完整的任務調度,這使得Linux可以適用於從高端服務器到嵌入式應用的各個等級的計算平台上,與之相比,windows 沒有明確的內核概念.windows只適合台式機,NT從未真正的打入高端服務器,WinCE也遇到了一些結構性的困難.

  (2) 內核的任務管理

  衡量一個內核的重要指標是多任務環境下的安全性和任務調度的效率.

  Linux在這方面繼承了Unix的優點.而win9.x(包括winme)從來就沒有實現過安全的多任務環境,NT/2K 勉強做到了安全性,但是效率還是不敢恭維,我曾今將一個多串口並發驅動的應用程序改寫成多線程的方式,原本希望提高處理速度,實際上速度降低了2到3倍.這也就不難理解為什麼同樣的企業級應用在低硬件的機器上跑得比高硬件配置的NT/2k快.

  2 系統的可增值性與歷史兼容性

  一個設計優良的操作系統應該有一個精簡和一致的構造,在添加新的功能時不必破壞原有的結構,而且在後繼發展中能夠保持前後一致性.Unix由於當初設計時的科學性,以致於20多年的時間內,沒有在設計思想上做過大的變動.雖然Unix有很多的版本,但是通過Posix標准,這些系統在源代碼上保持高度的兼容.

  與之相比,windows的幾乎每個操作系統的框架設計都顯得十分的隨意,幾乎不考慮硬件有了新的發展後,會出現什麼問題.windown16位和32位兩個時期的操作系統出現明顯的""代溝"",作為一個好的os,這種硬件上的差異是應該由其本身來考慮的,而不是把問題交給二次開發者,比如定義一堆PSZ,LPSZ的指針,將來64位時代, 大概要出現LLPSZ了:)

  3 GUI 圖形用戶界面

  Linux的GUI建立在X-WINDOWS的基礎,這是與windows的GUI完全不同的一種架構windows的GUI是通過應用程序直接調用winows底層的GUI函數.或者說這是一種垂直的關系.而Linux的GUI是應用程序通過socket向X-WINDOW server發送請求實現的,只有X server在真正的寫屏幕.或者說這是一種平行的關系.後者的方式帶來更高的系統穩定性,因為圖形顯示系統崩潰,對於Linux來說,只不過是死掉一個進程而已,而對windows來說會導致整個系統的崩潰.當然X-window的開銷要比windows的方式大,但是由於硬件的發展X-window在穩定性上的優點會將會彌補速度上微不足道的差異.

  4 應用開發環境

  Linux上的開發工具沒有windows的容易入門,並不代表Linux上的開發環境比windows 差,其實linux編程入門慢,但是一旦熟悉了,以後就很少需要補充新的概念,與之相比,微軟用一些很“簡便”的編程概念吸引你,然後很快的淘汰這些概念,強迫你學習新的概念,你發現很多時間花費在氣喘噓噓的跟著微軟後面跑.你在這方面花費的時間遠遠超過你去學習linux編程的時間.

  另一方面,Linux上IDE的開發工具也在成長,最終會吸引更多的應用開發工程師

  5 技術上的發展潛力

  windows現在的技術架構基本上走進了一個死胡同,很難有大的創新.除非提出一個完全不同的系統,然後在裡面做個win32子系統,以兼容現有的程序.就像在nt上搞win16子系統一樣:),並且體積再擴大一倍.

  對於linux來說,一個很好的架構放在哪裡,現在主要是填充內容,豐富應用.在可以預見的時間內,windows無法在架構上超過Linux.

  6 多種平台互連的影響

  如果linux在嵌入式應用中取得了成功,那麼將來就會對台式機市場形成外圍的壓力.隨著PC機的控制與網絡能力逐步融合到家電和傳統設備中去,這一天一定會出現的.微軟以下壓上的策略(用win9x的市場優勢推win nt)會在Linux上重演

  結束語

  手也打酸了,最後我用最近看到的一段評論結束這篇文章,好像是這麼說的linux就像internet一樣,在開始的時候發展較慢,一旦過了起步階段,就會取得驚人的發展

Copyright © Linux教程網 All Rights Reserved