1.1.1系统调用:通过执行int中断深入内核。i386为例:中断号0x80,系统调用的参数通过寄存器传递。
1.2.1 API:应用程序接口:保证源码调用相同的接口,具体实现可以隐藏。
1.2.2 ABI: 应用程序二进制接口:保证二进制代码兼容,能够保证目标程序在任何有相同ABI中的系统中运行。不需要重新编译源代码。
ABI没有表面上的接口。而是通过编译器、连接器来实现。
1.3文件
普通文件
硬链接:多个路径名指向同一个inode,不允许跨文件系统连接
符号链接:包含自己的inode和数据块。数据块中存放指向文件的路径。相比硬链接符号链接解析需要更多的开销。
特殊文件:以文件的方式表示内核对象,Linux支持四种特殊文件系统:块设备文件、字符设备文件、命名管道、Unix套接字。