linux操作系统的软件架构分析
一、linux操作系统的层次结构
1.内核的主要功能
1)进程管理
2)内存管理
3)文件系统
4)进程间通信、I/O系统、网络通信协议等
2.系统程序
1)系统接口函数库,比如libc
2)shell程序
3)编译器、编辑器等基础设施
3.最关键的部分
1)CPU管理:进程的抽象,以及借助中断机制进行的进程管理与调度
2)内存:进行地址空间的抽象,以及物理内存的分配与进程地址空间的映射
3)文件:一切皆文件。通过文件系统多磁盘和I/O设备进行管理
对于操作系统的目的,需要把握两个分界线。对底层来说,与硬件交互,管理所有的硬件资源;对上层来说,通过系统调用及基础库为系统程序和应用程序提供一个良好的执行环境。
中间稍靠下的区域为内核实现,内核为上为用户提供系统调用接口,向下调用硬件服务接口。其自身实现来如上文提到进程管理等功能,在内核外还提供如Shell命令行工具、编译器、编辑器、函数库等基础设施