大家好,今天小编关注到一个比较有意思的话题,就是关于学习linux内核难么的问题,于是小编就整理了3个相关介绍学习Linux内核难么的解答,让我们一起看看吧。
linux内核和微内核哪个更流畅?
linux内核。
在Linux内核中,程序的执行状态以进程为单位进行管理。此外,内核为每个进程准备一个名为task_stract结构的数据结构,可执行状态等待哪个进程以哪个顺序执行,由于基本上不可能运行比CPU数量更多的进程,因此运行过程的效率非常重要。
1. 微内核更流畅。
2. 微内核相对于Linux内核而言,将操作系统的核心功能进行了精简,将大部分功能移至用户空间,只保留了最基本的功能在内核空间运行。
这样可以减少内核的复杂性,提高系统的稳定性和可靠性,从而使系统更流畅。
3. 此外,微内核还支持模块化设计,可以根据需要加载和卸载不同的模块,灵活性更高。
而Linux内核则包含了更多的功能和驱动程序,相对较大,可能会导致性能上的一些损失。
因此,从流畅性的角度来看,微内核更胜一筹。
一个程序员不会linux内核系统,算得上一个优秀程序员吗?
也可以这样问,一个不会数学的体育老师是优秀的老师吗?一个不会开飞机的坦克手是一个好士兵吗?程序员的范围太广了,不一定都要和linux打交道,也不一定非要编写linux下的程序。世界很大,能解决好一部分问题就很好了。比如我就知道某大学一老师计算流体力学搞得牛,程序也写得好,求解器轻松卖出几千万,而且只会fortran语言,这在你看来是否一样很low?
现在的项目都讲究敏捷开发,DevOps的概念已经深入人心,与其讨论程序员会不会Linux内核,会不会手写SQL,会不会汇编语言,不如问他:知不知道各种控件,会不会用项目管理工具,毕竟谁都不可能当一辈子程序员。PS,请先从SpreadJS了解起
Windows内核和Linux内核谁更复杂?
其实这两个是没有可比性的。首先Windows是混合内核,Linux是宏内核,二者的结构都不一样。而且Linux本身可以在内核里集成大量驱动,Windows内核文件,也就是那个ntoskrnl.exe很小。当然即使是ntoskrnl,这个代码规模也并不小,网上有泄露的WIN2K/NT4的源码,同时还有兼容Windows内核API的开源的ReactOS的源码,可以看到即使是Windows的内核,代码规模也是非常巨大的。笼统的讲,ntosknrl肯定比Linux内核要小很多。如果把所有可以运行在内核态的代码(通常也就是驱动)都算上,这个就很难界定了。
在桌面领域Windows的驱动必然是比Linux要多的,应用程序也更多(很多应用程序都需要驱动配合),而在非桌面领域,Linux的驱动也不少。但是,代码规模不等同于复杂度,同时,对于工程上的代码,一般来说,复杂度高是缺点不是优点,因为复杂的代码维护性会比较差。
对于这个问题,可以准确回答出来的是:Windows的纯粹内核部分的代码规模比Linux要小;Windows和Linux工作在内核态的代码规模都很大,但分别属于不同领域无法比较;复杂度没有一个明确的定义(实际上是有的,通过软件工具分析,但Windows不开源),所以没办法比较。动不动就说内核的人,其实对内核是什么都搞不清楚,而且Windows能成功,跟内核关系不大,有人开发驱动,有人开发生态环境,这比内核重要多了。
到此,以上就是小编对于学习linux内核难么的问题就介绍到这了,希望介绍关于学习linux内核难么的3点解答对大家有用。