Chinaunix

标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1 [打印本页]

作者: johnnyboy    时间: 2003-10-07 20:45
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
发布《linux内核0.11(0.95)完全注释》修正版1.1

主要修正:

2003-10-7

1. 增加了有关内核体系结构一章内容(第2章),对整个内核中的文件进行了综合描述;
2. 修改了原$2, $3, $4和第5章的内容,增加了多幅示意图;
3. 增加附录“内核重要常数”;
4. 增加附录“内核中的数据结构”,便于查询;
5. 改正了一些错字别字;



请到 http://oldlinux.org/ 论坛中去下载。

谢谢。

======================================================
Linux内核0.11(0.95)完全注释
A Heavy Commented Linux Kernel Source Code
Linux Version 0.11

赵炯 著

这是本站献给那些致力于Linux软件开发和使用爱好者的一本有关Linux内核工作原理的入门书。

版权说明

作者保留本电子书籍的修改和正式出版的所有权利.读者可以自由传播本书全部和部分章节的内容,但需要注明出处.由于目前本书尚为草稿阶段,因此存在许多错误和不足之处,希望读者能踊跃给予批评指正或建议.可以通过电子邮件给我发信息:gohigh@sh163.net, 或直接来信至:上海同济大学 机械电子工程研究所(上海四平路1239号,邮编:200092).


内容简介

本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然所选择的版本较低,但该内核已能够正常编译运行,其中已经包括了LINUX工作原理的精髓,通过阅读其源代码能快速地完全理解内核的运作机制。书中首先以Linux源代码版本的变迁历史为主线,详细介绍了Linux系统的发展历史,着重说明了各个内核版本之间的重要区别和改进方面,给出了选择0.11(0.95)版作为研究的对象的原因。另外介绍了内核源代码的组织结构及相互关系,同时还说明了编译和运行该版本内核的方法。然后本书依据内核源代码的组织结构对所有内核程序和文件进行了注释和详细说明。每章的安排基本上分为具体研究对象的概述、每个文件的功能介绍、代码内注释、代码中难点及相关资料介绍、与当前版本的主要区别等部分。最后一章内容总结性地介绍了继续研究Linux系统的方法和着手点。

& 2002,2003 by Zhao Jiong
& 2002,2003 赵炯 版权所有.

===================================
http://oldlinux.org/

本书可以在此下载:
http://oldlinux.org/download/clk011c.pdf (3.7MB)或
http://oldlinux.org/download/clk011c.zip (3.2MB)

也可以到ftp服务器上去下载:
ftp://plinux.org/pub/linux/docs/CommentedLinuxKernel011.pdf (不带封面版)

gohigh@sh163.net
作者: crazyjava    时间: 2003-10-08 04:55
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
好是好,不过都下不了啊,论坛也进不了。
作者: johnnyboy    时间: 2003-10-08 23:32
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
可以了。顺便顶一下。

