概述
经过本人不懈努力,终于找到了《Linux内核完全注释》修正版3.0 带书签的pdf版本,点击这里可以下载。
这里再给出oldlinux论坛中的各版本下载链接:http://oldlinux.org/oldlinux/viewthread.php?tid=290。
虽然之前有整理一个目录与pdf页码的对照表,但有了带书签的pdf版本就应该不需要了。
标题 | pdf文档中的页号 |
---|---|
目录 | 5 |
序言 | 8 |
第1章 概述 | 12 |
第2章 微型计算机组成结构 | 24 |
2.1 微型计算机组成原理 | 24 |
2.2 I/O端口寻址和访问控制方式 | 26 |
2.3 主存储器、BIOS和CMOS存储器 | 28 |
2.4 控制器和控制卡 | 30 |
2.5 本章小结 | 38 |
第3章 内核编程语言和环境 | 39 |
3.1 AS86汇编器 | 39 |
3.2 GNU as 汇编 | 45 |
3.3 C语言程序 | 55 |
3.4 C与汇编程序的相互调用 | 62 |
3.5 LINUX 0.11 目标文件格式 | 70 |
3.6 MAKE程序和MAKEFILE文件 | 79 |
第4章 80X86保护模式及其编程 | 82 |
4.1 80X86 系统寄存器和系统指令 | 82 |
4.2 保护模式内存管理 | 88 |
4.3 分段机制 | 92 |
4.4 分页机制 | 103 |
4.5 保护 | 106 |
4.6 中断和异常处理 | 117 |
4.7 任务管理 | 127 |
4.8 保护模式编程初始化 | 135 |
4.9 一个简单的多任务内核实例 | 138 |
第5章 LINUX内核体系结构 | 148 |
5.1 LINUX内核模式 | 148 |
5.2 LINUX内核系统体系结构 | 149 |
5.3 LINUX内核对内存的管理和使用 | 151 |
5.4 中断机制 | 164 |
5.5 LINUX的系统调用 | 167 |
5.6 系统时间和定时 | 169 |
5.7 LINUX进程控制 | 171 |
5.8 LINUX系统中堆栈的使用方法 | 179 |
5.9 LINUX 0.11 采用的文件系统 | 183 |
5.10 内核源代码的目录结构 | 184 |
5.11 内核系统与应用程序的关系 | 191 |
5.12 LINUX/MAKEFILE 文件 | 191 |
5.13 本章小结 | 196 |
第6章 引导启动程序(BOOT) | 198 |
6.1 总体功能 | 198 |
6.2 BOOTSECT.S 程序 | 200 |
6.3 SETUP.S 程序 | 210 |
6.4 HEAD.S 程序 | 228 |
6.5 本章小结 | 241 |
第7章 初始化程序(INIT) | 242 |
7.1 MAIN.C 程序 | 242 |
7.2 环境初始化工作 | 254 |
7.3 本章小结 | 256 |
第8章 内核代码(KERNEL) | 258 |
8.1 总体功能 | 258 |
8.2 MAKEFILE 文件 | 261 |
8.3 ASM.S 程序 | 263 |
8.4 TRAPS.C 程序 | 269 |
8.5 SYSTEM_CALL.S 程序 | 274 |
8.6 MKTIME.C 程序 | 286 |
8.7 SCHED.C 程序 | 288 |
8.8 SIGNAL.C 程序 | 307 |
8.9 EXIT.C 程序 | 319 |
8.10 FORK.C 程序 | 325 |
8.11 SYS.C 程序 | 333 |
8.12 VSPRINTF.C 程序 | 340 |
8.13 PRINTK.C 程序 | 348 |
8.14 PANIC.C 程序 | 349 |
8.15 本章小结 | 350 |
第9章 块设备驱动程序(BLOCK DRIVER) | 352 |
9.1 总体功能 | 353 |
9.2 MAKEFLIE 文件 | 356 |
9.3 BLK.H 文件 | 358 |
9.4 HD.C 程序 | 362 |
9.5 LL_RW_BLK.C 程序 | 385 |
9.6 RAMDISK.C 程序 | 391 |
9.7 FLOPPY.C 程序 | 397 |
第10章 字符设备驱动程序(CHAR DRIVER) | 426 |
10.1 总体功能 | 426 |
10.2 MAKEFILE 文件 | 436 |
10.3 KEYBOARD.S 程序 | 438 |
10.4 CONSOLE.C 程序 | 457 |
10.5 SERIAL.C 程序 | 483 |
10.6 RS_IO.S 程序 | 492 |
10.7 TTY_IO.C 程序 | 496 |
10.8 TTY_IOCTL.C 程序 | 508 |
第11章 数学协处理器(MATH) | 516 |
11.1 MAKEFILE 文件 | 516 |
11.2 MATH-EMULATION.C 程序 | 518 |
第12章 文件系统(FS) | 520 |
12.1 总体功能 | 520 |
12.2 MAKEFILE 文件 | 536 |
12.3 BUFFER.C 程序 | 539 |
12.4 BITMAP.C 程序 | 556 |
12.5 TRUNCATE.C 程序 | 562 |
12.6 INODE.C 程序 | 564 |
12.7 SUPER.C 程序 | 576 |
12.8 NAMEI.C 程序 | 586 |
12.9 FILE_TABLE.C 程序 | 610 |
12.10 BLOCK_DEV.C 程序 | 610 |
12.11 FILE_DEV.C 程序 | 614 |
12.12 PIPE.C 程序 | 617 |
12.13 CHAR_DEV.C 程序 | 621 |
12.14 READ_WRITE.C 程序 | 624 |
12.15 OPEN.C 程序 | 630 |
12.16 EXEC.C 程序 | 636 |
12.17 STAT.C 程序 | 656 |
12.18 FCNTL.C 程序 | 658 |
12.19 IOCTL.C 程序 | 661 |
第13章 内存管理(MM) | 664 |
13.1 总体功能 | 664 |
13.2 MAKEFILE 文件 | 670 |
13.3 MEMORY.C 程序 | 671 |
13.4 PAGE.C 程序 | 688 |
第14章 头文件(INCLUDE) | 692 |
14.1 INCLUDE/目录下的文件 | 692 |
14.2 A.OUT.H 文件 | 693 |
14.3 CONST.H 文件 | 704 |
14.4 CTYPE.H 文件 | 704 |
14.5 ERRNO.H 文件 | 706 |
14.6 FCNTL.H 文件 | 708 |
14.7 SIGNAL.H 文件 | 710 |
14.8 STDARG.H 文件 | 712 |
14.9 STDDEF.H 文件 | 713 |
14.10 STRING.H 文件 | 714 |
14.11 TERMIOS.H 文件 | 724 |
14.12 TIME.H 文件 | 731 |
14.13 UNISTD.H 文件 | 733 |
14.14 UTIME.H 文件 | 738 |
14.15 INCLUDE/ASM/目录下的文件 | 740 |
14.16 IO.H 文件 | 740 |
14.17 MEMORY.H 文件 | 741 |
14.18 SEGMENT.H 文件 | 742 |
14.19 SYSTEM.H 文件 | 744 |
14.20 INCLUDE/LINUX/目录下的文件 | 748 |
14.21 CONFIG.H 文件 | 748 |
14.22 FDREG.H 文件 | 750 |
14.23 FS.H 文件 | 753 |
14.24 HDREG.H 文件 | 759 |
14.25 HEAD.H 文件 | 761 |
14.26 KERNEL.H 文件 | 762 |
14.27 MM.H 文件 | 763 |
14.28 SCHED.H 文件 | 763 |
14.29 SYS.H 文件 | 770 |
14.30 TTY.H 文件 | 772 |
14.31 INCLUDE/SYS/目录下的文件 | 775 |
14.32 STAT.H 文件 | 775 |
14.33 TIMES.H 文件 | 777 |
14.34 TYPES.H 文件 | 777 |
14.35 UTSNAME.H 文件 | 778 |
14.36 WAIT.H 文件 | 779 |
第15章 库文件(LIB) | 782 |
15.1 MAKEFILE 文件 | 783 |
15.2 _EXIT.C 程序 | 785 |
15.3 CLOSE.C 程序 | 786 |
15.4 CTYPE.C 程序 | 786 |
15.5 DUP.C 程序 | 787 |
15.6 ERRNO.C 程序 | 788 |
15.7 EXECVE.C 程序 | 788 |
15.8 MALLOC.C 程序 | 789 |
15.9 OPEN.C 程序 | 798 |
15.10 SETSID.C 程序 | 799 |
15.11 STRING.C 程序 | 800 |
15.12 WAIT.C 程序 | 800 |
15.13 WRITE.C 程序 | 801 |
第16章 建造工具(TOOLS) | 804 |
16.1 BUILD.C 程序 | 804 |
第17章 实验环境设置与使用方法 | 811 |
17.1 BOCHS 仿真系统 | 811 |
17.2 在BOCHS中运行 LINUX 0.11 系统 | 815 |
17.3 访问磁盘映像文件中的信息 | 822 |
17.4 编译运行简单内核示例程序 | 824 |
17.5 利用BOCHS调试内核 | 826 |
17.6 创建磁盘映像文件 | 833 |
17.7 制作根文件系统 | 836 |
17.8 在LINUX 0.11 系统上编译0.11内核 | 843 |
17.9 在 REDHAT 9 系统下编译 LINUX 0.11 内核 | 844 |
17.10 内核引导启动+根文件系统组成的集成盘 | 847 |
17.11 从硬盘启动:利用 SHOELACE 引导软件 | 852 |
17.12 利用GDB和BOCHS调试内核源代码 | 855 |
参考文献 | 862 |
附录 | 864 |
附录1 内核数据结构 | 864 |
附录2 ASCII码表 | 872 |
附录3 常用C0、C1控制字符表 | 873 |
附录4 常用转义序列和控制序列 | 874 |
附录5 第1套键盘扫描码集 | 877 |
索引 | 878 |
最后
以上就是健康水蜜桃为你收集整理的《Linux内核完全注释》pdf v3.0的全部内容,希望文章能够帮你解决《Linux内核完全注释》pdf v3.0所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复