首页 > 其他分享 >微内核和宏内核的区别

微内核和宏内核的区别

时间:2023-01-07 16:36:44浏览次数:39  
标签:架构 操作系统 区别 核心 模块 内核 微内核

微内核:提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口与,如DOS、Workplace OS、Workplace Unix等。IBM、Microsoft等操作系统都采用了这一研究成果的优点。

宏内核:是操作系统核心架构的一种,此架构的特性是整个核心程序都是以核心空间(Kernel Space)的身份及监管者模式(Supervisor Mode)来运行。相对于其他类型的操作系统架构,如微核心架构或混核心架构等,这些核心会定义出一个高级的虚拟接口,由该接口来涵盖描述整个电脑硬件,这些描述会集合成一组硬件描述用词,有时还会附加一些系统调用,如此可以用一个或多个模块来实现各种操作系统服务,如进程管理、共时(Concurrency)控制、存储器管理等。

明白了上述两个定义后,看下面的我的理解:

1、微内核相当于一个信息交换中心,自身可以实现的功能较少,他的主要职责是传递一个请求,一个A模块对其他模块功能的请求。而宏内核相当于一个是一个中央集权控制中心,把内存管理,文件管理等功能全部管理。

2、两个内核的优缺点:

A、理论上来看,微内核的设计思想更好一些,它将系统分为各个小的功能模块,把设计难度大大降低。因此,系统的维护与修改也方便进行。

B、但是微内核的通信失效率很高,是一个大问题。宏内核的功能模块之间的耦合度太高,将修改与维护的代价提高。但是在目前的linux操作系统里不会因为此造成很大问题(目前的linux还不算很复杂)。宏内核因为是直接调用的,所以效率比较高。

微内核的操作系统有:Window,Minix,Mac等等。

宏内核的操作系统有:Unix,Linux等等。

标签:架构,操作系统,区别,核心,模块,内核,微内核
From: https://www.cnblogs.com/god-of-death/p/17032896.html

相关文章

  • StringCbCatW与StringCchCatW的区别
    仔细看官方文档里,区别主要在第二个参数:StringCchCatW的cbDest:以字节为单位StringCchCatW的cchDest:以字符为单位大家根据实际情况选择合适的函数。附:StringCbCat、Stri......
  • 内核hung检测机制(3)
    实践编写ko在内核线程上下文中触发D状态死锁代码hungtask.c#include<linux/init.h>#include<linux/sched.h>//currentmacro#include<linux/module.h>voidhu......
  • 软件测试和开发之间的工作有什么区别
    从工作内容强度来看开发人员在项目开发过程和上线之后的人员配比悬殊巨大,比如在开发周期的时候,需要10个人来写代码,但在项目上线后,可能只需要两三个人来维护就可以......
  • 读书笔记-只读变量与字面量常量的区别
    在C语言中,使用const关键字修饰的变量定义语句,表示对于这些变量,我们无法在后续的程序中修改其对应或指针指向的值。因此,我们更倾向于称它们为“只读变量”,而非常量。只......
  • 内核hung检测机制(2)
    实践部分编写ko触发D状态死锁hung_task.c#include<linux/init.h>#include<linux/module.h>DEFINE_MUTEX(ckw_hung_task_mutex);staticint__inithung_task_in......
  • 内核hung检测机制
    Hung检测为内核提供的debug机制,用来检测系统是否存在长期处于TASK_UNINTERRUPTIBLE的进程。Hung检测原理内核进程定期扫描状态为TASK_UNINTERRUPTIBLE的进程,如果在sysct......
  • 计算属性和侦听器区别
    功能不同:计算属性解决模板语法冗余,侦听器监听data中某一个数据变化计算属性有缓存,侦听器没有缓存计算属性不支持异步操作,侦听器支持异步操作计算属性可以新增一个属性,......
  • dremio 系统内部存储插件与自定义存储插件加载的区别
    dremio整体包含了两大类存储扩展,系统内部使用的,以及用户开发的,整体区别系统的目前是在dremio自己启动的时候就会注册以及使用的,比如加速反射的,home,元数据存储插件用......
  • Java中的POJO与JavaBean / Java Bean与POJO的区别与联系
    POJO(PlainOrdinaryJavaObject)即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。有一些private的参数作为对象的属性,然后针对每一个参数定义get和set......
  • 青占鱼与缇鱼区别 All In One
    青占鱼与缇鱼区别(......