{eval=Array;=+count(Array);}
其实这两个是没有可比性的。首先Windows是混合内核,Linux是宏内核,二者的结构都不一样。而且Linux本身可以在内核里集成大量驱动,Windows内核文件,也就是那个ntoskrnl.exe很小。当然即使是ntoskrnl,这个代码规模也并不小,网上有泄露的WIN2K/NT4的源码,同时还有兼容Windows内核API的开源的ReactOS的源码,可以看到即使是Windows的内核,代码规模也是非常巨大的。笼统的讲,ntosknrl肯定比Linux内核要小很多。如果把所有可以运行在内核态的代码(通常也就是驱动)都算上,这个就很难界定了。
在桌面领域Windows的驱动必然是比Linux要多的,应用程序也更多(很多应用程序都需要驱动配合),而在非桌面领域,Linux的驱动也不少。但是,代码规模不等同于复杂度,同时,对于工程上的代码,一般来说,复杂度高是缺点不是优点,因为复杂的代码维护性会比较差。
对于这个问题,可以准确回答出来的是:Windows的纯粹内核部分的代码规模比Linux要小;Windows和Linux工作在内核态的代码规模都很大,但分别属于不同领域无法比较;复杂度没有一个明确的定义(实际上是有的,通过软件工具分析,但Windows不开源),所以没办法比较。动不动就说内核的人,其实对内核是什么都搞不清楚,而且Windows能成功,跟内核关系不大,有人开发驱动,有人开发生态环境,这比内核重要多了。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答