Windows,linux與windows區別

Linux系統和Windows系統本質上的區別是什么?
一、就操作系統設計的復雜度上,windows要超過Linux如果windows拋棄人機操作的窗口界面,其性能并不比linux差;編寫Web瀏覽器的難度要遠大于編寫Web服務器的難度;二、為何大公司喜歡用linux1、免費且開源,相對于免費,開源更加重要;2、開源意味著更安全;3、開源意味著可優化;因為開源所以透明,因為透明,所以安全,但安全是相對的 。
所謂的安全是針對大公司,是針對那些真正懂linux內核的人 。他們可以自己定制化linux,比如加入自己特性化的功能,修改潛在的漏洞,或者他們認為需要完善的地方,甚至可以調優linux來解決自身業務的瓶頸 。透明是把雙刃劍,對那些只會linux命令的人,開源并不意味著安全,因為你根本搞不清楚自己使用的機器是否被控制,如果別人給你一個內核中藏有木馬的linux,那么恭喜你,你可能永遠都會沉浸在自己幻想的所謂安全中 。
換句話說,如果windows開源了,那么windows對大公司是安全的,他們可以一窺windows內核,并對其增刪改,去掉 所有圖形化元素,將動態加載驅動改為內核態加載,優化IOCP并將其發揮到極致,我相信windows也會變成安全、穩定、 可靠、優秀的服務器,而且會比linux還要優秀 。但對于絕大部分在windows下做開發的程序員來說,windows開不開源其實跟你沒有半毛錢關系,除非你有能力將windows 上千萬行的代碼耐心看一遍,前提是你要能看懂 。
首先,你要把匯編語言再學習一遍,把操作系統的書多看幾遍,把編譯原理的書也多看幾遍,否則這些代碼在你面前和天書沒本質區別;其次你要有足夠的時間和足夠耐心;最后,你要真能識別出風險,畢竟windows是最成熟的商業操作系統,如果你認為自己的智商能夠超越微軟那些頂級架構師幾十年的精心設計和打磨,那你還改屁操作系統啊,直接進中科院設計國產OS為國增光吧 。
記?。簩e人的安全并不意味著對你安全!開發后臺程序和懂服務器、懂操作系統,完全是兩個概念,這兩者的差別就像狗和熱狗的差別一樣 。在linux上開發java后臺應用服務,并不意味著這個程序員有多了解linux,后臺程序跑在Apache、Tomcat、Nginx這些 真正的服務器上,這些服務器在幫你的程序優雅的處理高并發、高吞吐量和低延遲,而這些服務器必須要充分利用 linux內核的性能,這就意味你要真正理解什么是多線程,什么是線程池,select、poll和epoll的區別;三、在網絡方面,windows的IOCP模型要優于linux的epoll模型1、IOCP真正發揮了多核CPU的性能,讓IO操作均衡的負載在不同CPU線程上,epoll很可能會讓有的線程累死,有的餓死;2、IOCP是Proactor異步IO,epoll是reactor同步IO;打個不恰當的比方,IOCP屬于導彈發射后不管,最后通知你擊中目標;epoll屬于發射后需要分階段導航 。
有人說epoll給了程序員更高的自由度處理來自內核的IO數據,畢竟可以手把手的制導導彈,很有成就感,但那是針對高水品程序員,如果你的水平一般的話,那結果可能是災難性的 。很有可能你會親手把發射的導彈送出地球,或者引發另一場戰爭 。實際上IOCP在業務處理上的難度要大于EPOLL,因為異步IO的原因,你的上層完整的業務已被碎片化了 。
【Windows,linux與windows區別】3、windows比linux在服務器性能上的慢,并不代表IOCP比Epoll差,這是windows定位的問題,如果你要讓用戶易用,那就要在某些方面做些犧牲 。多說幾句:1、我特煩那些人云亦云,一知半解的人,言必談linux好,說來說去就是那么幾條:linux開源、安全、穩定 。你看,很多大公司在用,windows還要經常打補丁,有時還崩潰 。

推薦閱讀