1.linux下app不能直接访问内核。 用户态和内核态
2. 系统调用是应用程序和系统内核之间的接口。
(1)app访问内核通过调用glibc中的系统调用接口(open()、read()、write()、close()),
(2)产生异常后,然后再调用接口sys_open()、sys_read()、sys_write()、sys_close(),里面参数:根据文件名判断是普通文件还是设备文件,
(3)若是设备文件,找到驱动程序open,调用drv_open(),操作硬件。
3.在系统调用接口之上,还存在标准IO:fopen、fread、fwrite、fclose 。 主要作用是提供了用户buffer