《以C语言解析电脑》书评

     最近一直在写一个DOS下检查笔记本的CPU、memory、hard disk和CD-ROM的tool。2010的9月底10月初本身就是一个很纠结的时间段,因而这个工具也让我很纠结,断断续续的,从中秋前两天开始这个任务,然后度过了3天的佳节,回来后连续写了6天又迎来了史上最长的国庆,今天是国庆的第一天,开始总结并反思自己写这个tool的经历。这个tool的基本功能都已经实现了,剩下的就是狗尾续貂了,当然您要是理解成锦上添花,我会很开心。

台湾前辈蔡英川有本书是《以C语言解析电脑》,在开发这个工具之前,我就在淘宝上花费RMB170多购得了它,因而站在巨人的肩膀上,使得我的开发顺利了不少,该tool的IDE部分就是借鉴了前辈的实现方法。当然由于PC架构更新很快,蔡前辈的这本书就有许多需要改进的地方,不知道蔡前辈有没有兴趣出第二版。

首先看硬盘这部分。

现在的SATA硬盘都采用了AHCI模式,当然AHCI和IDE的是同一个PCI bus和device,只是function number有所不同。所以在DOS下访问二者的方式几乎一致,都是先要通过它的PCI地址来获取系统为它分配的port,然后再往该port下命令的方式来获取硬盘参数。可惜蔡前辈的code有些许的瑕疵,使得只能访问IDE而不能访问AHCI。另外还有一个bug,使得只能访问IDE 的legacy port(0x170~0x177和0x1f0~0x1f7),而一旦bios修改了IDE的port,就不能读出硬盘参数。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值