一些必要的概念
1.系统编程是写软件的核心。
2.对系统编程的掌握,是对机器灵魂的理解,不管用什么代码写软件,都能让你事半功倍。
3. glibc是Linux应用的核心,他对系统调用,线程支持,和一些基础的应用设施提供了封装。
4. ABI 也就是toolchian -- compiler, linker and so on.他由kernel和工具链定义和实现。
5.POSIX:Portable Operating System Interface。
6. SUS : Single UNIX Specification。
7. SUS已经归入了POSIX。
8. Everything is a file in Linux.
9. 任何一个file的大小都是以byte来测量的。
10.一个file可以被切断(truncation),
11. A file is referenced by an inode(information node).
12. inode存储与文件关联的元数据,如修改时间戳、所有者、类型、长度和位置。 文件的数据-但是没有文件名!inode既是一个物理对象,位于Unix样式的文件tems中的磁盘上,也是一个概念实体,由Linux内核中的数据结构表示。
13. 从根目录开始的路径名称为fully qualified,称为absolute pathnames。
14. 有些路径名不是fully qualified;相反,它们是相对于其他目录提供的。这些路径称为relative pathnames。
15. When multiple links map different names to the
same inode, we call them hard links.