linux是微内核还是宏内核,对比平台--宏内核与微内核

内核是在硬件和操作系统之间形成一层的软件,它分为两种主要类型,即,宏内核和MicroKernel,这些类型主要是根据它们对进程的管理方式来区分的,它们在以下方面也有所不同:执行样式,大小,速度,稳定性,进程间通信,可扩展性,可维护性,调试,安全性等领域,以及这些差异,值得注意的是,宏内核比微内核要早得多,并且在Linux中使用。在Mac OS中使用了microKernels。

内核与操作系统有何不同?

内核是操作系统的一部分,或者您可以说它是操作系统的核心。与有用的应用程序放在一起的内核成为操作系统。

这里要注意的重要一点是,操作系统由两部分组成:

内核空间(特权模式)

用户空间(非特权模式)

内核有不同类型。两种主要类型是:

宏内核

微内核

这些类型的内核根据它们如何管理来自进程的请求(也称为系统调用)和资源进行分离。宏内核比微内核要老得多。在1980年代后期发现了微内核。

宏内核和微内核之间的主要区别

让我们讨论一下Monolithic Kernel与MicroKernel之间的一些主要区别。

执行所需的空间:宏内核在与内核空间相同的地址空间中运行所有操作系统指令,而微内核在用户空间中运行大多数系统指令,而在内核空间中仅运行少数系统指令。在微内核的情况下,只有重要的进程(例如进程间通信,调度和内存管理)才会在内核空间中发生。

内核大小:在Monolithic中,由于所有系统指令都是在内核空间下执行的,因此会增加内核的整体大小。这也导致操作系统大小的增加。

执行速度:与微内核相比,宏内核提供了更快的速度,因为它在同一地址空间下运行所有​​指令,从而使执行速度更快。对于微内核,由于在不同地址空间中运行的不同服务之间传递了其他消息,因此执行速度较慢。

稳定性:如果进程崩溃在宏内核中,则会导致系统范围内的停止。这是因为在相同地址空间中运行的每个进程都会受到影响。而在微内核的情况下,由于内核和用户空间之间的系统操作划分,服务崩溃不会影响其他服务。

进程间通信:宏内核利用信号和套接字实现进程间通信,而微内核利用消息传递队列来实现进程间通信。

可扩展性:两种内核类型之间的主要区别之一是可扩展性。为了向宏内核添加新功能,必须重新编译整个内核。重新编译将导致更多的内存和时间消耗。另一方面,在微内核的情况下,服务在实现消息传递队列时彼此隔离,从而使添加或删除功能更加灵活。

可维护性:这类似于可扩展性。为了修复宏内核中的任何错误,必须重新编译整个内核。而微内核则不是这种情况。

调试:特权模式(内核空间)中的崩溃可能会破坏调试器本身。因此,与微内核相比,调试宏内核非常困难。

安全性:与宏内核相比,微内核更安全,因为宏内核以特权模式运行其整个代码,从而增加了发生灾难的机会。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值