• 操作系统微内核和宏内核


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

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

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

    2、两个内核的优缺点:

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

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

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

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

    上图是宏内核(左)和微内核(右)两种

    微内核是内核的一种精简形式。通常系统服务层是和内核集成在一起的,而微内核将系统服务层被分离出来,变成可以根据需求加入的选件,这样就可以提供更好的可扩展性和更加有效的应用环境。

    近日华为开发者大会宣布的鸿蒙操作系统用的就是微内核,这也是鸿蒙系统的亮点之一。

    宏内核同样管理着用户程序和硬件之间的系统资源,但是和微内核不一样的是,在宏内核架构中,用户服务和内核服务在同一空间中实现。具体一点,就是内核可以代表内核进程运行代码,就是通常的内核进程;当用户进程经过系统调用或者中断进入到内核态时,内核也可以代表它运行代码。这样一来,宏内核需要管理的资源多于微内核,其大小就相对大一些了。

  • 相关阅读:
    服务器部署教程下(线下、线上部署)
    C++string的使用
    凯撒密码(Python)
    探索互联世界的灯光艺术:FastLED库详细介绍及应用实例
    js中如何判断一个对象是空对象?
    推荐模型-上下文感知-2017:DeepFM
    RabbitMQ - 死信、TTL原理、延迟队列安装和配置
    古诗词学习鉴赏APP设计与实现(源码+lw+部署文档+讲解等)
    想学 fpga 开发该怎么入门?
    java基于微信小程序的智能停车场管理系统+ssm+uinapp+Mysql+计算机毕业设计
  • 原文地址:https://blog.csdn.net/weixin_54628931/article/details/127574289