Linux内核与Unix内核以及宏内核与微内核之间有何本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计6218个文字,预计阅读时间需要25分钟。
宏内核简单来说就是将许多东西都集成到内核中,比如Linux内核除了基本的进程、线程、内存管理外,还包括文件系统等。简而言之,宏内核就是将很多功能都集成到内核中。
宏内核简单来说就是把很多东西都集成进内核例如linux内核除了最基本的进程、线程管理、内存管理外文件宏内核简单来说就是把很多东西都集成进内核例如linux内核除了最基本的进程、线程管理、内存管理外文件系统驱动网络协议等等都在内核里面。优点是效率高。缺点是稳定性差开发过程中的bug经常会导致整个系统挂掉。做驱动开发的应该经常有按电源键强行关机的经历。
微内核内核中只有最基本的调度、内存管理。驱动、文件系统等都是用户态的守护进程去实现的。优点是超级稳定驱动等的错误只会导致相应进程死掉不会导致整个系统都崩溃做驱动开发时发现错误只需要kill掉进程修正后重启进程就行了比较方便。缺点是效率低。典型代表QNXQNX的文件系统是跑在用户态的进程称为resmgr的东西是订阅发布机制文件系统的错误只会导致这个守护进程挂掉。不过数据吞吐量就比较不乐观了
操作系统内核可能是微内核也可能是单内核后者有时称之为宏内核Macrokernel。按照类似封装的形式这些术语定义如下
单内核也称为宏内核。将内核从整体上作为一个大过程实现并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行相互之间直接调用函数简单高效。微内核功能被划分成独立的过程过程间通过IPC进行通信。模块化程度高一个服务失效不会影响另外一个服务。Linux是一个单内核结构同时又吸收了微内核的优点模块化设计支持动态装载内核模块。Linux还避免了微内核设计上的缺陷让一切都运行在内核态直接调用函数无需消息传递。
Linux大部分都是单内核的。
本文共计6218个文字,预计阅读时间需要25分钟。
宏内核简单来说就是将许多东西都集成到内核中,比如Linux内核除了基本的进程、线程、内存管理外,还包括文件系统等。简而言之,宏内核就是将很多功能都集成到内核中。
宏内核简单来说就是把很多东西都集成进内核例如linux内核除了最基本的进程、线程管理、内存管理外文件宏内核简单来说就是把很多东西都集成进内核例如linux内核除了最基本的进程、线程管理、内存管理外文件系统驱动网络协议等等都在内核里面。优点是效率高。缺点是稳定性差开发过程中的bug经常会导致整个系统挂掉。做驱动开发的应该经常有按电源键强行关机的经历。
微内核内核中只有最基本的调度、内存管理。驱动、文件系统等都是用户态的守护进程去实现的。优点是超级稳定驱动等的错误只会导致相应进程死掉不会导致整个系统都崩溃做驱动开发时发现错误只需要kill掉进程修正后重启进程就行了比较方便。缺点是效率低。典型代表QNXQNX的文件系统是跑在用户态的进程称为resmgr的东西是订阅发布机制文件系统的错误只会导致这个守护进程挂掉。不过数据吞吐量就比较不乐观了
操作系统内核可能是微内核也可能是单内核后者有时称之为宏内核Macrokernel。按照类似封装的形式这些术语定义如下
单内核也称为宏内核。将内核从整体上作为一个大过程实现并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行相互之间直接调用函数简单高效。微内核功能被划分成独立的过程过程间通过IPC进行通信。模块化程度高一个服务失效不会影响另外一个服务。Linux是一个单内核结构同时又吸收了微内核的优点模块化设计支持动态装载内核模块。Linux还避免了微内核设计上的缺陷让一切都运行在内核态直接调用函数无需消息传递。
Linux大部分都是单内核的。

