中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-27 09:05
共 47,815 主题排行 / 349,928 发帖 / 今日 0 篇 / 48,289 会员排行
DOS启动盘 & LOGO技术 (启动盘室) » 三重故障重启机器——绝妙!
可打印版本  1,642 / 5
第1楼 tinybit 发表于 2005-10-29 22:07
初级用户 发帖 57 积分 137
三重故障重启机器——绝妙!
用这篇英文文章里面的词来赞美,就是 elegant reset。

今天用 debug 跟踪 NTLDR 的代码,无意中发现了 NTLDR 采用键盘控制器命令 out 64h, feh 来重启动机器。虽然这个方法不是新颖的,但对我来说,却比较新颖,因为我在其他地方还没有见到这种重启机器的方法。一般都是用 jmp f000:fff0 或者 jmp ffff:0000 来重启(只能在实模式下使用)。用键盘控制器命令,可以在保护模式下使用,也可以在实模式下使用,是比较好的方法。

在 google 中猛找一通,发现了重启机器的更好方法:三重故障(triple fault):

http://www.x86.org/productivity/triplefault.htm

如果你的机器上没有键盘控制器,哈哈!你就无法用 NTLDR 中所采用的这种重启机器的方法了。而三重故障的重启方法与键盘控制器无关,总是有效的。确实有些机器没有键盘控制器,在 GNU GRUB 的网站上曾经看到这样的 BUG 报告。

-------------

这里是 DOS 论坛,我觉得缺少了点什么,比如,讨论 BIOS 的地方却没有,讨论 CPU 指令的地方也没有。我觉得似乎应该建立一个专门的讨论区。

其实 DOS 是一个集大成者。DOS 和 BIOS 密切相关,学习 CPU 指令的人,不学 DOS 和 BIOS 肯定是不行的,因为这是 PC 技术的发展历史,PC 技术最初就是这么走过来的,你撇开了历史,还能得到什么呢?空空如也!

我这种论调,微软肯定反对,因为微软恰恰不想让人们学习 DOS。好了,这不说了,人家有人家的商业目的,让普通的人聪明了,能够和它竞争了,那么它的软件还能热卖吗?所以,微软成功地培养了大批的傻瓜用户——那一堆一堆的只会用鼠标的电脑操作员。它让这些人永远仰望着微软的高楼大厦,望洋兴叹。

----------------

还找到了 A20 控制的很好的网页,正在研究呢:

http://www.win.tue.nl/~aeb/linux/kbd/A20.html

用 google 吧,你用国内的其他搜索引擎,恐怕无法找到那些精彩的英文技术资料的。
第2楼 fastslz 发表于 2006-07-05 22:00
铂金会员 发帖 2,315 积分 5,493 来自 上海
刚看到这段精彩言语.....
第3楼 electronixtar 发表于 2006-07-05 23:47
铂金会员 发帖 2,672 积分 7,493
顶一个,喜欢这种本质的东西
第4楼 Wengier 发表于 2006-07-06 01:08
系统支持 发帖 10,521 积分 27,736
开设一个如DOSforever所说的“大杂烩”专区,包括CPU、BIOS等各方面的讨论内容?
第5楼 fastslz 发表于 2006-07-06 12:46
铂金会员 发帖 2,315 积分 5,493 来自 上海
支持一下!!!
CPU虽然很深奥,但是了解BIOS很有必要,现在硬件更新特别快BIOS技术随之更新,判断电脑故障DOS和BIOS一个也不能少。
第6楼 electronixtar 发表于 2006-07-06 15:57
铂金会员 发帖 2,672 积分 7,493
Intel 的 什么狗屁 EFI 要代替BIOS技术了,听说主要是BIOS太古老了,启动太慢了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023