{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Windows内核和Linux内核谁更复杂?

URLOSURLOS 回答0 收藏1
收藏问题

4条回答

source

source

回答于2022-06-27 16:52

其实这两个是没有可比性的。首先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
  •  加载中...
weapon

weapon

回答于2022-06-27 16:52

Windows复杂

评论0 赞同0
  •  加载中...
chengjianhua

chengjianhua

回答于2022-06-27 16:52

都差不多,操作系统就那么点功能,进程啦文件啦管理之类,能差多少。不同之处仅是ui及自带的应用等。

评论0 赞同0
  •  加载中...
rollback

rollback

回答于2022-06-27 16:52

linux复杂,windows是微内核。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<