详细学习linux架构的资源?
作者:互联网
我想学习Linux文件层次结构以及操作系统如何在更深层次上工作.是否有任何电子书或网页可供学习?
解决方法:
Linux文件/目录层次结构由File Hierarchy Standard或FHS涵盖.
操作系统如何在“更深层次”工作是一个复杂得多的主题.通常,表面级别是用户命令…主要是/ bin和/usr/bin目录中的那些,这些都在手册页的第1章部分中介绍.下一级是标准库函数和接口(在编程方面),在大多数UNIX系统(包括Linux)的第3章中都有介绍.系统级实用程序位于/ sbin和/usr/sbin中,并由man第8章介绍,配置文件存储在/ etc中,并在第5章中由手册页覆盖.
下一个较低级别的细节将是系统调用接口.第2章/第2章中的手册页对此进行了介绍.系统调用是内核中的函数…并且有关如何调用它们的详细信息主要由您的C编程库(libc —在必须的Linux系统上以glibc — GNU lib形式提供)覆盖. C).
内核本身是用C语言编写的,但正如你可能想到的那样,如果你考虑“鸡与鸡蛋”问题,它就不会与libc联系起来.因此内核提供了C库所依赖的功能.用户空间程序,例如’ls’命令,shell,任何编辑器,以及实际上用于将源代码转换为运行程序的编译器和链接器都链接到这些C库. (此外,C库通过自己的实现“包装”系统调用是正常的,这些实现与系统调用具有相同的名称,但提供了一定程度的可移植性,可能添加了一些用于调试,跟踪或错误处理的挂钩).
当然,最深层次的细节是内核源代码本身.这些文档正是内核实现的内容.例如,如果您想要准确查看内核尝试查找和执行的位置和文件名列表作为“init”进程,您可以在init / main.c中看到它.
几年前,我简单而随意地参加了一些活动,组织了一系列内核源代码学习课程,并参加了一些导游和讲座,并创建了一个在线学习指南,以便了解它们.部分内容记录在Wikiversity: Reading the Linux Kernel Sources的页面上.对于让好奇和自我激励的读者开始,仍然有一些有用的讨论. (但是,您仍然需要能够阅读C源代码并且可能了解一些内联汇编才能真正研究它).
真正的问题就在于播音员通常会在那些玩弄边缘的人身上吟唱……“你怎么能go??”
标签:linux,architecture,fhs 来源: https://codeday.me/bug/20190816/1664169.html