Linux 文件/目录层次结构包含在文件层次结构标准或 FHS 中。
操作系统如何在“更深”级别工作是一个复杂得多的话题。一般而言,表面级别是用户命令......主要是在手册页的第 1 章部分涵盖的 /bin 和 /usr/bin 目录中的那些命令。下一层是标准库函数和接口(在编程方面),它们在第 3 章中涵盖了大多数 UNIX 系统(包括 Linux)。系统级实用程序位于 /sbin 和 /usr/sbin 中,并在手册第 8 章中介绍,配置文件存储在 /etc 中,并在第 5 章中介绍。
下一个较低级别的细节是系统调用接口。第二部分/章节中的手册页涵盖了这一点。系统调用是内核中的函数……关于如何调用它们的详细信息主要由您的 C 编程库(libc --- 在必须的 Linux 系统上以 glibc 的形式提供 --- GNU lib for C)。
内核本身是用 C 编写的,但是,如果您考虑“鸡与蛋”问题,您可能会预料到,它与 libc 无关。所以内核提供了 C 库所依赖的函数。用户空间程序,例如“ls”命令、shell、任何编辑器,以及实际上用于将源代码转换为运行程序的编译器和链接器,都链接到这些 C 库。(另外,C 库用它们自己的实现“包装”系统调用是正常的,这些实现与系统调用具有相同的名称,但提供了一定程度的可移植性,可能会添加一些用于调试、跟踪或错误处理的钩子)。
当然,最深层次的细节是内核源代码本身。这些文档正是内核实现的内容。例如,如果您想准确地查看内核尝试查找并作为“init”进程执行的位置和文件名的列表,您可以在 init/main.c 中看到它
几年前,我曾短暂而随意地参与过,组织了一系列内核源代码学习会议,包括一些导览和讲座,并创建了一个在线学习指南来理解它们。部分内容记录在Wikiversity 的页面上:阅读 Linux 内核源代码。仍然有一些有用的讨论可以让好奇和自我激励的读者开始。(但是,您仍然需要能够阅读 C 源代码并了解一些内联汇编才能真正学习它)。
真正的问题是,播音员通常会对那些玩冷门的人吟诵......“你怎么能咕咕咕?”
归档时间: |
|
查看次数: |
1323 次 |
最近记录: |