Linux 核心游记(转)[@more@] 本书以Linux 1.0核心为基础,详细注释了从开机启动到其正常运转的全过程,并且还给出了理解这个过程所需要的基础知识。
本书适合于所有Linux操作系统的爱好者。
目录:
第一部分、基础知识(Basic knowledge)
软件部分(Software part)
S1、Makefile简介
S1.1 Makefile规则
S2、汇编简介
S2.1 汇编优缺点
S2.2 汇编语法(AT&T asm VS Intel asm)
S2.3 Hello world!示例
S3、实模式向保护模式切换
S3.1 切换到保护方式的准备工作
S3.2 使用段间指令切换进保护模式
S3.3 打开A20地址线切换进保护模式
S4、gcc内嵌汇编
S4.1 内嵌汇编格式
S4.2 内嵌汇编示例
S5、GDB调试器
S5.1 GDB命令
S5.2 GDB调试样例
S6、系统调用实现详解
S6.1 核心中提供的宏
S6.2 系统调用编号
S6.3 系统调用入口点及函数表
S6.4 对系统调用调用
硬件部分(Hardware part)
H1、操作系统的引导
H1.1 BIOS的工作
H1.2 操作系统的引导块程序
H2、X86 CPU 寻址简介
H2.1 实模式
H2.2 实模式方式下物理地址的形成
H2.3 保护模式
H2.4 保护模式方式下物理地址的形成
H3、IDT & GDT & LDT
H3.1 IDT
H3.2 GDT & LDT
H4、8259A可编程中断控制器
H4.1 8259A芯片简介
H4.2 8259A芯片对的中断处理过程
H4.3 8259A编程方式
H5、I/O端口及指令
H5 1I/O端口
H5 2I/O指令
H6、获取系统时间
H6.1 CMOS RAM分配表
H6.2 读取CMOS RAM表
H6.3 Linux获取读取CMOS RAM的方式
第二部分、代码分析(Code analyzed)
引爆点
整个核心工程Makefile
zBoot/Makefile
总结
内存布局图
B
Boot/bootsect.S
概述
代码分析
Boot/setup.S
概述
代码分析
Boot/head.S
概述
代码分析
D
Drivers/char/console.c(部分代码)
Drivers/char/serial.c(部分代码)
Drivers/char/keyboard.c(部分代码)
Drivers/char/tty_io.c(部分代码)
Drivers/char/mem.c(部分代码)
Drivers/block/floppy.c(部分代码)
Drivers/block/ramdisk.c(部分代码)
Drivers/block/hd.c
Drivers/block/genhd.c(部分代码)
Drivers/block/hd.c(部分代码)
Drivers/block/xd.c(部分代码)
Drivers/block/ramdisk.c(部分代码)
Drivers/block/ll_rw_blk.c(部分代码)
Devices/net/lance.c(部分代码)
Devices/net/net_init.c(部分代码)
F
Fs/fcntl.c(部分代码)
Fs/exec.c(部分代码)
Fs/file_table.c(部分代码)
Fs/namei.c
Fs/buffer.c(部分代码)
Fs/super.c
Fs/file_table.c(部分代码)
Fs/inode.c(部分代码)
Fs/locks.c(部分代码)
Fs/open.c(部分代码)
Fs/devices.c(部分代码)
Fs/minix/inode.c(部分代码)
I
Init/main.c
概述
代码分析
Ipc/shm.c(部分代码)
Ipc/sem.c(部分代码)
Ibcs/emulate.c
Include/linux/unistd.h
Include/linux/sched.h
K
Kernel/panic.c
Kernel/traps.c
Kernel/irq.c(部分代码)
Kernel/time.c
Kernel/sched.c
Kernel/exit.c(部分代码)
Kernel/signal.c
Kernel/printk.c(部分代码)
Kernel/vsprintf.c(部分代码)
Kernel/fork.c(部分代码)
Kernel/sys_call.s
L
Lib/_exit.c
Lib/open.c
M
Mm/vmalloc.c(部分代码)
Mm/kmalloc.c(部分代码)
Mm/swap.c(部分代码)
Mm/memory.c(部分代码)
N
Net/unix/sock.c(部分代码)
Net/space.c(部分代码)
Net/ddi.c(部分代码)
Net/socket.c(部分代码)
Z
zBoot/head.S
概述
代码分析
核心游记总结(1.0核心)
第三部分、其他话题(Advanced part)
A1、模块的编写
A1-1 模块代码及分析
A1-2 模块的加载、注销及查看
A2、系统调用的添加
A2-1 静态添加系统调用
A2-1-1 讨论Linux系统调用的体系
A2-1-2 修改代码来添加系统调用
A2-2 动态添加系统调用
A2-2-1 动态添加系统调用的原理
A2-2-2 实现动态添加、修改系统调用
A2-2-3 反汇编capturemod.o并分析之
A3、函数库的编写
A3-1 静态函数库的编写
A3-1-1 包含算法的各个文件及Makefle
A3-1-2 测试静态函数库的程序及Makefile
A3-1-3 静态库编译情况
A3-1-4 主程序与静态库连接
A3-2 动态函数库的编写
A3-2-1 动态库编译情况
A3-2-2 使用动态装载器
A3-3 动态/静态函数库优点
A3-3-1 静态库优点
A3-3-2 动态库优点
第四部分附录(Appendix)
第五部分参考资料(Reference)
本电子书籍大小:4.44 MB,书籍格式:PDF,分三卷下载,必须全部下完后解压,本书籍只有注册会员才可以下。
本书适合于所有Linux操作系统的爱好者。
目录:
第一部分、基础知识(Basic knowledge)
软件部分(Software part)
S1、Makefile简介
S1.1 Makefile规则
S2、汇编简介
S2.1 汇编优缺点
S2.2 汇编语法(AT&T asm VS Intel asm)
S2.3 Hello world!示例
S3、实模式向保护模式切换
S3.1 切换到保护方式的准备工作
S3.2 使用段间指令切换进保护模式
S3.3 打开A20地址线切换进保护模式
S4、gcc内嵌汇编
S4.1 内嵌汇编格式
S4.2 内嵌汇编示例
S5、GDB调试器
S5.1 GDB命令
S5.2 GDB调试样例
S6、系统调用实现详解
S6.1 核心中提供的宏
S6.2 系统调用编号
S6.3 系统调用入口点及函数表
S6.4 对系统调用调用
硬件部分(Hardware part)
H1、操作系统的引导
H1.1 BIOS的工作
H1.2 操作系统的引导块程序
H2、X86 CPU 寻址简介
H2.1 实模式
H2.2 实模式方式下物理地址的形成
H2.3 保护模式
H2.4 保护模式方式下物理地址的形成
H3、IDT & GDT & LDT
H3.1 IDT
H3.2 GDT & LDT
H4、8259A可编程中断控制器
H4.1 8259A芯片简介
H4.2 8259A芯片对的中断处理过程
H4.3 8259A编程方式
H5、I/O端口及指令
H5 1I/O端口
H5 2I/O指令
H6、获取系统时间
H6.1 CMOS RAM分配表
H6.2 读取CMOS RAM表
H6.3 Linux获取读取CMOS RAM的方式
第二部分、代码分析(Code analyzed)
引爆点
整个核心工程Makefile
zBoot/Makefile
总结
内存布局图
B
Boot/bootsect.S
概述
代码分析
Boot/setup.S
概述
代码分析
Boot/head.S
概述
代码分析
D
Drivers/char/console.c(部分代码)
Drivers/char/serial.c(部分代码)
Drivers/char/keyboard.c(部分代码)
Drivers/char/tty_io.c(部分代码)
Drivers/char/mem.c(部分代码)
Drivers/block/floppy.c(部分代码)
Drivers/block/ramdisk.c(部分代码)
Drivers/block/hd.c
Drivers/block/genhd.c(部分代码)
Drivers/block/hd.c(部分代码)
Drivers/block/xd.c(部分代码)
Drivers/block/ramdisk.c(部分代码)
Drivers/block/ll_rw_blk.c(部分代码)
Devices/net/lance.c(部分代码)
Devices/net/net_init.c(部分代码)
F
Fs/fcntl.c(部分代码)
Fs/exec.c(部分代码)
Fs/file_table.c(部分代码)
Fs/namei.c
Fs/buffer.c(部分代码)
Fs/super.c
Fs/file_table.c(部分代码)
Fs/inode.c(部分代码)
Fs/locks.c(部分代码)
Fs/open.c(部分代码)
Fs/devices.c(部分代码)
Fs/minix/inode.c(部分代码)
I
Init/main.c
概述
代码分析
Ipc/shm.c(部分代码)
Ipc/sem.c(部分代码)
Ibcs/emulate.c
Include/linux/unistd.h
Include/linux/sched.h
K
Kernel/panic.c
Kernel/traps.c
Kernel/irq.c(部分代码)
Kernel/time.c
Kernel/sched.c
Kernel/exit.c(部分代码)
Kernel/signal.c
Kernel/printk.c(部分代码)
Kernel/vsprintf.c(部分代码)
Kernel/fork.c(部分代码)
Kernel/sys_call.s
L
Lib/_exit.c
Lib/open.c
M
Mm/vmalloc.c(部分代码)
Mm/kmalloc.c(部分代码)
Mm/swap.c(部分代码)
Mm/memory.c(部分代码)
N
Net/unix/sock.c(部分代码)
Net/space.c(部分代码)
Net/ddi.c(部分代码)
Net/socket.c(部分代码)
Z
zBoot/head.S
概述
代码分析
核心游记总结(1.0核心)
第三部分、其他话题(Advanced part)
A1、模块的编写
A1-1 模块代码及分析
A1-2 模块的加载、注销及查看
A2、系统调用的添加
A2-1 静态添加系统调用
A2-1-1 讨论Linux系统调用的体系
A2-1-2 修改代码来添加系统调用
A2-2 动态添加系统调用
A2-2-1 动态添加系统调用的原理
A2-2-2 实现动态添加、修改系统调用
A2-2-3 反汇编capturemod.o并分析之
A3、函数库的编写
A3-1 静态函数库的编写
A3-1-1 包含算法的各个文件及Makefle
A3-1-2 测试静态函数库的程序及Makefile
A3-1-3 静态库编译情况
A3-1-4 主程序与静态库连接
A3-2 动态函数库的编写
A3-2-1 动态库编译情况
A3-2-2 使用动态装载器
A3-3 动态/静态函数库优点
A3-3-1 静态库优点
A3-3-2 动态库优点
第四部分附录(Appendix)
第五部分参考资料(Reference)
本电子书籍大小:4.44 MB,书籍格式:PDF,分三卷下载,必须全部下完后解压,本书籍只有注册会员才可以下。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-947423/,如需转载,请注明出处,否则将追究法律责任。
下一篇:
Linux壁纸系列三十四(转)
请登录后发表评论
登录
全部评论
<%=items[i].createtime%>
<%=items[i].content%> <%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%}%> <%}%>
<%=items[i].items.items[j].createtime%>
<%=items[i].items.items[j].username%> 回复 <%=items[i].items.items[j].tousername%>: <%=items[i].items.items[j].content%>
还有<%=items[i].items.total-5%>条评论
) data-count=1 data-flag=true>点击查看
<%}%>
|
转载于:http://blog.itpub.net/10617542/viewspace-947423/