Linux 核心游记(转)

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,分三卷下载,必须全部下完后解压,本书籍只有注册会员才可以下。
download.gif

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-947423/,如需转载,请注明出处,否则将追究法律责任。

user_pic_default.png
请登录后发表评论 登录
全部评论
<%=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%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%> <%}%>

转载于:http://blog.itpub.net/10617542/viewspace-947423/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值