电脑操作系统的内核结构有哪些(操作系统的内核特征有哪四个)
837
2022-05-29
文章目录
一、操作系统需要满足的要素
二、宏内核
三、微内核
四、linux 内核动态加载机制
一、操作系统需要满足的要素
电脑上运行的
操作系统
, 是一个
软件 ;
设备管理 : 操作系统需要 为
用户
和
应用程序
管理并分配电脑的
硬件资源
, 如 CPU , 磁盘 , 内存 , 网络 等 ;
开发环境 : 操作系统 要为 应用程序
开发
提供配套环境 ;
执行环境 : 操作系统 要为 应用程序
执行
提供配套环境 ;
虚拟性支持 :
支持多进程
, 每个运行的应用程序进程 , 都可以感觉到有专门的处理器提供系统服务 ;
并发性支持 : 操作系统需要有
执行多个线程的能力
, 线程是独立运行 , 独立调度的最基本单位 ;
二、宏内核
宏内核 :
内核代码
编译成
二进制文件 ,
内核 运行在 一个
大内核 地址空间
中 ,
可以
直接 访问 , 调用
内核代码 ,
这种内核优点是
效率高 ,
性能强 ;
下图中 , 最上层是
" 系统调用 "
, 中间是
" 宏内核 "
, 最下方是
硬件层 ;
宏内核优点 :
设计简单 ,
性能高 ;
三、微内核
微内核 :
将 操作系统 拆分成 多个
独立功能模块 ,
这些 独立功能模块 之间通过
" 消息 "
进行通信 ,
微内核
效率低 ;
下图中 ,
进程 , 文件系统 , 设备驱动
, 与 微内核 中的
通信模块 , 进程调度模块 , 内存管理模块
, 通过
消息
进行通信 ,
微内核优点 :
稳定性好 ,
实时性好 ;
微内核缺点 : 高度模块化 , 模块之间只能通过消息传递信息 ,
效率低 ;
四、Linux 内核动态加载机制
Linux 内核模块动态加载 :
Linux 内核 使用了 模块设计 , 可以进行
动态加载
内核模块 ;
Linux 内核的 核心实现 , 设备驱动实现 ,
可以
编译成一个独立模块 ,
这些独立模块可以被编译成
独立的目标文件 ,
可以在运行时 ,
动态
加载 /
卸载
内核模块 ;
开发简单 : Linux 内核模块引入 , 带来了很多便利 ,
很多内核驱动 , 都可以
编译成动态 加载 / 卸载 的模块 ,
驱动开发时 , 必须
遵守规定的接口
, 来访问内核 ,
这样
开发内核模块
, 变得
更加容易 , 方便 ;
与平台无关 : 内核模块 可以
设计成 与 平台无关的 模块
, 如 : 文件系统 ;
Linux
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。