Linux内核源代码物理布局解析
1. 内核源码目录结构概述
对大量的内核源代码进行结构化组织并非易事,开发者们也未遵循严格的规则。最初drivers/char和drivers/block的划分如今已效率低下,为满足不同需求,创建了更多的目录。不过,最通用的字符和块设备驱动仍位于drivers/char和drivers/block中,下面先来了解这两个目录。
2. drivers/char 目录
drivers/char目录或许是驱动层级中最重要的目录,因为它包含了许多与驱动无关的代码。
-通用 tty 层:该目录实现了通用 tty 层(包括线路规程、tty 软件驱动等功能)。
-终端相关文件:
-console.c:通过实现特定的转义序列和键盘编码,定义了 Linux 终端类型。
-vt.c:定义了虚拟控制台,包含从一个虚拟控制台切换到另一个虚拟控制台的代码。
-selection.c:实现了选择支持(Linux 文本控制台的复制粘贴功能)。
-n_tty.c:实现了默认的线路规程。
-设备无关文件:
-lp.c:实现了一个通用的并行端口打