深入探索Linux技术核心:从源码结构到系统运行机制
1. Linux源码结构概述
Linux源码涵盖约8750个C和汇编文件,分布在约530个子目录中,代码量达约400万行,占用超144MB磁盘空间。以下是主要目录及其功能:
| 目录 | 描述 |
| — | — |
| Documentation | 包含内核组件的通用解释和提示的文本文件 |
| arch | 平台相关代码,如i386(IBM的PC架构)、alpha(Hewlett - Packard的Alpha架构)等 |
| drivers | 设备驱动,包括acorn(Acorn的设备)、acpi(高级配置电源接口)等 |
| fs | 文件系统,如adfs(Acorn磁盘文件系统)、ext2(Linux原生Ext2文件系统)等 |
| include | 头文件(.h),有asm - generic(平台无关的低级头文件)等 |
| init | 内核初始化代码 |
| ipc | System V的进程间通信 |
| kernel | 内核核心,涉及进程、定时、程序执行等 |
| lib | 通用内核函数 |
| mm | 内存处理 |
| net | 一系列网络协议 |
| scripts | 用于构建内核映像的外部程序 |
1.1 arch目录详解
arch目录包含多种平台相关代码,以下是部分架构说明:
-i386:针对IBM的PC架构,涵盖内核核心、内存管理等相关代码。
-alpha