ELF(Executable Linkable Format)分类

  • 可重定位文件:包含代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也可以归为这一类。
  • 可执行文件:包含可以执行的程序,代表ELF可执行文件,没有扩展名。
  • 共享目标文件:包含代码和数据,可以在两种情况下使用
    • 链接器可以使用这种文件跟其他可重定位文件和共享目标文件链接,生成新的目标文件。
    • 动态链接器将几个共享目标文件与可执行文件结合,作为进程映像的一部分来运行。
  • 核心转储文件(core dump):进程意外终止,系统可以为该进程地址空间的内存及终止是的一些其他信息转储到核心转储文件。
    Read more »

内存映射

内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间<—->用户空间两者之间需要大量数据传输等操作的话效率是非常高的。

Read more »

awk

  1. 命令行格式
    1
    awk [-F  field-separator]  'commands'  input-file(s)
  • 默认以空格或tab分割域,-F后可以跟一个自定义域分隔符。
  • commands表示awk命令,如print。
  • input-file表示输入的文件。
    Read more »

shell命令

shell不属于内核,而是以内核之外的用户态方式运行。因此它就相当于操作系统的一层外壳,为用户提供使用操作系统的接口。
shell命令分为内置命令和外部命令,如下图,cd是外部命令,cat等都是外部命令。

Read more »

文件系统

感觉这篇文章已经讲的十分透彻清晰。另外需要掌握细节的话参考《Linux内核设计与实现(第三版)》第十三章:虚拟文件系统。

Read more »