文章目录
一、Linux 内核体系架构
二、内核态与用户态切换 ( 系统调用层 )
三、体系结构抽象层
一、Linux 内核体系架构
----
Linux 内核最初的源码不足一万行 , 当前的 Linux...分为三个层次 :
硬件层面 : 包括 CPU , 物理内存 , 磁盘 , 外部设备 等硬件 ;
内核空间 : 这就是 Linux 内核的核心 , 如 : Arch 抽象层 , 设备管理抽象层 , 内存管理..., 中断管理 , 进程调度 , 文件系统管理 , USB / PCI 总线设备 , 设备驱动 ( 字符设备 / 网络设备 / 块设备 / KVM ) , 系统调用层 ;
用户空间 : C 语言库 ,..., 该指令在 系统调用层 调用 ,
系统调用层 可以 使 真实硬件信息 对 用户进程透明 ,
用户进程读取文件内容时 , 只需要使用 open / read / mmap 函数 , 打开一个路径上的文件即可..., 具体该文件在磁盘上的哪个扇区 , 具体的物理地址是多少 , 用户进程并不关心 ,
用户进程 , 大多数时间在 用户态 运行 , 当需要向内核请求相关设备时 , 只需要 调用系统提供的 系统调用 接口