操作系统微内核自学笔记

简介: 操作系统微内核自学笔记

导读:一般车载的操作系统都是微内核,因为其安全和可靠及可扩展,成为嵌入式车载的首选。那么本文带你了解一下什么是微内核。

操作系统用来管理系统资源的,而内核是操作系统的核心部分,它还充当计算机的应用程序和硬件之间的桥梁。它是启动时(after the Bootloader)加载的第一个程序。

8ee99de9eef906d554ce451c43fe2d02_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

1 CPU运行的内核模式和用户模式

某些指令只有在内核模式下才能执行,这些指令称为特权指令。They allow the implementation of special operations whose execution by the user program could interface with the functioning of the operating system or activity of another user program.例如,管理内存保护的指令。

  • 操作系统在内核中执行时将 CPU 置于内核模式,因此该内核可以执行一些特殊操作。
  • 当用户程序正在执行时,操作系统将 CPU 置于用户模式,因此用户程序无法与操作系统程序交互。
  • 用户级指令不需要特殊权限。Example are ADD,PUSH,etc.

3e114460c2e6270876714fbcaa55059c_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

从用户模式到内核模式的转换

CPU运行的模式可以扩展到两个以上,它需要more than a single mode bit CPUs that support virtualization use one of these extra bits to indicate when the virtual machine manager, VMM, is in control of the system。VMM 比普通用户程序有更多的权限,但没有kernel那么多。

系统调用通常以软件中断的形式实现,这会导致中断处理程序将控制权转移到适当的中断处理程序【该处理程序是操作系统的一部分】,在进程中将模式位切换到内核模式。中断处理程序准确检查产生了哪个中断,检查附加参数(通常通过寄存器传递)是否合适,然后调用适当的内核服务例程来处理系统调用请求的服务。

用户程序尝试执行非法指令(特权或不存在的指令),或访问禁止的内存区域,也会产生软件中断,被中断处理程序捕获,控制权转移到操作系统,操作系统发出适当的错误消息,可能会将数据转储到日志(核心)文件以供以后分析,然后终止有问题的程序。

2 什么是微内核

微内核是内核的分类之一。作为一个内核,它管理所有系统资源。但是在微内核中,用户服务和内核服务是在不同的地址空间中实现的。用户服务保存在用户地址空间,内核服务保存在内核地址空间,这样也减少了内核的大小和操作系统的大小。

584df3e06b11334e7bbc5aba142554ca_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

img

它提供最少的进程和内存管理服务。客户端程序/应用程序与运行在用户地址空间的服务之间的通信是通过消息传递建立的。操作系统不受影响,因为用户服务和内核服务是隔离的,因此如果任何用户服务失败,它不会影响内核服务。因此,它增加了微内核的优势之一。它很容易扩展,即如果要添加任何新服务,它们将被添加到用户地址空间,因此不需要在内核空间中进行修改。它还具有便携性、安全性和可靠性。

3 微内核架构

由于内核是操作系统的核心部分,所以它只用于处理最重要的服务。因此在这个架构中,只有最重要的服务在内核中,其余的操作系统服务在系统应用程序中。因此,用户能够与系统应用程序中的那些不那么重要的服务进行交互。微内核单独负责操作系统中最重要的服务,例如:

  • 进程间通信
  • 内存管理
  • CPU调度

4 微内核的优势

  • 该内核的体系结构很小且孤立,因此可以更好地运行。
  • 系统的扩展更容易,它只是简单地添加到系统应用程序中而不干扰内核。
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
存储 缓存 Shell
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
110 0
|
存储 安全 API
[笔记]深入解析Windows操作系统《四》管理机制(三)
[笔记]深入解析Windows操作系统《四》管理机制(三)
|
4月前
|
存储 算法 Unix
软考中级之数据库系统工程师笔记总结(三)操作系统
软考中级之数据库系统工程师笔记总结(三)操作系统
40 0
|
5月前
|
调度
操作系统的目标和功能笔记分享
【6月更文挑战第1天】操作系统的目标和功能笔记分享
67 1
|
5月前
|
Kubernetes 安全 网络协议
操作系统的未来之路:探索微内核架构与分布式系统
随着计算需求的不断演变和技术的快速进步,传统的宏内核操作系统正面临性能和安全性的挑战。本文旨在探讨操作系统的未来发展道路,特别是微内核架构和分布式系统在提升性能和安全性方面的潜力。通过分析微内核设计的优势、分布式系统的特性以及两者结合的可能性,文章旨在为读者提供对操作系统未来发展趋势的深入理解。
131 0
|
6月前
|
调度
操作系统的目标和功能笔记分享
【5月更文挑战第3天】操作系统的目标和功能笔记分享
54 2
|
6月前
|
存储 算法 调度
【软件设计师—基础精讲笔记2】第二章 操作系统2
【软件设计师—基础精讲笔记2】第二章 操作系统1
59 1
|
6月前
|
存储 算法 Unix
【软件设计师—基础精讲笔记2】第二章 操作系统1
【软件设计师—基础精讲笔记2】第二章 操作系统
98 1
|
6月前
|
存储 算法 调度
《计算机操作系统》重点知识笔记整理(二)
《计算机操作系统》重点知识笔记整理(二)
94 0
|
6月前
|
存储 资源调度 算法
《计算机操作系统》重点知识笔记整理(一)
《计算机操作系统》重点知识笔记整理(一)
115 0