作者: tsgm    时间: 2003-10-09 01:20
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
提供镜像下载。
感谢赵博士。
http://bbs.guomin.net/index.php?act=ST&f=3&t=13
作者: peterhuyang    时间: 2003-10-11 10:30
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
我找遍了INTERNET,都难找到 Linux 0.11,能给一个下载的链接吗? 谢谢。
作者: johnnyboy    时间: 2003-10-11 23:48
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
[quote]原帖由 "peterhuyang"]我找遍了INTERNET,都难找到 Linux 0.11,能给一个下载的链接吗? 谢谢。[/quote 发表:


http://www.kernel.org/ 上,或者

http://plinux.org/kernel.org/kernel/Historic/old-versions/
作者: david5337    时间: 2003-10-12 09:41
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
好资料!
作者: peterhuyang    时间: 2003-10-12 21:51
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
感谢。
还能问一个问题,我刚刚开始读LINUX内核,用的还是WIN操作系统。有没有在Win下编译 bootsect.s的 AS86 ?  我用了MASM根本不行。
作者: peterhuyang    时间: 2003-10-12 22:21
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
据说不得Nasm可以支持,不知道是否支持此bootsect.s的编译?哪有Nasm下啊!
作者: peterhuyang    时间: 2003-10-12 23:42
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
问一个初学者的问题,不好意思。 如何制作一张0.11的引导软盘。
我想按您的书上写的引导步骤,我打算用WINHEX软件将三个文件手工写入软盘引导,但无奈没有二进制版本,前辈可否提供 Linux0.11版 bootesct.s setup.s head.s 三个文件二进制版本的下载地(我现在用的是WINDOWS操作系统,想必很多读者可能也会遇到此问题)。深表感谢。

还有一个问题,我想装一个最小完整的LINUX0.11,请问一下该如何进行,现在的LINUX都是光盘启动,一顺下去就装好了。0.11版的如何安装呢? 谢谢指点
作者: peterhuyang    时间: 2003-10-14 20:08
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
还有一个问题请教:
load_setup
          .... .....
          .... .....
          j load_setup

我在Debug 里输入 j xxxx 怎么报错,请问 j 对应什么汇编跳转指令?

楼主有没有QQ啊! 加我6456413。我最近一直在依你的书学习,并且都记学习笔记。
作者: peterhuyang    时间: 2003-10-15 16:11
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
读完了第二章节:BOOT,准备向SETUP篇进军。

这本书写的真是不错。依托它,在DOS上做了一个小小实验,在引导一开始跳到自定义的一段子程序显示一行字符串,再跳回来启动DOS。
作者: hunterhujian    时间: 2003-10-15 17:11
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
有没有兄弟做过试验的,把经验贴出来嘛???很多地方都不容易读懂,也可以帖一些自己的体会阿!!这样大家才有进步嘛!!
作者: johnnyboy    时间: 2003-10-16 21:30
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
原帖由 "peterhuyang" 发表:
问一个初学者的问题,不好意思。 如何制作一张0.11的引导软盘。
我想按您的书上写的引导步骤,我打算用WINHEX软件将三个文件手工写入软盘引导,但无奈没有二进制版本,前辈可否提供 Linux0.11版 bootesct.s setup.s..........



http://oldlinux.org/
的论坛上已经有了,可以下载实验。
作者: johnnyboy    时间: 2003-10-16 21:33
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
原帖由 "peterhuyang" 发表:
还有一个问题请教:
load_setup
          .... .....
          .... .....
          j load_setup

我在Debug 里输入 j xxxx 怎么报错,请问 j 对应什么汇编跳转指令?

楼主有没有QQ啊! 加我6456413。?.........


gohigh@hotmail.com
作者: peterhuyang    时间: 2003-10-22 08:28
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
-u 100
0AE7:0100 EBFE          JMP     0100
0AE7:0102 EBFC          JMP     0100
0AE7:0104 EBFA          JMP     0100
0AE7:0106 EBF8          JMP     0100
0AE7:0108 EBF6          JMP     0100

我用DEBUG反汇编一段代码如上,发现 JMP 100,对应的汇编代码都不一样

JMP 100        JMP 100     JMP 100

EB FE              EB FC       EBFA

相同的跳转指令被汇编为不同的二进制机器代码,请问一下:JMP汇编成机器码是如何对应成的,要是能提供一些资料也行。

1110 1011 1111 1110   EBFE
1110 1011 1111 1100   EBFC
1110 1011 1111 1010   EBFA
1110 1011 1111 1000   EBF8
1110 1011 1111 0110   EBF6
--------------------------
0000 0001 0000 0000   0100

直接也看不出指令和跳转地址的对应规律最好有资料看。有知道的朋友请跟一下先谢了。


发现上述问题是在读核的时候,用Win98引导盘做实验, 我手工修改引导区,在引导之间先执行我的一段代码,跳转回来的时候, 我直接用原JMP 014(第一扇区最开始二个字节) 指令发现根本回不去,最后发现是跳转的指令汇编后的代码不同。
作者: peterhuyang    时间: 2003-10-22 08:50
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
我用的是 0.11的boot, 0.97的root引导(没有找到0.11的root引导)。

Main还没开始读,不知引导到下面是否正常. 怎么进控制台?

... ...
child 190 died with code ff00
child 191 died with code ff00
child 192 died with code ff00
... ...
作者: 蓝色虫    时间: 2003-10-22 10:49
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
thx
作者: peterhuyang    时间: 2003-10-22 12:46
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
[quote]原帖由 "蓝色虫"]thx[/quote 发表:


朋友,能不能写清楚点。


请教一个问题:怎么把一张软盘格式化成 minix 文件系统? 感谢。

我试了下面这个不行。
mkfs.minix格式化minix文件系统的.minux ,它是个教学用的Unix;
作者: johnnyboy    时间: 2003-10-30 14:41
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
顶一下,嘿嘿。
作者: peterhuyang    时间: 2003-11-01 21:03
标题: 发布《linux内核0.11(0.95)完全注释》修正版1.1
读到实模式进保护模式时,我停下来专攻保护模式,现在感觉对保护模式有些入门了, 欢迎对读核,对保护模式 有兴趣朋友加我,一起读核,一起讨论。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2