1.应用程序:应用程序调用应用程序函数库完成功能,应用程序以文件形式访问各种资源,应用程序函数库,部分函数直接完成功能,部分函数通过系统调用;
2.内核:内核完成内核处理系统调用
3.驱动:调用系统驱动程序,设备驱动程序直接与硬件通信。
设备文件:
设备类型: 字符设备、块设备、网络设备
设备号: 硬件设备有主设备号和从设备号的区别。主设备号相同的设备,使用相同的驱动程序,从设备号用于区分具体设备的实例。
内核态和用户态
linux中,将程序的运行空间分为内核和用户空间(内核态和用户态);逻辑上它们相互隔离,因此应用程序不能访问内核数据,也无法调用内核函数。