传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录
操作系统用来管理系统资源的,而内核是操作系统的核心部分,它还充当计算机的应用程序和硬件之间的桥梁。它是启动时(after the Bootloader)加载的第一个程序。
某些指令只有在内核模式下才能执行,这些指令称为特权指令。 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运行的模式可以扩展到两个以上,它需要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那么多。
系统调用通常以软件中断的形式实现,这会导致中断处理程序将控制权转移到适当的中断处理程序【该处理程序是操作系统的一部分】,在进程中将模式位切换到内核模式。中断处理程序准确检查产生了哪个中断,检查附加参数(通常通过寄存器传递)是否合适,然后调用适当的内核服务例程来处理系统调用请求的服务。
用户程序尝试执行非法指令(特权或不存在的指令),或访问禁止的内存区域,也会产生软件中断,被中断处理程序捕获,控制权转移到操作系统,操作系统发出适当的错误消息,可能会将数据转储到日志(核心)文件以供以后分析,然后终止有问题的程序。
微内核是内核的分类之一。作为一个内核,它管理所有系统资源。但是在微内核中,用户服务和内核服务是在不同的地址空间中实现的。用户服务保存在用户地址空间,内核服务保存在内核地址空间,这样也减少了内核的大小和操作系统的大小。
它提供最少的进程和内存管理服务。客户端程序/应用程序与运行在用户地址空间的服务之间的通信是通过消息传递建立的。操作系统不受影响,因为用户服务和内核服务是隔离的,因此如果任何用户服务失败,它不会影响内核服务。因此,它增加了微内核的优势之一。它很容易扩展,即如果要添加任何新服务,它们将被添加到用户地址空间,因此不需要在内核空间中进行修改。它还具有便携性、安全性和可靠性。
由于内核是操作系统的核心部分,所以它只用于处理最重要的服务。因此在这个架构中,只有最重要的服务在内核中,其余的操作系统服务在系统应用程序中。因此,用户能够与系统应用程序中的那些不那么重要的服务进行交互。微内核单独负责操作系统中最重要的服务,例如: