logo资料库

linux内核完全剖析(0.11版本内核)V3.0.pdf

第1页 / 共906页
第2页 / 共906页
第3页 / 共906页
第4页 / 共906页
第5页 / 共906页
第6页 / 共906页
第7页 / 共906页
第8页 / 共906页
资料共906页,剩余部分请下载后查看
目录
序言
第1章 概述
1.1 Linux的诞生和发展
1.2 内容综述
1.3 本章小结
第2章 微型计算机组成结构
2.1 微型计算机组成原理
2.2 I/O端口寻址和控制访问方式
2.3 主存储器、BIOS和CMOS存储器
2.4 控制器和控制卡
2.5 本章小结
第3章 内核编程语言和环境
3.1 as86汇编器
3.2 GNU as汇编
3.3 C语言程序
3.4 C与汇编程序的相互调用
3.5 Linux 0.11目标文件格式
3.6 Make程序和Makefile文件
3.7 本章小结
第4章 80X86保护模式及其编程
4.1 80X86系统寄存器和系统指令
4.2 保护模式内存管理
4.3 分段机制
4.4 分页机制
4.5 保护
4.6 中断和异常处理
4.7 任务管理
4.8 保护模式编程初始化
4.9 一个简单的多任务内核实例
第5章 Linux内核体系结构
5.1 Linux内核模式
5.2 Linux内核系统体系结构
5.3 Linux内核对内存的管理和使用
5.4 Linux系统的中断机制
5.5 Linux的系统调用
5.6 系统时间和定时
5.7 Linux进程控制
5.8 Linux系统中堆栈的使用方法
5.9 Linux 0.11采用的文件系统
5.10 Linux内核源代码的目录结构
5.11 内核系统与应用程序的关系
5.12 linux/Makefile文件
5.13 本章小结
第6章 引导启动程序(boot)
6.1 总体功能
6.2 bootsect.s程序
6.3 setup.s程序
6.4 head.s程序
6.5 本章小结
第7章 初始化程序(init)
7.1 main.c程序
7.2 环境初始化工作
7.3 本章小结
第8章 内核代码(kernel)
8.1 总体功能
8.2 Makefile文件
8.3 asm.s程序
8.4 traps.c程序
8.5 system_call.s程序
8.6 mktime.c
8.7 sched.c程序
8.8 signal.c程序
8.9 exit.c程序
8.10 fork.c程序
8.11 sys.c程序
8.12 vsprintf.c程序
8.13 printk.c程序
8.14 panic.c程序
8.15 本章小结
第9章 块设备驱动程序(block driver)
9.1 总体功能
9.2 Makefile文件
9.3 blk.h文件
9.4 hd.c程序
9.5 ll_rw_blk.c程序
9.6 ramdisk.c程序
9.7 floppy.c程序
第10章 字符设备驱动程序(char driver)
10.1 总体功能
10.2 Makefile文件
10.3 keyboard.S程序
10.4 console.c程序
10.5 serial.c程序
10.6 rs_io.s程序
10.7 tty_io.c程序
10.8 tty_ioctl.c程序
第11章 数学协处理器(math)
11.1 Makefile文件
11.2 math-emulation.c程序
第12章 文件系统(fs)
12.1 总体功能
12.2 Makefile文件
12.3 buffer.c程序
12.4 bitmap.c程序
12.5 truncate.c程序
12.6 inode.c程序
12.7 super.c程序
12.8 namei.c程序
12.9 file_table.c程序
12.10 block_dev.c程序
12.11 file_dev.c程序
12.12 pipe.c程序
12.13 char_dev.c程序
12.14 read_write.c程序
12.15 open.c程序
12.16 exec.c程序
12.17 stat.c程序
12.18 fcntl.c程序
12.19 ioctl.c程序
第13章 内存管理(mm)
13.1 总体功能
13.2 Makefile文件
13.3 memory.c程序
13.4 page.s程序
第14章 头文件(include)
14.1 include/目录下的文件
14.2 a.out.h文件
14.3 const.h文件
14.4 ctype.h文件
14.5 errno.h文件
14.6 fcntl.h文件
14.7 signal.h文件
14.8 stdarg.h文件
14.9 stddef.h文件
14.10 string.h文件
14.11 termios.h文件
14.12 time.h文件
14.13 unistd.h文件
14.14 utime.h文件
14.15 include/asm/目录下的文件
14.16 io.h文件
14.17 memory.h文件
14.18 segment.h文件
14.19 system.h文件
14.20 include/linux/目录下的文件
14.21 config.h文件
14.22 fdreg.h头文件
14.23 fs.h文件
14.24 hdreg.h文件
14.25 head.h文件
14.26 kernel.h文件
14.27 mm.h文件
14.28 sched.h文件
14.29 sys.h文件
14.30 tty.h文件
14.31 include/sys/目录中的文件
14.32 stat.h文件
14.33 times.h文件
14.34 types.h文件
14.35 utsname.h文件
14.36 wait.h文件
第15章 库文件(lib)
15.1 Makefile文件
15.2 _exit.c程序
15.3 close.c程序
15.4 ctype.c程序
15.5 dup.c程序
15.6 errno.c程序
15.7 execve.c程序
15.8 malloc.c程序
15.9 open.c程序
15.10 setsid.c程序
15.11 string.c程序
15.12 wait.c程序
15.13 write.c程序
第16章 建造工具(tools)
16.1 build.c程序
第17章 实验环境设置与使用方法
17.1 Bochs仿真软件系统
17.2 在Bochs中运行Linux 0.1x系统
17.3 访问磁盘映像文件中的信息
17.4 编译运行简单内核示例程序
17.5 利用Bochs调试内核
17.6 创建磁盘映像文件
17.7 制作根文件系统
17.8 在Linux 0.11系统上编译0.11内核
17.9 在Redhat 9系统下编译Linux 0.11内核
17.10 内核引导启动+根文件系统组成的集成盘
17.11 从硬盘启动:利用shoelace引导软件
17.12 利用GDB和Bochs调试内核源代码
参考文献
附录
附录1 内核数据结构
附录2 ASCII码表
附录3 常用C0 C1控制字符表
附录4 常用转义序列和控制序列
索引
Linux v0.11 Linux Linux LINUX Linux Linux 0.11 0.95 Linux PC C 80X86 Linux Linux 0.11 www.oldlinux.org Linux .,. gohigh@sh163.net gohigh@gmail.com 1239 ,:200092 © 2002 - 2007 by Zhao Jiong © 2002 - 2007 .
................................................................................ 1 ........................................................ 1 .................................................... 1 ........................................ 2 ........................ 2 ............................ 3 .................................... 3 ........................................ 4 EXT2 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 ........................................................... 31 3 .................................... 32 3.1 AS86 ....................................................... 32 3.2 GNU AS ...................................................... 38 3.3 C ......................................................... 48 3.4 C ................................. 55 3.5 LINUX 0.11 ................................. 63 3.6 MAKE MAKEFILE ........................... 72 4 80X86 ............................ 75 4.1 80X86 ........................ 75 4.2 ............................................ 81 4.3 ........................................................... 85 4.4 ........................................................... 96 4.5 ................................................................... 99 4.6 .............................................. 110 4.7 ......................................................... 120 4.8 ...................................... 128 4.9 .......................... 131 5 LINUX ................................ 141 5.1 LINUX ............................................... 141 5.2 LINUX ............................... 142 5.3 LINUX ................... 144 5.4 ......................................................... 157 5.5 LINUX ........................................... 160 5.6 .............................................. 162 5.7 LINUX ............................................... 164 5.8 LINUX ....................... 172 5.9 LINUX 0.11 ............................ 176 5.10 LINUX ..................... 177 5.11 ........................ 184 5.12 LINUX/MAKEFILE .................................... 184 5.13 ........................................................ 189 6 BOOT........................... 191 6.1 .......................................................... 191 6.2 BOOTSECT.S ............................................... 193 6.3 SETUP.S ..................................................... 203 6.4 HEAD.S ...................................................... 221 6.5 .......................................................... 234 7 (INIT) ....................................... 235 7.1 MAIN.C ...................................................... 235 7.2 .............................................. 247 7.3 .......................................................... 249 8 (KERNEL)................................... 251 8.1 .......................................................... 251 8.2 MAKEFILE ................................................. 254 8.3 ASM.S ........................................................ 256 8.4 TRAPS.C ..................................................... 262 8.5 SYSTEM_CALL.S ........................................ 267 8.6 MKTIME.C .................................................. 279 8.7 SCHED.C .................................................... 281 8.8 SIGNAL.C ................................................... 300 8.9 EXIT.C ....................................................... 311 8.10 FORK.C .................................................... 318 8.11 SYS.C ....................................................... 326 8.12 VSPRINTF.C .............................................. 333 8.13 PRINTK.C ................................................. 341 8.14 PANIC.C ................................................... 342 8.15 ........................................................ 343 9 (BLOCK DRIVER)......... 345 9.1 .......................................................... 346 9.2 MAKEFILE ................................................. 349 9.3 BLK.H ........................................................ 351 9.4 HD.C .......................................................... 355 9.5 LL_RW_BLK.C ........................................... 378 9.6 RAMDISK.C ................................................ 384 9.7 FLOPPY.C ................................................... 390
10 (CHAR DRIVER) ..... 417 10.1 ....................................................... 417 10.2 MAKEFILE ............................................... 427 10.3 KEYBOARD.S .......................................... 429 10.4 CONSOLE.C .............................................. 448 10.5 SERIAL.C ................................................. 474 10.6 RS_IO.S ................................................... 483 10.7 TTY_IO.C ................................................. 487 10.8 TTY_IOCTL.C ........................................... 499 11 (MATH).............................. 507 11.1 MAKEFILE ............................................... 507 11.2 MATH-EMULATION.C ................................ 509 12 (FS)............................................. 511 12.1 ....................................................... 511 12.2 MAKEFILE ............................................... 527 12.3 BUFFER.C ................................................ 530 12.4 BITMAP.C ................................................. 547 12.5 TRUNCTE.C .............................................. 553 12.6 INODE.C .................................................. 555 12.7 SUPER.C .................................................. 567 12.8 NAMEI.C .................................................. 577 12.9 FILE_TABLE.C .......................................... 601 12.10 BLOCK_DEV.C ....................................... 601 12.11 FILE_DEV.C ............................................ 605 12.12 PIPE.C .................................................... 608 12.13 CHAR_DEV.C ......................................... 612 12.14 READ_WRITE.C ...................................... 615 12.15 OPEN.C .................................................. 621 12.16 EXEC.C .................................................. 627 12.17 STAT.C ................................................... 647 12.18 FCNTL.C ................................................ 649 12.19 IOCTL.C ................................................. 652 13 (MM).......................................... 655 13.1 ....................................................... 655 13.2 MAKEFILE ............................................... 661 13.3 MEMORY.C ............................................... 662 13.4 PAGE.S ..................................................... 679 14 (INCLUDE) ................................... 683 14.1 INCLUDE/ ................................. 683 14.2 A.OUT.H ................................................... 684 14.3 CONST.H .................................................. 695 14.4 CTYPE.H .................................................. 695 14.5 ERRNO.H ................................................. 697 14.6 FCNTL.H .................................................. 699 14.7 SIGNAL.H ................................................ 701 14.8 STDARG.H ................................................ 703 14.9 STDDEF.H ................................................ 704 14.10 STRING.H ............................................... 705 14.11 TERMIOS.H ............................................ 715 14.12 TIME.H ................................................... 722 14.13 UNISTD.H ............................................... 724 14.14 UTIME.H ................................................ 729 14.15 INCLUDE/ASM/ ....................... 731 14.16 IO.H ....................................................... 731 14.17 MEMORY.H ............................................. 732 14.18 SEGMENT.H ............................................ 733 14.19 SYSTEM.H .............................................. 735 14.20 INCLUDE/LINUX/ .................... 739 14.21 CONFIG.H ............................................... 739 14.22 FDREG.H ............................................ 741 14.23 FS.H ....................................................... 744 14.24 HDREG.H ................................................ 749 14.25 HEAD.H ................................................. 752 14.26 KERNEL.H .............................................. 753 14.27 MM.H ..................................................... 754 14.28 SCHED.H ................................................ 754 14.29 SYS.H .................................................... 761 14.30 TTY.H ..................................................... 763 14.31 INCLUDE/SYS/......................... 766 14.32 STAT.H ................................................... 766 14.33 TIMES.H ................................................. 767 14.34 TYPES.H ................................................. 768 14.35 UTSNAME.H ........................................... 769 14.36 WAIT.H ................................................... 770 15 (LIB)............................................... 773 15.1 MAKEFILE ............................................... 774 15.2 _EXIT.C ................................................... 776 15.3 CLOSE.C .................................................. 777 15.4 CTYPE.C .................................................. 777 15.5 DUP.C ...................................................... 778 15.6 ERRNO.C .................................................. 779 15.7 EXECVE.C ................................................ 779 15.8 MALLOC.C ............................................... 780 15.9 OPEN.C .................................................... 789 15.10 SETSID.C ................................................ 790 15.11 STRING.C ................................................ 791 15.12 WAIT.C ................................................... 791 15.13 WRITE.C ................................................ 792 16 (TOOLS) .................................... 795 16.1 BUILD.C ................................................... 795 17 ........................ 802 17.1 BOCHS ............................................ 802 17.2 BOCHS LINUX 0.11 ............... 806 17.3 ........................ 813 17.4 ........................ 815 17.5 BOCHS ................................... 817 17.6 ........................................ 824 17.7 ............................................ 827 17.8 LINUX 0.11 0.11 ........... 834 17.9 REDHAT 9 LINUX 0.11 .. 835
17.10 + 838 17.11 SHOELACE .... 843 17.12 GDB BOCHS ...... 846 .................................................................... 853 ............................................................................ 855 1 ............................................ 855 2 ASCII ................................................. 863 3 C0C1 ......................... 864 4 ........................ 865 5 1 ................................ 868 ............................................................................ 869
Linux Linux linux linux Linux UNIX Linux Linux Linux Redhat 7.0 2.2.16 Fedora Core 4 2.6.11 Linux 2.2.20 268 Linux Linux Scott Maxwell Linux Linux Linux (*.h) make Linux Linux John Lions UNIX UNIX UNIX V6 PDP-11 A.S.Tanenbaum MINIX Linux Linux Linux Linux Linux Linux
分享到:
收藏