操作系统微内核自学笔记

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

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

操作系统用来管理系统资源的,而内核是操作系统的核心部分,它还充当计算机的应用程序和硬件之间的桥梁。它是启动时(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 微内核的优势

  • 该内核的体系结构很小且孤立,因此可以更好地运行。
  • 系统的扩展更容易,它只是简单地添加到系统应用程序中而不干扰内核。
相关文章
|
4月前
手写操作系统 -- 微内核
手写操作系统 -- 微内核
|
人工智能 自然语言处理 安全
华为「鸿蒙」出世:全球首个微内核全场景分布式OS,可取代安卓,发布即开源
华为自研的鸿蒙系统究竟有多强大?刚刚,余承东在 HDC 2019 上为我们揭开了它的面纱——鸿蒙 OS,是一个划时代的全新操作系统。
787 0
华为「鸿蒙」出世:全球首个微内核全场景分布式OS,可取代安卓,发布即开源
|
Rust 安全 Linux
一种设想:为linux建立一个微内核,融合OS内核与语言runtime设想
本文关键字:os之争。微内核,language based os,language on bearmetal not on os,华为鸿蒙,语言即OS,类脚本语言,把原生应用变语言模块。
604 0
一种设想:为linux建立一个微内核,融合OS内核与语言runtime设想
|
调度
线程、对称多处理和微内核(OS 笔记三)
线程、对称多处理 ​ 这一部分继续深入探讨与进程管理相关的高级概念并了解多处理机的对称多处理技术。 进程和线程 到目前为止提出的进程的概念包含两个特点: 资源所有权 存放进程映像的虚拟地址空间 调度/执行 被执行和接受操作系统调度 上述两个特点是独立的,操作系统应该能够独立的处理他们。
1238 0
|
1月前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
34 0
|
1月前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
2月前
|
Linux 数据安全/隐私保护 虚拟化
Linux技术基础(1)——操作系统的安装
本文是龙蜥操作系统(Anolis OS) 8.4 的安装指南,用户可以从[龙蜥社区下载页面](https://openanolis.cn/download)获取ISO镜像。安装方法包括物理机的光驱和USB闪存方式,以及虚拟机中的VMware Workstation Pro设置。安装过程涉及选择语言、配置安装目标、选择软件集合和内核,设置Root密码及创建新用户。安装完成后,可通过文本模式或图形化界面验证系统版本,如Anolis OS 8.4,标志着安装成功。
|
1月前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
28 0
|
3天前
|
存储 Linux C语言
Linux:冯·诺依曼结构 & OS管理机制
Linux:冯·诺依曼结构 & OS管理机制
9 0
|
1月前
|
存储 Linux
linux查看系统版本、内核信息、操作系统类型版本
linux查看系统版本、内核信息、操作系统类型版本
62 9