基本信息
源码名称:Linux内核完全注释.pdf(V5.0)
源码大小:11.64M
文件格式:.pdf
开发语言:C/C++
更新时间:2020-10-21
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
CLK-5.0-WithCover.pdf

目录
序言................................................................................ 1
本书目标.................................................................... 1
本书特点.................................................................... 1
阅读早期内核的其他好处 ........................................ 2
阅读完整源代码的重要性和必要性 ........................ 2
如何选择要阅读的内核版本 .................................... 3
阅读本书需具备的基础知识 .................................... 3
使用早期版本是否过时? ........................................ 4
EXT 文件系统与 MINIX 文件系统........................... 4
1 概述........................................................................ 5
1.1 LINUX 的诞生和发展 .................................... 5
1.2 内容综述...................................................... 12
1.3 本章小结...................................................... 16
2 微型计算机组成结构.......................................... 17
2.1 微型计算机组成原理.................................. 17
2.2 I/O 端口寻址和访问控制方式 ................... 19
2.3 主存储器、BIOS 和 CMOS 存储器 .......... 21
2.4 控制器和控制卡.......................................... 23
2.5 本章小结...................................................... 32
3 内核编程语言和环境.......................................... 33
3.1 AS86 汇编器 ................................................ 33
3.2 GNU AS 汇编 ............................................... 39
3.3 C 语言程序.................................................. 49
3.4 C 与汇编程序的相互调用.......................... 57
3.5 LINUX 0.12 目标文件格式 .......................... 65
3.6 MAKE 程序和 MAKEFILE 文件.................... 74
3.7 本章小结...................................................... 79
4 80X86 保护模式及其编程.................................. 81
4.1 80X86 系统寄存器和系统指令 ................. 81
4.2 保护模式内存管理...................................... 87
4.3 分段机制...................................................... 91
4.4 分页机制.................................................... 102
4.5 保护 ........................................................... 106
4.6 中断和异常处理........................................ 116
4.7 任务管理.................................................... 126
4.8 保护模式编程初始化................................ 134
4.9 一个简单的多任务内核实例.................... 137
4.10 本章小结.................................................... 147
5 LINUX 内核体系结构...................................... 149
5.1 LINUX 内核模式 ........................................ 149
5.2 LINUX 内核系统体系结构 ........................ 150
5.3 LINUX 内核对内存的管理和使用............. 152
5.4 中断机制.................................................... 165
5.5 LINUX 的系统调用..................................... 169
5.6 系统时间和定时........................................ 172
5.7 LINUX 进程控制 ........................................ 173
5.8 LINUX 系统中堆栈的使用方法................. 183
5.9 LINUX 0.12 采用的文件系统..................... 187
5.10 LINUX 内核源代码的目录结构................. 188
5.11 内核与应用程序的关系............................ 196
5.12 LINUX/MAKEFILE 文件............................... 197
5.13 本章小结.................................................... 202
6 引导启动程序(BOOT)................................. 203
6.1 总体功能.................................................... 203
6.2 BOOTSECT.S 程序 ....................................... 205
6.3 SETUP.S 程序.............................................. 219
6.4 HEAD.S 程序 ............................................... 248
6.5 本章小结.................................................... 261
7 初始化程序(INIT)............................................. 263
7.1 MAIN.C 程序 ............................................... 263
7.2 环境初始化工作........................................ 276
7.3 本章小结.................................................... 278
8 内核代码(KERNEL)......................................... 279
8.1 总体功能.................................................... 279
8.2 ASM.S 程序 ................................................. 282
8.3 TRAPS.C 程序.............................................. 288
8.4 SYS_CALL.S 程序........................................ 294
8.5 MKTIME.C 程序........................................... 307
8.6 SCHED.C 程序 ............................................. 309
8.7 SIGNAL.C 程序............................................ 329
8.8 EXIT.C 程序................................................. 345
8.9 FORK.C 程序 ............................................... 359
8.10 SYS.C 程序.................................................. 366
8.11 VSPRINTF.C 程序......................................... 382
8.12 PRINTK.C 程序 ............................................ 390
8.13 PANIC.C 程序 .............................................. 391
8.14 本章小结.................................................... 392
9 块设备驱动程序(BLOCK DRIVER) .............. 393
9.1 总体功能.................................................... 394
9.2 BLK.H 文件 ................................................. 398
9.3 HD.C 程序................................................... 402
9.4 LL_RW_BLK.C 程序..................................... 425
9.5 RAMDISK.C 程序......................................... 432
9.6 FLOPPY.C 程序 ............................................ 438
目录
- II -
9.7 本章小结.................................................... 466
10 字符设备驱动程序(CHAR DRIVER)......... 467
10.1 总体功能.................................................... 467
10.2 KEYBOARD.S 程序...................................... 478
10.3 CONSOLE.C 程序......................................... 497
10.4 SERIAL.C 程序 ............................................ 532
10.5 RS_IO.S 程序............................................... 540
10.6 TTY_IO.C 程序............................................ 544
10.7 TTY_IOCTL.C 程序...................................... 560
10.8 本章小结.................................................... 568
11 数学协处理器(MATH)................................. 569
11.1 总体功能描述............................................ 569
11.2 MATH-EMULATION.C 程序........................... 578
11.3 ERROR.C 程序............................................. 590
11.4 EA.C 程序 ................................................... 591
11.5 CONVERT.C 程序......................................... 595
11.6 ADD.C 程序................................................. 600
11.7 COMPARE.C 程序 ........................................ 603
11.8 GET_PUT.C 程序.......................................... 605
11.9 MUL.C 程序 ................................................ 611
11.10 DIV.C 程序.............................................. 613
11.11 本章小结 ............................................... 615
12 文件系统(FS) ................................................ 617
12.1 总体功能.................................................... 617
12.2 BUFFER.C 程序............................................ 634
12.3 BITMAP.C 程序............................................ 652
12.4 TRUNCATE.C 程序....................................... 658
12.5 INODE.C 程序.............................................. 661
12.6 SUPER.C 程序.............................................. 673
12.7 NAMEI.C 程序 ............................................. 683
12.8 FILE_TABLE.C 程序..................................... 710
12.9 BLOCK_DEV.C 程序..................................... 710
12.10 FILE_DEV.C 程序..................................... 714
12.11 PIPE.C 程序............................................. 717
12.12 CHAR_DEV.C 程序 .................................. 722
12.13 READ_WRITE.C 程序............................... 725
12.14 OPEN.C 程序........................................... 731
12.15 EXEC.C 程序........................................... 739
12.16 STAT.C 程序 ............................................ 756
12.17 FCNTL.C 程序 ......................................... 759
12.18 IOCTL.C 程序.......................................... 762
12.19 SELECT.C 程序........................................ 764
12.20 本章小结 ............................................... 776
13 内存管理(MM) ............................................. 777
13.1 总体功能.................................................... 777
13.2 MEMORY.C 程序.......................................... 786
13.3 PAGE.S 程序................................................ 805
13.4 SWAP.C 程序 ............................................... 806
13.5 本章小结.................................................... 815
14 头文件(INCLUDE)....................................... 817
14.1 INCLUDE/目录下的文件............................. 817
14.2 A.OUT.H 文件.............................................. 819
14.3 CONST.H 文件 ............................................. 829
14.4 CTYPE.H 文件 ............................................. 830
14.5 ERRNO.H 文件............................................. 831
14.6 FCNTL.H 文件 ............................................. 834
14.7 SIGNAL.H 文件............................................ 836
14.8 STDARG.H 文件........................................... 838
14.9 STDDEF.H 文件............................................ 840
14.10 STRING.H 文件........................................ 841
14.11 TERMIOS.H 文件 ..................................... 851
14.12 TIME.H 文件............................................ 858
14.13 UNISTD.H 文件........................................ 859
14.14 UTIME.H 文件 ......................................... 866
14.15 INCLUDE/ASM/目录下的文件................. 867
14.16 IO.H 文件................................................ 867
14.17 MEMORY.H 文件...................................... 868
14.18 SEGMENT.H 文件..................................... 869
14.19 SYSTEM.H 文件....................................... 871
14.20 INCLUDE/LINUX/目录下的文件.............. 876
14.21 CONFIG.H 文件 ....................................... 876
14.22 FDREG.H 头文件..................................... 878
14.23 FS.H 文件................................................ 881
14.24 HDREG.H 文件 ........................................ 887
14.25 HEAD.H 文件 .......................................... 890
14.26 KERNEL.H 文件....................................... 890
14.27 MATH_EMU.H 文件 ................................. 892
14.28 MM.H 文件.............................................. 896
14.29 SCHED.H 文件......................................... 898
14.30 SYS.H 文件 ............................................. 906
14.31 TTY.H 文件.............................................. 909
14.32 INCLUDE/SYS/目录中的文件.................. 913
14.33 PARAM.H 文件........................................ 913
14.34 RESOURCE.H 文件................................... 914
14.35 STAT.H 文件 ............................................ 916
14.36 TIME.H 文件............................................ 918
14.37 TIMES.H 文件.......................................... 919
14.38 TYPES.H 文件.......................................... 920
14.39 UTSNAME.H 文件.................................... 921
14.40 WAIT.H 文件............................................ 922
14.41 本章小结 ............................................... 923
15 库文件(LIB) .................................................. 925
15.1 _EXIT.C 程序............................................... 926
15.2 CLOSE.C 程序.............................................. 927
15.3 CTYPE.C 程序.............................................. 927
15.4 DUP.C 程序.................................................. 928
15.5 ERRNO.C 程序............................................. 929
15.6 EXECVE.C 程序........................................... 929
15.7 MALLOC.C 程序 .......................................... 930
15.8 OPEN.C 程序 ............................................... 939
15.9 SETSID.C 程序............................................. 940
目录
- III -
15.10 STRING.C 程序........................................ 941
15.11 WAIT.C 程序............................................ 941
15.12 WRITE.C 程序 ......................................... 942
15.13 本章小结 ............................................... 943
16 建造工具(TOOLS) ....................................... 945
16.1 BUILD.C 程序.............................................. 945
16.2 本章小结.................................................... 952
17 实验环境设置与使用方法............................ 953
17.1 BOCHS 仿真软件系统................................ 953
17.2 在 BOCHS 中运行 LINUX 0.1X 系统 .......... 958
17.3 访问磁盘映像文件中的信息.................... 962
17.4 编译运行简单内核示例程序.................... 965
17.5 利用 BOCHS 调试内核............................... 967
17.6 创建磁盘映像文件.................................... 974
17.7 制作根文件系统........................................ 978
17.8 在 LINUX 0.12 系统上编译 0.12 内核....... 985
17.9 在 REDHAT 系统下编译 LINUX 0.1X 内核 986
17.10 内核引导 根文件系统组成的集成盘.. 990
17.11 利用 GDB 和 BOCHS 调试内核源代码 995
17.12 本章小结 ............................................. 1000
参考文献 .................................................................. 1001
附录 .......................................................................... 1003
附录 1 ASCII 码表 ............................................... 1003
附录 2 常用 C0、C1 控制字符表 ...................... 1004
附录 3 常用转义序列和控制序列...................... 1005
附录 4 第 1 套键盘扫描码集.............................. 1008