内核开发基础
1. 操作系统内核的功能类别
1.进程管理:
进程是执行程序的一个实例,内核负责进程的创建、销毁、进程 调度、进程间通信等;
NOTE: 内核本身不是一个进程,而是进程的管理者;
2.内存管理:
管理进程的地址空间,用户态下:代码区、数据区、私有栈
内核态:内核的代码区、内核的数据区、内核栈。
3.文件系统支持
4.设备控制
5.中断和异常响应
6.网络功能
2.操作系统的运行状态
1. 内核态和用户态:
将与物理硬件相关的访问都对用户隐藏起来,当用户程序想要访问硬件资源时,需要向内核区申请,内核代表用户程序与硬件进行打交道
2. 内核态
3. 用户态
4. 进程上下文和中断上下文
3.内核的特点
linux内核属于单内核,运行在单独的内核地址空间,具有以下特点:
*模块化设计
*抢占式内核(可以满足较高的实时要求)
*支持内核线程
*支持对称多处理机制(SMP)
*可以动态装载和卸载模块