当前位置:网站首页>三种内核结构---宏内核、微内核、混合内核
三种内核结构---宏内核、微内核、混合内核
2022-07-30 05:45:00 【zpv2jdfc】
内核是硬件资源和软件资源的管理者,主要由这些组件组成:
管理CPU、管理内存、管理硬盘、管理显卡、管理网卡、管理IO设备的组件以及各种驱动程序。而三种不同的内核结构也就是三种对这些组件管理的结构。
宏内核结构
举例:LINUX
宏内核结构把上面这些管理进程、内存、IO等的代码编译连接之后,形成一个大的可执行程序。这个可执行程序在特权模式(也就是内核态)下运行,并且向用户应用软件提供接口(system call)。
宏内核的结构是这样的:
这里进程、内存管理等模块都是错综复杂交织在一起的,互相之间都会调用一些函数。宏内核结构最大的缺点就是耦合度太高,所有的组件使用同一个地址空间,如若其中一个组件出问题,其他组件可能都会出问题。当然,因为组件之间可以随意互相调用,它的性能很好。
linux内核结构:
从linux的内核全景图可以看出来,宏内核里各个模块之间互相调用函数,上下贯穿、没有左右边界,结构非常复杂。维护这样的系统结构是很困难的。
微内核
举例:MACH、MINIX
微内核与宏内核架构相反。微内核架构中内核功能尽可能少:只有进程调度、中断处理、内存空间映射、进程通信等功能。而像文件系统、设备驱动这些,则作为一个个独立的服务进程,进程之间通过消息传递来通信。
微内核的优势是降低了不同模块之间的耦合性,同时让系统更容易拓展其他功能。但是这也降低了系统性能。比如一个应用程序需要使用外设:首先通过系统调用进入内核态;内核给设备管理进程发送消息;切换到用户态,设备管理进程处理完后传递消息给内核;切换回内核态,传递消息给应用程序;切换回用户态,应用程序继续执行。中间涉及了4次状态切换,如果是宏内核的话只需要2次。
混合内核
举例:windows
混合内核和微内核很相似。混合内核把常用的组件放在内核态运行。这样既保证了系统的高性能,同时也不会使系统耦合度过高。
非常经典的WindowsNT内核结构:
从图中可以看出,除了常用的进程、内存管理等,windows把设备驱动程序和图形驱动程序也放在了内核中。
总结:
放一张维基百科对三种内核结构的解释图:

边栏推荐
- Based on R language geographic weighted regression, principal component analysis, discriminant analysis and other spatial heterogeneity data analysis
- Mycat2.0 build tutorial
- The types of data structures and MySQL index
- 关于map对key自定义排序
- 用户密码加密编码使用 Bcrypt 代替 MD5,SHA1和SHA256
- 边境的悍匪—机器学习实战:第二章 端到端的机器学习项目
- 边境的悍匪—机器学习实战:第七章 集成学习和随机森林
- 边境的悍匪—机器学习实战:第一章 机器学习的基础知识
- 十六、Kotlin进阶学习:协程详细学习。
- 标准化(Normalization)知识点总结
猜你喜欢

Application of remote sensing, GIS and GPS technology in hydrology, meteorology, disaster, ecology, environment and health

海量遥感数据处理与GEE云计算技术应用【基础、进阶】

边境的悍匪—机器学习实战:第八章 降维

目标检测中的知识蒸馏方法

Jdbc & Mysql timeout analysis

Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition program running record

标准化(Normalization)知识点总结

Generalized Focal Loss paper reading notes

二叉树(一):深度优先遍历与广度优先遍历

昆仑通态屏幕制作(连载4)---基础篇(图形设定与显示,按钮灯)
随机推荐
Analysis of domestic data exchange platforms
Mysql client common exception analysis
1.03 original Acegi security mechanism
Shardingsphere depots table and configuration example
DeepLearing4j深度学习之Yolo Tiny实现目标检测
FPGA解析B码----连载1
Simulation of Future Air Pollution Changes Based on Global Model Comparison Program CMIP6 and Regional Climate-Chemistry Coupling Model WRF-Chem
Dropout原理及作用
【Qingdao Station】High-level application of SWAT model and modeling of areas without data, uncertainty analysis and climate change, improvement of land use surface pollution impact model and case analy
OpenCV中(rows,cols)与图像(x,y)
基于R语言地理加权回归、主成分分析、判别分析等空间异质性数据分析
R - GIS: how to use R language implementation of GIS geospatial analysis and model prediction
二十一、Kotlin进阶学习:实现简单的网络访问封装
边境的悍匪—机器学习实战:第九章 无监督学习任务
生产力工具分享——简洁而不简单
Application of remote sensing, GIS and GPS technology in hydrology, meteorology, disaster, ecology, environment and health
DeepLearing4j's deep learning Yolo Tiny realizes target detection
QT串口动态实时显示大量数据波形曲线(五)========“最终完美解决版”
Arthas command parsing (watch/tt/sc)
Pytorch(三):可视化工具(Tensorboard、Visdom)