【Linux 内核】Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )
文章目录
一、Linux 内核特性
1、Linux 内核组织形式
Linux 内核组织形式 : 整体式结构 ;
Linux 内核 由很多 过程 组成 , 每个 过程 都可以进行 独立编译 ,
然后将独立编译的 内核模块 , 链接形成一个单独的 目标程序 ,
每个过程 , 对其它 过程 , 都是可见的 ,
这种组织形式 内部结构简单 , 并且 工作效率 高 ;
从 开发角度 看 , 基于 过程 结构 , 开发人员可以参与 整体 Linux 内核的开发过程 , 这是一个 开放式的结构 , 允许任何开发人员对其进行 修改 ;
2、Linux 进程调度
Linux 进程调度 简单 , 高效 ,
Linux 采用了 动态优先级 的调度方式 ;
3、Linux 内核线程
Linux 支持 内核线程 , 即 守护进程 , 其 运行效率 高于 普通线程 ;
内核线程 在 后台运行 , 不需要与 命令行终端结合 ;
4、Linux 内核多平台虚拟内存管理
Linux 内核支持 多平台 虚拟内存管理 ,
内存管理 与 硬件平台 相关性很高 , 不同的硬件平台 , 使用的内存管理方式是不同的 ,
Linux 内核为了保证 内存管理 的通用性 , 同时还要 兼容不同的硬件平台 ,
Linux 内核提供了 虚拟内存管理 机制 , 提供 统一的内存管理接口 , 可以将 Linux 内核很容易移植到新的硬件平台中 ;
5、Linux 虚拟文件系统
Linux 虚拟文件系统 , 英文全程 Virtual File System , 简称 VFS ;
虚拟文件系统 ( VFS ) 为 逻辑文件系统 ( FAT32 , NFTS , EXT2/3/4 ) 提供 统一的标准接口 , 也为 硬件设备 提供了 标准接口 ;
6、Linux 内核模块机制
Linux 模块机制 可以使得 Linux 内核能够 保持独立 , 并且 很容易 进行扩充 , 可以任意 添加 / 卸载 内核模块 ;
如 : 新增加了一个设备 , 设备驱动程序就是一个内核模块 , 可以 动态的安装该设备驱动程序内核模块 ; 移除设备后 , 也可以动态卸载内核模块 ;
在之前的博客 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 ) 中 , 编译完内核之后 , 直接将内核安装到 Ubuntu 操作系统中 , 替换了之前的内核 ;
7、Linux 定制系统调用
系统调用是 操作系统 提供的 可以 调用 内核功能的接口 ,
Linux 允许开发者 开发 自己的系统调用 , 然后将 系统调用 加载到 内核模块中 ,
动态增加 系统调用 , 可以满足用户特殊需求 ;
8、Linux 网络模块架构
Linux 内核网络模块 , 符合 面向对象思想架构 , 使得 内核 支持多种协议 , 支持多种网卡驱动程序 ;
相关文章
- 【华为云技术分享】Linux内核源码结构(1)
- [内核]Linux workqueue
- linux内核编译指定工具连
- Linux基础之查看linux发行版以及内核版本
- linux 3.11.6 内核编译过程
- linux ubuntu/deepin安装tengine(nginx增强版)2.3.2
- C语言之linux内核实现平方根计算算法
- 【Linux 内核 内存管理】mmap 系统调用源码分析 ⑤ ( mmap_region 函数执行流程 | mmap_region 函数源码 )
- 【Linux 内核 内存管理】内存管理系统调用 ① ( mmap 创建内存映射 | munmap 删除内存映射 | mprotect 设置虚拟内存区域访问权限 )
- 【Linux 内核 内存管理】虚拟地址空间布局架构 ⑦ ( Linux 内核地址空间布局简介 )
- 【Linux 内核 内存管理】虚拟地址空间布局架构 ⑥ ( mm_struct 结构体源码 | vm_area_struct 结构体源码 )
- 【Linux 内核】进程优先级与调度策略 ② ( 获取调度策略对应的进程优先级函数 | sched_get_priority_max 函数 | sched_get_priority_min 函数 )
- 【Linux 内核】进程优先级与调度策略 ① ( SCHED_FIFO 调度策略 | SCHED_RR 调度策略 | 进程优先级 )
- 【Linux 内核】实时调度类 ⑦ ( 实时调度类核心函数源码分析 | dequeue_task_rt 函数 | 从执行队列中移除进程 )
- 【Linux 内核】实时调度类 ⑤ ( 实时调度类 rt_sched_class 源码分析 | 结构体字段及函数指针分析 )
- 【Linux 内核】CFS 调度器 ④ ( 调度子系统组件模块 | 主调度器、周期性调度器 | 调度器类 )
- 【Linux 内核】CFS 调度器 ① ( CFS 完全公平调度器概念 | CFS 调度器虚拟时钟 Virtual Runtime 概念 | 四种进程优先级 | 五种调度类 )
- 【Linux 内核】进程管理 ( 进程状态 | 进程创建 | 进程终止 | 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 )
- 【Linux 内核】进程管理 ( 内核线程概念 | 内核线程、普通进程、用户线程 | 内核线程与普通进程区别 | 内核线程主要用途 | 内核线程创建函数 kernel_thread 源码 )
- 【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio 静态优先级 | normal_prio 正常优先级 | rt_priority 实时优先级 )
- 【Linux 内核】进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_cred、cred字段 )
- 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
- 【Linux 内核】Linux 内核源码目录说明 ③ ( lib 目录 | LICENSES 目录 | mm 目录 | net 目录 | samples 目录 | scripts 目录 )
- 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )
- 【Linux 内核】编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 )
- 漏洞预警:Linux内核9年高龄的“脏牛”0day漏洞
- 操作系统 linux 内核的三种进程调度方法
- Linux内核之capabilities能力
- Linux——CentOS7安装gcc编译器详解 查看内核版本