{eval=Array;=+count(Array);}
其實這兩個是沒有可比性的。首先Windows是混合內核,Linux是宏內核,二者的結構都不一樣。而且Linux本身可以在內核里集成大量驅動,Windows內核文件,也就是那個ntoskrnl.exe很小。當然即使是ntoskrnl,這個代碼規(guī)模也并不小,網(wǎng)上有泄露的WIN2K/NT4的源碼,同時還有兼容Windows內核API的開源的ReactOS的源碼,可以看到即使是Windows的內核,代碼規(guī)模也是非常巨大的?;\統(tǒng)的講,ntosknrl肯定比Linux內核要小很多。如果把所有可以運行在內核態(tài)的代碼(通常也就是驅動)都算上,這個就很難界定了。
在桌面領域Windows的驅動必然是比Linux要多的,應用程序也更多(很多應用程序都需要驅動配合),而在非桌面領域,Linux的驅動也不少。但是,代碼規(guī)模不等同于復雜度,同時,對于工程上的代碼,一般來說,復雜度高是缺點不是優(yōu)點,因為復雜的代碼維護性會比較差。
對于這個問題,可以準確回答出來的是:Windows的純粹內核部分的代碼規(guī)模比Linux要??;Windows和Linux工作在內核態(tài)的代碼規(guī)模都很大,但分別屬于不同領域無法比較;復雜度沒有一個明確的定義(實際上是有的,通過軟件工具分析,但Windows不開源),所以沒辦法比較。動不動就說內核的人,其實對內核是什么都搞不清楚,而且Windows能成功,跟內核關系不大,有人開發(fā)驅動,有人開發(fā)生態(tài)環(huán)境,這比內核重要多了。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答