| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2511 人关注过本帖
标题:请问大家读《自己动手写操作系统》一书有没有什么好的方法呢
只看楼主 加入收藏
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
结帖率:60%
收藏
已结贴  问题点数:0 回复次数:10 
请问大家读《自己动手写操作系统》一书有没有什么好的方法呢
灌水帖
看到bccn推出os内核开发版块,又回来了。最近在看于渊的《自己动手写操作系统》一书的第二版,总觉得书中的例子如果自己凭理解去做,写不出代码来;如果看着书敲代码,效果又不是很好;只看原理,还是没有达到自己动手写操作系统的目的。
所以不知道论坛上各位大侠有没有在读这本书的,并想知道大家读这本书有没有什么好的方法。
谢谢~~
搜索更多相关主题的帖子: 操作系统 
2010-08-02 22:27
miaowangjian
Rank: 2
等 级:论坛游民
帖 子:34
专家分:30
注 册:2010-1-29
收藏
得分:20 
haha,我读《自己动手写操作系统》的时候也碰到同样的问题,不过我读的是第一版

最初读发现这本书的时候很激动,是一个实践性很强的书。粗略读了第一章,就激动的开始在xp下配置好开发环境,编写了第一个实验。
后来,看着书,心情好时自己敲代码编译,更多时候直接拷贝光盘里的代码,修修改改再编译运行。
因为我学习习惯的是通过 简单修改几个值,再编译运行,查看产生的效果变化 以此来学习的。但按照书上介绍的开发环境编译书里的代码,再执行周期很大(主要是我没完全搭建好环境,每次修改编译后,都要重新启动虚拟机和里面的DOS,然后执行编译后的程序),时间久了就变得懒了,不再对书上的实验代码进行修改测试。而只是看书,于是到了第三章就越来越看不懂了

放下几个月后,重新拾起勇气再拿起书研究,这回下了很大决心,先将前3,4,5章的所有代码都打印出来(好厚一打),整理好,一个实验一个实验一句一句看,用笔勾画出调用关系图(主要是我当初汇编不扎实,所以当初对复杂些的汇编程序就晕了)。
这样,我对书上第三章大部分都能看明白了。但是依然不会凭借理解去自己写,因此心里也没什么底,看久了又放下。

再后来,我偶然情况下,发现了在xp下搭建能够快速编译测试的开发平台方法。于是我将书上的实验一个个搬到新的平台上重新做一遍,因为编译器改了,实验的大题内容结构不变,但许多细节都要改动。结果许多用nasm编写很简单的地方,在新的编译器上却出现许多问题。于是只有使用bochsdbg.exe一点点调试。如此一个个实验做下来。我对第三章的内容就了解得比较透彻了。此时我可以根据自己的想法随意改动程序编写自己的实验例子了。

《自己动手写操作系统》里的第三章最为重要,看懂了里面的所有实验,32位保护模式的核心内容就明白了。后面的章节的内容,基本上就不会有什么大的问题。

最近在看linux0.12代码。因为没有一个个实验做来逐步了解。学习的方法为:1.看书上对模块功能的解释,2.逐行代码阅读,将代码与解释(注释)对上号,3.使用bochsdbg.exe调试,设断点,单步执行等,并根据代码功能查看寄存器与内存变化。

总结来说学习的方法有两种:
1.根据书上的例子自己动手写实验(完全照书上敲代码,不是实验,是练习打字),需要有自己的理解,存在错误了要想办法调试找出来。
2.不想动脑经编写实验(或条件不允许),那么就边阅读代码,并且尽可能通过调试验证代码对寄存器内存等产生的变化。

当你能够在阅读代码时,程序对内存,对计算机产生的各种影响都心如明镜般的话,那么就完全可以单凭阅读代码就能理解程序了,而不需要通过编写实验或是调试来学习。
2010-08-03 01:42
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
收藏
得分:0 
回复 2楼 miaowangjian
太感谢miaowangjian了,我先按你的方法试试看,到时候遇到不懂的地方再来问你~~

2010-08-03 16:59
大色秘密
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-2-17
收藏
得分:0 
嘎嘎,正在学习中。谢谢二楼的回复,我试试!
2010-08-12 01:30
djchx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-18
收藏
得分:0 
顶一下
2010-08-19 12:32
helloycc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-10-4
收藏
得分:0 
不是太难的,2楼说的很好,我个人认为先学汇编(主要是BIOS中断),然后这本书其实很简单.
2010-10-05 12:58
j5anj5an
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-29
收藏
得分:0 
你们好,我最近也在看自己动手的第二版,这里面是直接在linux下用bochs调试程序的,但是我搭建的环境总是有问题!有没有成功安装的拿来分享一下吧!最好有具体的步骤(有截图最好)!谢谢了!
2010-11-29 23:32
neney
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-31
收藏
得分:0 
自学系难些,还要恒心
2011-02-25 09:57
zhaoxiaoyong
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-5-9
收藏
得分:0 
我跟楼主一样的感觉、。
2011-05-09 14:05
yunlong4310
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-26
收藏
得分:0 
最近我也在看这本书,很不错
2011-10-26 17:33
快速回复:请问大家读《自己动手写操作系统》一书有没有什么好的方法呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved