[转] 遍历PCI设备
发表于先来一段废话:
消化一下,准备自己也来写一个SCANPCI程序,不过不是在DOS下使用,而是在GRUB4DOS下使用.
根据netwinxp的汇编程序CHKPCI程序(第二个链接的后面)和这篇文章,消化了一些,目前可以简单显示当前PCI设备列表,还是有很多东西不是很明白,有空慢慢消化.顺便学点汇编知识.
先来一段废话:
消化一下,准备自己也来写一个SCANPCI程序,不过不是在DOS下使用,而是在GRUB4DOS下使用.
根据netwinxp的汇编程序CHKPCI程序(第二个链接的后面)和这篇文章,消化了一些,目前可以简单显示当前PCI设备列表,还是有很多东西不是很明白,有空慢慢消化.顺便学点汇编知识.
分布式查询从多异类数据源中访问数据。这些数据源可以存储在同一台计算机或不同的计算机上。Microsoft SQL Server 通过使用 OLE DB 来支持分布式查询。
SQL Server 用户可以使用分布式查询访问以下内容:
OLE DB 访问接口将在称为行集的表格格式对象中公开数据。SQL Server 允许在 Transact-SQL 语句中像引用 SQL Server 表一样引用 OLE DB 访问接口中的行集。
外部数据源中的表和视图可以在 SELECT、INSERT、UPDATE 和 DELETE Transact-SQL 语句中直接引用。因为分布式查询使用 OLE DB 作为基本接口,因此它们不仅可以访问带有 SQL 查询处理器的传统 DBMS 系统,也可以访问复杂的、具有不同功能的数据源所管理的数据。只要拥有数据的软件通过 OLE DB 访问接口在表格格式行集中公开其数据,就可在分布式查询中使用此数据。
注意: 在 SQL Server 中使用分布式查询与通过 ODBC 使用链接表功能相似。此功能先前受 Microsoft Access 支持,现在已将 OLE DB 作为外部数据的接口构建到 SQL Server 中。
下图显示了 SQL Server 实例的客户端计算机与 OLE DB 访问接口之间的连接。
有关分布式查询的重要主题
下表列出的主题提供了有助于理解和使用分布式查询来访问数据的信息,这些数据或者是在单独的 SQL Server 实例中或者在除 SQL Server 之外的其他数据源中。
有关信息 | 请参阅 |
---|---|
配置 OLE DB 访问接口和链接服务器 | 配置链接服务器为分布式查询配置 OLE DB 访问接口 |
分布式事务中的分布式查询 | 分布式查询和分布式事务 |
特定的 OLE DB 访问接口 | 用 SQL Server 测试过的 OLE DB 访问接口 |
OLE DB 访问接口的语言支持 | OLE DB 访问接口的 SQL 方言要求 |
链接服务器 | 访问外部数据 |
ODBC 和分布式查询 | 支持分布式查询的架构函数 |
性能问题 | 优化分布式查询 |
OLE DB 访问接口开发人员参考 | 用于分布式查询的 OLE DB 访问接口参考 |
统计要求 | OLE DB 访问接口的分布统计要求 |
分布式查询、链接服务器和允许的 Transact-SQL 语句的规则和限制。 | 分布式查询的准则系统存储过程 |
例子:
商场使用佳为软件,使用的是MSSQL数据库,需要在两个分店之间传数据.
首先就是建立服务器之间的链接.
使用以下命令添加(具体命令参数,请查看对应链接的详细介绍.
sp_addlinkedserver>>
sp_addlinkedserver 'srv01','','SQLOLEDB','192.168.0.1','pos'
sp_addlinkedsrvlogin>>设置连接参数密码
sp_addlinkedsrvlogin 'srv01','false',NULL,'sa','password'
创建好了就可以直接使用了.
格式
server_name.[database_name].[schema_name].object_name
具体点击这里查看Transact-SQL 语法约定
使用的例子:
查询员工用户信息表
select * from srv01.pos.dbo.jygtab</font>
或
select * from openquery('srv01','select * from jygtab')
当然同样可以加条件查询,或者更新都是可以的.
几个例子:
查询1号员工的资料:
select * from srv01.pos.dbo.jygtab where yx#=1
修改资料:
update srv01.pos.dbo.jygtab set xm='chenall' where yx#=1
联合查询:
select yx#,xm,lqm from jygtab,srv01.pos.dbo.jlqtab where ysn=lb and lb=2
把srv01服务器pos数据库的jygtab表内容插入到当前服务器:
insert into jygtab select * from srv01.pos.dbo.jygtab
也可以连接到一个文本文件,EXCEL,ACCESS,等其它支持的类型.
嘿,最近刚好需要用到这些东西,所以查了一下资料写在这里备忘.
创建链接服务器。链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。在使用 sp_addlinkedserver 创建链接服务器后,可对该服务器运行分布式查询。如果链接服务器定义为 SQL Server 实例,则可执行远程存储过程。
由于最近在测试GRUB4DOS的网络启动,因为要测试不同TFTP服务器的情况.所以需要来回切换两个TFTP服务器.刚开始时还是使用比较保守的方法,即修改DHCP服务器的配置,指定TFTP服务器地址,然后重启PXE客户端.
每次修改服务器的配置很麻烦,而且也影响了其它机器的启动,后来突然想到,GRUB4DOS PXE启动时的服务器IP地址在内存中保存的位置是已知的.是不是可以直接修改这个IP地址来实现切换TFTP服务器的功能呢,经过测试是成功的,分享一下,也许在某些情况下你也用得上.^_^
具体效果看图片....
启动时使用的是192.168.0.253服务器.
通过修改内存地址0x8288
位置的值来改来服务器IP地址.
其中0x3200a8c0
就是192.168.0.50
转换过来的.
0x3200a8c0
在内存中显示的是
C0 A8 00 32
对应的十进制192 168 0 50
怎么样,应该看懂了吧.如果看不懂也没有关系.可以使用目前GRUB4DOS
的内置命令calc来计算
calc 50<<8+0<<8+168<<8+192
然后用write命令修改,也可以直接修改
calc *0x8288 = 50<<8+0<<8+168<<8+192
只要把IP地址反序代替上面的相对应的数字就可以了.
注:这里的计算器是简单计算,从左到右依次计算的.
通过显示服务器上的一个文件可以看到已经成功改变了.
介绍一新很简单的同步其它微搏到新浪微搏的方法,基本上可以自动从任何微搏同步到新浪,不需要再去苦苦找其它同步工具了,由于使用的是新浪微搏自带的功能,安全可靠,只是同步延迟时间长了一些而已.
之前可以使用嘀神的同步功能,但最近新浪限制了嘀神的同步功能.
许多人都转而求其它方法,后来我经过测试发现其实新浪很早就提供了从其它微搏同步到新浪的方法了.
只要使用关联搏客的功能就可以实现自动把其它微搏同步过来了.
比如自动从同步嘀咕.
只要在关联搏客中输入你要同步的地址比如我的嘀咕页面是:http://chenall.net/
OK,关联成功.以后你在嘀咕发的微搏就会自动同步到新浪了.
怎么样是不是很简单.
如果上面的同步方法失败了(只要关联成功一般就可以的了),还可以使用另一个方法,利用google reader还可以同时把多个来源同步到新浪.
比如可以把你的搏客还有微搏等整合在一起供给新浪微搏自动同步.
使用Google reader的方法也很简单
希望这个文章对想同步微搏到新浪的朋友有用,我已经用了好几天了,一切正常.因为我有多个来源要同步,所以我是使用Google reader合烧同步的方法.
然后还可以把这个整合后的源地址放到feedburner,它让自动同步到twitter上.
转载自月光博客 [ http://www.williamlong.info/ ]
原文链接地址:http://www.williamlong.info/archives/2173.html
5月10日下午,世界上最伟大的云存储服务之一——Dropbox被证实无法从中国地区访问,客户端和网站均无法正常连接和登录,我先前曾经多次推荐过这个伟大的服务,没想到这么快Dropbox就惨遭毒手。
目前,中国用户已经无法通过Dropbox客户端和Web网页访问Dropbox,已经连接上Dropbox服务器的客户端一经退出就会无法再登录,显示的现象是Connecting一直在持续却连接不上,从客户端点“Launch Dropbox Website”也无法打开网页登录。
封锁Dropbox的方式是关键字封锁和IP封锁,关键字为“.dropbox.com”,IP为Dropbox官方网站的IP,可谓是全方面地定点封锁。
当确认证实这个消息的时候,我的心情是复杂和震惊的,进行这个操作的人啊,你是否知道你在做什么?你让全中国的网民无法使用这个世界上最优秀的云存储服务,这种没有任何意识形态的专业类服务网站为什么也会遭此毒手呢?使用这个服务的大多是拥有多台电脑的资深网民,现在都必须面对这个现实:我们生活在一个与互联网为敌的国家,一切优秀的互联网服务在这个国家都无法正常运行,这个国家已经病入膏肓、无可救药了。
Dropbox是这几年来唯一的一个我手动添加到“启动”组里的客户端软件,是一个优秀的在线存储服务,通过云计算实现网际网络上的文件同步,用户可以存储并共享文件和文件夹。这个小软件让我能轻松的管理我三台电脑的文件、图片、资料文档,几台电脑之间的文件同步和更新均自动完成,每天电脑都自动下载最新版本的文档,在任何一台电脑更新文档之后,都会自动上传到云存储服务器端,接着同步到其他电脑,如果没有这个服务,多台电脑之间的文件同步和更新将让我头痛,我可能将拿着U盘在几台电脑间忙于复制粘贴,毫无意义地浪费自己的宝贵时间。
做为一个专业技术人员,有些事情我本不想提,我们惹不起,还躲不起吗?但事实证明我错了,它就像一个恶魔一样渗入到了你所有的工作和生活当中,它就在你周围,无所不在,干扰和妨碍你正常的工作、学习和生活,逃避是毫无意义的,因为我们实际上已经无路可逃,只能眼睁睁地看着工作和生活中最好用的工具都一个接一个无法使用,却无能为力,唯一的出路可能就是出国,用自己的脚来投票,离开这个国家,如果大家有条件的话,从现在开始就准备着离开这个令人窒息的铁笼子吧,像Google那样离开中国,只有这样,你才能自由的访问任何一个网站,把所有精力都放在自己的专业上,不必担心自己心爱的工具哪天是否会无法访问。
Dropbox被封无疑让“中国的互联网是开放的”这个论断显得可笑和荒谬。
这次对于Dropbox的封锁,实际上通过修改Hosts可以让Dropbox客户端成功登陆,登录后同步文件都不成问题,具体修改Hosts的IP是哪个地址,聪明的用户都可以猜到,我就不公布了,以免这个IP也出意外。
转者注:又一个G.W.F牺牲品,对XXXX很无语的说。我再次怀疑,中国的互联网真的是开放的吗?
战争中你被俘了,敌人拷问你情报。你是这么想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会杀了我省粮食,但如果我死活不说,他们也会认为我没有价值而杀了我。怎样才能做到既让他们确信我知道情报,但又一丁点情报也不泄露呢?
这的确是一个令人纠结的问题,但阿里巴巴想了一个好办法,当强盗向他拷问打开山洞石门的咒语时,他对强盗说:“你们离我一箭之地,用弓箭指着我,你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。”
强盗们当然会同意,因为这个方案不仅对他们没有任何损失,而且还能帮助他们搞清楚阿里巴巴到底是否知道咒语这个问题。阿里巴巴也没损失,因为处于一箭之地的强盗听不到他念的咒语,不必担心泄露了秘密,而且他确信自己的咒语有效,也不会发生被射死的杯具。
强盗举起了右手,只见阿里巴巴的嘴动了几下,石门果真打开了,强盗举起了左手,阿里巴巴的嘴动了几下后石门又关上了。强盗还是有点不信,说不准这是巧合呢,他们不断地换着节奏举右手举左手,石门跟着他们的节奏开开关关,最后强盗们想,如果还认为这只是巧合,自己未免是个傻瓜,那还是相信了阿里巴巴吧。
“零知识证明”说的是示证者向验证者表明他知道某种秘密,不仅能使验证者完全确信他的确知道这个秘密,同时还保证一丁点秘密也不泄露给验证者。阿里巴巴的这个方案,就是认证理论“零知识证明”的一个重要协议。
除了被俘后如何靠情报保命这个问题,零知识证明在社会领域中还有着很多应用场合。例如你证明了一个世界级的数学难题,但在发表出来之前,总是要找个泰斗级的数学家审稿吧,于是你将证明过程发给了他,他看懂后却动了歪心思,他把你的稿子压住,把你的证明用自己的名义发表,他名利双收,你郁闷至死,你去告他也没用,因为学术界更相信的是这位泰斗,而不是你这个无名之辈。
这并不是天方夜谭,而是学术界常见的难题,前些年有个博士生告他的泰斗级导师剽窃他的成果,但除了令师生关系恶化外没有任何效果,最后他使出了撒手锏,称他在给导师审阅的论文的关键公式中,故意标错了一个下标,而这会导致整个推导失败。学术委员会一查果真如此,但还是有倾向于泰斗的声音,有人说那是泰斗的笔误,只不过让你发现了而矣,并不能证明那公式就是你推导出来的。
这个博士生故意标错下标,不能说他没有心眼,但他没有把“零知识证明”理论用好,以致于落到这种地步。“零知识证明”早在1986年就被A.Fiat和A.Shamir用数学的方法给出了解决方案,并在同年申请了美国专利,但由于该理论可能被用于军事领域,专利局被军方密令搁置,6个月后,军方命令:“该申请发表后会有害于国家安全……所有美国人的研究未经许可而泄露将会被判刑罚款”。看来军方认为作者肯定是美国人了,但作者实际上是在美国申请专利的以色列人,研究也是在以色列的大学里做的,军方这个命令摆了个大乌龙,虽然两天后撤消了,但已经成为了学术界的笑柄。
这个笑柄也说明了一个问题,即“零知识证明”非常重要。基于数学的推理虽然非常复杂,但思路却很简单,上述的阿里巴巴方案就是其中之一。其它的一些方案,也都是像这样遵循着分割和选择(Cut and Chose)协议的。
例如图论中有个哈米尔顿回路(Hamiltonian Cyclic)问题,说的是多个顶点的全连通图,若有一条通路通过了所有顶点,且每个顶点只通过一次,那这就是哈米尔顿回路。如果顶点较多的话,即使用计算机穷举计算很难找出这条回路,因为通路的可能性真在是太多了。
如果松鼠会贴了一张全连通图(命名为A图)悬赏哈米尔顿回路,而且任命我(奥卡姆剃刀)作为评审官,你幸运的找到了一条,那该怎么办呢,将结果直接发给我吗?千万不要,因为保不齐我会将你的成果让给了我的亲信。那你该怎么办呢?应该这么办:
回到你证明了世界级的数学难题的问题,你可以用这种分割和选择协议来进行零知识证明,来保护你的权利。你公开声称你解决了这个数学难题后,验证者会给你出一个其它的题,而能做出这道题的前提条件是已经解决了那个数学难题,否则的话无解,而且这个条件是学术界所公认的,这个题就是所谓的平行问题。不出所料,你靠着已经解开数学难题的基础把这个平行问题做出来了,但验证者还是不信,他又出了一道平行问题,你又做出来了,多次较量后,验证者就确信了你已经解决了那个数学难题,虽然他并没有看到具体的解法。
大家已经看出来了,零知识证明需要示证者和验证者的密切配合,但如果你只是一个数学界的无名之辈,即使你宣称你解决了数学难题,也不会有人跟你配合着玩零知识证明,那你该怎么办呢?
我告诉你一个可以在法庭上都能当作有效证据的招数,你将证明打印好,选择一个最可靠最权威的邮政公司,把它寄给自己,当你收到这个扣着邮戳的包裹后,不要打开,把它放好,然后就可以把证明寄给数学泰斗。如果他用自己的名义发表了,不必着急,等他依靠其影响力把这个证明炒热后再出手,你上法庭控告他,他当然不承认,在法庭上你将那个没开封的包裹拿出来,上面清清楚楚地盖着时间戳,这就证明了你包裹里的证明是发生在那个时间戳之前的,加上之后的你邮给泰斗论文的邮件存根,和泰斗以自己名义发表论文的时间,三者就构成了一个完整的证据链,泰斗灰头土脸名声扫地,而你大获全胜名利双收。
参考文献:《通信网的安全-理论与技术》,王育民等编著,西安电子科技大学出版社,2000.5
GRUB4DOS 显示多国语言菜单.
注: 新的版本GRUB4DOS已经支持多国语言菜单,所以本程序也已经不再更新维护,也不建议使用.本文只保留作为记录.
2010-04-20更新
解决有时只显示半个字符的问题。
http://bbs.wuyou.com/viewthread.php?tid=162209&extra=page%3D1&page=4
使用方法:
UNIFONT 字库路径
例子
UNIFONT /GRUB/U16.BIN
卸载(释放程序和字体占用内存):
UNIFONT —unload
[截图]
http://code.google.com/p/grub4dos-chenall/downloads/list
http://grub4dos-chenall.googlecode.com/files/grub4dos-0.4.5a-2010-03-11.zip
http://grub4dos-chenall.googlecode.com/files/unifont.zip
字库下载.
http://grub4dos-chenall.googlecode.com/files/arialuni_U16.zip
http://grub4dos-chenall.googlecode.com/files/wqy-microhei-lite_0_U16.zip
http://bbs.znpc.net/viewthread.php?tid=5862&extra=page%3D1
使用了 “建国雄心” 提供的资料还有软件
http://blog.sina.com.cn/wujianguo789
注:要支持多国语言菜单要使用UTF-8编码(目前不支持内置菜单新版GRUB4DOS 2010-04-20已经支持内置菜单)
字库可以直接使用以下两个已经做好的。
文泉驿字库
http://grub4dos-chenall.googlecode.com/files/wqy-microhei-lite_0_U16.zip
这个据说是LINUX里面使用的,不知有没有版权?
http://grub4dos-chenall.googlecode.com/files/arialuni_U16.zip
想要自己生成字库可以使用以下地址下载软件生成。(只要有.TTF字库文件就可以生成了)
http://blog.sina.com.cn/s/blog_5d8cc6410100d654.html
http://iask.sina.com.cn/u/1569506881/ish
附:
另一个可用参数(不建议使用)
unifont —all-font /grub/u16.bin
加--all-font
参数加载时连英文字体也使用字库提供的样式(如果字库中有的话).
效果图.
字库:
Consolas
微软雅黑
字体(Microsoft YaHei
Font)
看了这一篇文章觉得挺不错的,就转过来了,呵呵。
想要学好电脑技术,最重要的一点还是文章的总结一个字“活”。学活了做什么事都事半工倍。做其它事情也是一样。
学会举一反三,严禁不求甚解。
以下是原文内容及声明:
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/04/12/how-to-be-a-good-programmer/以及本声明。
这是前一阵子给新人讲perl时顺便聊的一些废话。暂且存放在这里。
关于自学
程序员这个行业需要不断地学习、充电。有人说过,现今的知识体系在20年之后就会成为一堆垃圾。注意这是指整个IT行业说的,具体到某个人的话,可能五年后你的知识就没用了。所以要不断地开阔眼界,学习知识。
那么如何学习?我认为最重要的就是学会搜索。如今,你不会编程没关系,不会配服务器没关系,只要你会搜索,你就是好的程序员。Web2.0的发展,使得论坛、个人网站等过时,维基、博客流行起来,而大量有价值的技术信息都分散在成千上万个博客上。因此,你得学会用好搜索引擎,推荐使用Google。大部分人喜欢用百度,我无可厚非,不过个人认为,对于程序员来说,Google的准确性要比百度高很多。
那么如何使用Google?我总结了下面的几种情况:
- 访问某官方网站,直接Google一下它的名字。如微软,你不必记住 www.microsoft.com 这个域名,只需要打开Google搜索“微软”即可找到目的地。
- 查找技术文章,搜索相关关键字即可。假设你要在Linux下装Web服务器,想象一下如果你想写一篇这方面的技术文章,你会用哪些词语,这些词语就是关键字。
- 解决技术难题,如编译错误、配置错误等,可以直接搜索错误信息。世界上那么多优秀程序员,你遇到的问题一定有人遇到过并解决了。
另外还有一个 Google Code,它可以搜索网上的源代码,想找程序例子时非常有用。网站地址请自己去搜索。
自学的第二个重点,就是要学会举一反三,严禁不求甚解。网上有人说按照某种方法能够解决某某问题,于是你就原封不动地照搬过来,结果问题依旧无法解决,于是你就给那篇文章的作者发信说“你的方法不对”啦“我这里不行啊”之类的话。程序员最要不得的就是这种态度,影响别人也耽误自己。别人提出的方法,你不能生搬硬套,而是应首先理解他为什么要这样做,这样做有什么道理,然后再根据自己的实际情况找出适合自己的解决方法。这样解决问题的同时自己的技术水平也会得到提高。
最后一点就是要多多关注新事物。这些年新概念、新事物不断涌现出来,如Web2.0、P2P、Ajax、维基、博客、阅读器、flickr、youtube,几天不看新闻就会觉得自己跟不上时代了。
在这里我推荐几个较好的技术网站,有条件的可以天天上去看看,了解一下技术发展情况。同样,网址自己去查。
del.icio.us
这是个网络书签网站,主题是技术。每天上去看看大家推荐的技术文章很有好处。抓虾
一个在线RSS阅读器,同样也有推荐功能。目前技术氛围比较浓,可以去看看热门技术文章。digg
也是网页推荐的网站,同样能找到很多技术文章。豆瓣
图书推荐网站。关于技术
许多人以掌握多种语言、掌握多种技术为荣,会C、C++、VC、Delphi、VB、PHP、Perl、Oracle等似乎就很了不起。的确这样的人才不可多得,但我想告诉你的是,这不应该是你追求的目标。
技术的发展是无穷无尽的,尤其是现在,创立一门编程语言、一个程序库、一个开发框架是个很简单的事儿,有点技术基础的人谁都能做。而要想将这些技术全部学会是不可能的。你应当着重学习技术背后隐含的思想。弄明白了思想,就很容易举一反三,再学其他技术就非常容易了。
例如,学C++时不应该花太多时间在C++本身上,而应该重点掌握面向对象概念。学会了面向对象,再学Java、Python、Ruby等就非常容易。学过Java的人应该知道Struts这个开发框架,弄懂Structs的思想,再学其他开发框架时就能举一反三。
建议大家没事儿学学下面的技术:
- C或C++,注意不是VC,更不是微软的MFC库。许多语言如Java、PHP、Perl、Ruby都是从C语言发展变化而来,学通了C,其他语言就唾手可得了。
- Linux,学它的原因,一个是它免费,二是掌握Linux的思考方法,能很大提高日常工作的效率。
另外,我们学技术不仅是为了工作,更是为了解决实际问题。这里有个原则:同一件事而不要做第二遍。用好Excel、Linux等工具,让计算机帮我们做重复的工作,不仅能大幅提高效率,本身也是件很有趣的事儿。
结语
说了这么多,其实总结起来就一个字,就是活。技术学活了,程序员也就不难做了。
加载一个点阵字库用于显示中文。
可以直接使用完整的点阵字库,或从以下软件生成的小字库
http://www.cn-dos.net/forum/viewthread.php?tid=47921
注: 最新的版本一般不需要这个命令,文章保留作为记录,或编写外部命令的参考
使用以下命令调用
FONTFILE PATH-TO-HZKFILE
例子:
FONTFILE /MENU.FON OR FONTFILE /HZK16
必须使用以下网址,2010-03-01以后的版本才可以正常使用。(在最新版的GRUB4DOS上可能会显示不正常,本程序也不再维护更新)
http://grub4dos-chenall.googlecode.com/
小字库生成的命令。
mkfon menu.lst
执行后会生成menu.fon
具体mkfon的使用方法请看
http://www.cn-dos.net/forum/viewthread.php?tid=47921
注意:mkfon目录下必须有字库 GBK16 或 HZK16。这些可以自己从网上下载,如果找不到上面的网址里面也有。
截图使用的菜单可以从以下地址下载(包含了小字库)
http://grub4dos-chenall.googlecode.com/files/sample_menu_with_chinese.zip