進(jìn)程管理及調度:Linux開(kāi)銷(xiāo)較小
在進(jìn)程管理及調度方面,Linux是一個(gè)單塊式的操作系統,操作系統通常在用戶(hù)進(jìn)程的內存空間內進(jìn)行,可免去發(fā)生系統調用時(shí)的進(jìn)程切換開(kāi)銷(xiāo)。Windows是一個(gè)準微內核操作系統,許多功能以單獨的進(jìn)程實(shí)現,從而提高了系統的模塊化程度,但進(jìn)程切換上的開(kāi)銷(xiāo)要大一些。
Linux支持內核級的線(xiàn)程,但它將線(xiàn)程定義為進(jìn)程的另一個(gè)“執行上下文”,從而簡(jiǎn)化了進(jìn)程/線(xiàn)程之間的關(guān)系和調度程序的設計,它的線(xiàn)程庫提供了和POSIX兼容的線(xiàn)程同步機制。Windows支持的線(xiàn)程是典型的進(jìn)程/線(xiàn)程模型。它的線(xiàn)程同步機制和Linux類(lèi)似。Linux中進(jìn)程是基本的調度單位,它提供了三種調度策略。
進(jìn)程間通信機制:Linux更靈活
在進(jìn)程間通信機制上,Linux提供了標準的UNIX IPC機制,而Windows 則在基本IPC機制的基礎上,提供了許多直接面向應用程序的高級IPC機制。從本質(zhì)上看,Linux的IPC機制接近于IPC原語(yǔ),比較底層,提供了最大的靈活性,也可以在此基礎上建立更加復雜的高級IPC機制,而Windows 在原語(yǔ)級提供的IPC機制有管道、命名管道、消息傳遞、共享內存、信號量等。
內存管理:Linux優(yōu)于Windows
在內存管理上,Linux 和Windows 在面對相同的進(jìn)程地址空間大小時(shí),對內存布局的使用方式不同。Windows實(shí)際只為進(jìn)程準備了2GB弱的可用虛擬地址空間,而Linux中的進(jìn)程地址空間使用更靈活些。
在虛擬內存的使用上,Linux內核為用戶(hù)管理了非常多的細節問(wèn)題,用戶(hù)可以認為自己真正擁有4GB地址空間,而不用關(guān)心虛擬內存是否提交物理存儲等問(wèn)題。Windows為程序員提供了多種虛擬內存使用方案,雖然這些方案的使用有些復雜,但卻提供了一定程度上的靈活性。它也支持DOS和Win16程序的執行,但為了提供這種兼容性,它的內存管理付出了極高的性能代價(jià)。
Linux 和Windows雖然均提供了內存共享技術(shù),但它們的實(shí)現有些細微的差別。Linux提供給用戶(hù)的接口非常簡(jiǎn)單,只需將自己的虛擬內存空間區域附加到共享內存對象之上。Windows則是通過(guò)內存映射文件提供共享內存機制,從使用上講,略顯復雜。
Linux的內存交換管理靈活性很強,用戶(hù)可以在普通的文件系統上建立“無(wú)洞”的文件作為交換空間,還可以使用多個(gè)交換文件,從而可以動(dòng)態(tài)增加交換文件。它也提供了利用交換分區作為交換空間的方法,此方法是優(yōu)選的交換空間方案。Windows 的頁(yè)面文件很難擺脫碎片化的危險,為了保證它采用無(wú)碎片的頁(yè)面文件,必須采取一定的措施。
Linux 和Windows 在高速緩存的使用上有一些共同之處,均盡量采用系統的全部空閑RAM作為高速緩存區域,但Linux在高速緩存管理上有一些獨到之處,這是它性能之所以高的根本原因所在。
安全性:Linux具有一定優(yōu)勢
在安全性方面,Linux采用的是UNIX在安全性方面成功的技術(shù),盡管有一些安全漏洞,但因為設計上的開(kāi)放性,這些漏洞能夠在很快的時(shí)間內發(fā)現并得到解決。Windows 雖然采用的ACL技術(shù),更加復雜和嚴密,但因為其密碼加密步驟過(guò)于簡(jiǎn)單,密碼容易被破解。安全性設計上的不公開(kāi)性也導致其有很多安全上的漏洞。
一項最新的測試結果表明,采用linux下的samba文件服務(wù)器與windows 2003 server文件服務(wù)器性能比較,linux的表現是非常令人滿(mǎn)意的。
延伸閱讀
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/