我自己的书,没理由不力荐的,你说呢

Forrest 评论 自己动手写操作系统 5 2005-12-11 01:15:11
尤寒
尤寒 2006-01-01 23:20:12

正准备读呢,没想到还看到了作者,哈哈,激动啊

Alexander
Alexander 2006-10-20 16:43:40

总在很低的层次,真拿你没办法。

fivestone
fivestone (Dorian Gray Syndrome) 2006-11-15 16:01:41

传说中的豆瓣"我写"....

这本书的封面真是赞啊

[已注销]
[已注销] 2007-05-07 00:17:43

自由以太
自由以太 2007-08-29 14:02:31

支持作者再接再厉,步步提升,成为一个真正的专家!

小心
小心 (S) 2007-12-27 16:38:58

我对保护模式很苦恼,看不懂
似乎没有一本写保护模式很好的书
希望作者多写一些关于保护模式的入门的内容
还有一点就是不太喜欢NASM

Hezekiah
Hezekiah (唯独恩典) 2008-01-26 23:06:41

@鹏鹏
如果你懂得一点汇编,并且在网上多搜索一点资料,相信花几个晚上时间,你就能明白保护模式。

以\chapter3\a\pmtest1.asm为例子

首先你大致了解一下宏Descriptor的作用
因为描述符装段基址和段界限的值时,是把值拆开存放的(x86平台的历史原因造成的),所以用一个宏来自动分解值。

然后是GDT。GDT其实就是描述符数组,数组的第一个元素必须是0,可以称为DUMMY哑元。

接着理解GdtPtr。它之前有个GdtLen,其实就是为了换算GdtPtr的GDT界限的,没什么多余用途。GdtPtr虽然名字是ptr,但不是指针那么简单,注意它是由GDT界限和GDT基址构成的。

再是选则子。这个程序选择子直接就是对应段在GDT中离GDT开头的偏宜量。实际上选择子还有低3位最为特殊用途,这个程序没用上,就直接做成偏移量了。书中对此有描述~

接下来开始执行程序了,先是把几个段寄存器初始化一下。接着初始化GDT里的描述符,因为有n个段(这个程序是1个)的描述符中基址为0了,实际不是零,需要动态的计算出基址。再初始化GdtPtr,还是因为基址是0造成的,算出基址~加载进gdtr。

然后关中断,开A20,跳进保护模式中~OK了。

Hezekiah
Hezekiah (唯独恩典) 2008-01-26 23:16:40

最为->作为

chaoses
chaoses 2008-07-04 18:59:25

那得趕緊讀這本書了,能和作者面對面交流的機會不多的哦!

观山
观山 2008-09-03 13:07:23

请问,电脑无软驱,有没有什么好的解决办法

海阔天空
海阔天空 2008-11-24 11:37:30

一定要有软盘?

海阔天空
海阔天空 2008-11-24 11:39:42

U盘行不?何况电脑上没有软驱啊!

Maiza
Maiza 2009-01-14 10:43:56

楼主加油!!!
我本人的计算机 基本自学 看到这样省油的入门书 高兴还来不及~
正在 细度~~ 顶 !!!

iLRainyday
iLRainyday (人生如戏 全凭演技) 2009-02-14 17:55:43

@鹏鹏
你指望在这本书上看懂PM是不可能的。把intel developer's manual vol.3看完你就会明白多了。

upo
upo (apoz) 2009-09-23 20:20:59

为啥各大网上书店都没有哇??郁闷啊~~

[已注销]
[已注销] 2009-09-24 18:51:16

有趣儿。

upo
upo (apoz) 2009-09-25 21:11:23

为啥各大网上书店都没有哇??郁闷啊~~

Forrest
Forrest (forrestyu.net) 2009-09-28 20:04:18

本书第二版《Orange'S:一个操作系统的实现》已经出版,所以第一版就不再印了。
第二版完全包含第一版内容,并增加了四章,详情可参考:
http://www.douban.com/subject/3735649/

jaypei
jaypei (jaypei) 2012-01-02 13:15:08

最近开始读了,非常注重实际的一本书,太棒了!

西平司马
西平司马 (合理解释) 2012-04-27 08:43:10

此书和王爽的《汇编语言》一样是不可多得的经典。

一夜孤城
一夜孤城 2012-11-13 22:59:41

lz加油

名字再怎么长也
名字再怎么长也 2013-08-05 13:08:09

谢谢作者!不过,11章的代码在机器上运行后,发现键盘没法输入了!

职业学混子
职业学混子 (你好!) 2013-09-09 16:41:08

发现原理倒是不难理解,却在使用开发工具上悲剧了一次又一次,浪费了我大量的时间!作者先生您能不能帮帮忙,为什么很多东西按照您说的步骤装上去却不能用,尤其是和linux相关的部分,为什么?????我花了一个多星期都没能完全搞定这些工具,严重打击了的学习兴致!!!!!!!!!!!!!!!

山越野人
山越野人 (腾蛇乘雾,终为土灰。) 2013-12-02 12:56:33

你是不是以前在#ubuntu-cn上挂着?

森林和树木
森林和树木 2015-07-20 21:30:37

看来 很厉害。

胡搞毛搞
胡搞毛搞 2016-01-03 22:02:51

请问这书现在还有出版吗

[已注销]
[已注销] 2016-06-14 11:07:41

哪里还有软盘

fregoco
fregoco 2017-10-11 12:37:36

看评论,大家对作者书认可度蛮高的,我也准备读一读。只是第一章,实现一个简单的操作系统,需要软驱,难倒了大部分现在想学的人,因为现在大部分电脑已经没有软驱这种古董了。。。。

没法收的烂摊子
没法收的烂摊子 2017-10-15 23:12:34
看评论,大家对作者书认可度蛮高的,我也准备读一读。只是第一章,实现一个简单的操作系统,... 看评论,大家对作者书认可度蛮高的,我也准备读一读。只是第一章,实现一个简单的操作系统,需要软驱,难倒了大部分现在想学的人,因为现在大部分电脑已经没有软驱这种古董了。。。。 ... fregoco

物理软驱并不是必须的,你用bochs虚拟一个就可以,几乎没差别,然后再用vmware虚拟一个ubuntu14,或者直接装一个Ubuntu,注意虚拟机上别装ubuntu16,我试过装不上,有点问题。第一章看到要软驱别理会继续往下看就行了。如果用的windows建议虚拟一个Ubuntu。

fregoco
fregoco 2017-10-17 11:48:45
物理软驱并不是必须的,你用bochs虚拟一个就可以,几乎没差别,然后再用vmware虚拟一个ubuntu... 物理软驱并不是必须的,你用bochs虚拟一个就可以,几乎没差别,然后再用vmware虚拟一个ubuntu14,或者直接装一个Ubuntu,注意虚拟机上别装ubuntu16,我试过装不上,有点问题。第一章看到要软驱别理会继续往下看就行了。如果用的windows建议虚拟一个Ubuntu。 ... 没法收的烂摊子

感谢,看的时候在网上爬了许多相关的文章,这些都已经解决了。

濒死土著人
濒死土著人 (濒死土著人) 2018-03-30 13:37:25

最近半月,每天醒来的第一件事 就是把 Orange'sOS 的代码过一遍。起初觉得工作量大,渐渐的开始对各个模块熟悉起来,进而在脑中生成了对应的OS模型。感谢于老师和这本书,带我入门OS。也许再过段时间,我也能写一个自己的小系统。