【C++/嵌入式笔试面试八股】二、11.操作系统概述 | 进程的组成、组织

一、操作系统概述

01.大内核微内核区别

大内核

大内核指的是将所有操作系统服务都包含在内核中的设计方式,包括文件系统、网络协议栈、设备驱动程序等。在大内核中,所有服务共享同一个地址空间,因此服务之间的通信速度很快,但是代码很复杂,可靠性较低,一个服务的故障可能会影响整个操作系统的稳定性。

优:高性能

缺:内核代码大,结果混乱,难以维护

微内核

微内核架构则将将内核中最基本的功能(如时钟、中断、原语等)保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。操作系统的核心服务拆分为多个独立的服务,每个服务运行在自己的地址空间中,通过消息传递的方式来进行通信,这些服务包括设备驱动、文件系统、内存管理、进程管理等。由于微内核只包含最基本的服务,因此具有更高的可靠性和可扩展性,同时也更容易实现安全性和灵活性,但是由于服务之间需要频繁通信,因此性能会受到一定的影响。

优:内核功能少,结构清晰,方便管理,更加稳定
缺:需频繁在核心态与用户态之间切换,性能低

结合下面的【内核线程和用户线程】以及【Linux内核驱动部分的上下文】一起看

02.系统调用是什么,你用过哪些系统调用,和库函数有什么区别?

你可能感兴趣的:(C++/嵌入式笔试面试集锦,#,计算机基础,c++,面试,linux,操作系统,八股)