百度空间 | 百度首页 
 
查看文章
 
DOS时代与windows时代
2009-10-18 07:36

DOS时代,所有程序都运行在640k常规内存空间,也包括操作系统本身,全部1M内存空间向大家开放,要靠程序员的自律来保证你不去找操作系统和别人的麻烦,可算是“上古竞于道德”,内存随便可以访问所以你就不能制止对内存的恶意存取,DOS连自身都难保,更别说要和谐其他程序之间的关系了(也不用和谐,因为这640k就是为一个程序所拥有的,你方唱罢我登场,大家只能轮流上台,你想编辑着word听听音乐,那是做梦)。这时候出现的病毒也比较简单,文件型病毒一般是修改大家公用的DOS或BIOS中断,把原有中断地址改为自己的地址,自己干完一些勾当后,提上裤子再将控制权转交给操作系统,就像文强一样,大家需要法律援助时,以为找到他就算找到政府了,其实他是在处理完自己的一些事情后,才再按章办事。那时中断向量地址在最低位的1024的字节,随便改。256个向量空间就像为我们提供服务的自来水厂,超市,电信局...

windows95时代,借助386以来强大的保护模式,操作系统开始有了特权,程序开始有了贵贱等级。内存中出现了阶级。普通用户程序如果做了不该做的事情,操作系统会提示“你执行了非法操作”,非法操作其实是有可能你去访问了操作系统的内存。现在内存的地址容量可以说是鸟枪换炮,从640k变成了4G,4G只是虚拟的,是你的可访问地址可以达到的一个界限,俗话说,心有多大,天地就有多大。4G也是这意思。现在人类可以到达月球,但你出不了银河系,那么地球周边就是这4G空间,你还得有钱折腾才能到月球。

windows自身得到了保护之后,又肩负起了美国的责任,那就是维护世界和平——避免程序之间自相残杀。现在我们可以听着音乐编辑word了。

顺便也可以种种菜啥的。

现在的病毒开发也就没那么简单了,你需要了解内核编程。但总得来说,还是中断那一套,只不过所有中断都存放在一个叫做IDT(interrupt Descriptor Table)的表里面了。原来DOS时代叫做“向量”,其实就是一个段地址(16位):偏移量地址(16位)的4字节数据,现在要使用IDT先要获得一个索引,索引后面不但包括地址,还包括一系列安全特性,比如优先级等。这就像古代大家的人际关系只限制在一个方圆十来里的范围,大家都清楚自己的亲朋好友住在什么地方,现在社会发展了,大家手里只能攥着一个手机号了。当然,也会有些人你觉得和她挺熟的,但连QQ号也不会告诉你。

道高一尺魔高一丈,病毒总是越抓越多。

有点像庄子说的,圣人不死,大盗不止吧

(我在97年windows95已经比较普及的时候,还买了一本大厚书:dos中断大全,其实不过是本dos文档的解读罢了,当时真傻,也许注定就是该out的吧,操作系统比较熟悉了,大家又开始做网站了,Java EE的模式,从strut到spring再到JSF,也许只有程序员才会在我这个年龄体会暴风骤雨和山乡巨变的吧~)


类别:软件开发 | 添加到搜藏 | 浏览() | 评论 (7)
 
最近读者:
 
网友评论:
1
2009-10-18 08:15 | 回复
 
2
2009-10-18 09:57 | 回复
En, good!
 
3
2009-10-18 18:22 | 回复
谢谢你赠送的小木屋!俺终于有漂亮的房子住啦!
 
4
2009-10-18 18:24 | 回复
俺第一次种了满园的郁金香,本来打算制作一束花送给你,可是被偷了一半,只好等攒够再送啦!
 
5
2009-10-18 19:03 | 回复
看来博主真的很喜欢历史,天天开心。
 
6
2009-10-18 21:20 | 回复
与时俱进
 
7
2009-10-19 10:56 | 回复
ailei,究竟怎样的聪明啊??^_^,只有仰慕了。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu