打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Windows是怎么开发出来的?

在开发软件前,先说硬件。自然界有天然的特殊材料(如硅锗),他们具有单向导电性。所谓单向导电性是指:当电压低于5V时不导电,电压高于5V时导电,于是研发人员制作了二极管。


研发人员看二极管是好的,于是他们对二极管进行了重新定义:通电定义为1,不通电定义为0。 这样,一个二极管就可以表示:0,1两种状态。类推,2个二极管可以表示为:00,01,10,11四种状态。于是,研发人员把更多二极管整合在一起,芯片就产生了。

毫无疑问,如果一个芯片里集成了4个二极管,他就可以有2的4次方也就是16个状态。(本文仅是通俗解释,芯片了肯定不是二极管啦)



IBM看芯片前景无限,所以,开始生产大规模芯片,此时芯片还是以硬件为主。以4位芯片为例,可以表示16种情况,0000,0001,0010,0011...1111,IBM于是定义:

0000--表示Stop(Stop)。

0001--表示Start(开始)

0010--表示Pending(暂停)

这三个位置为IBM芯片所占用,余下13个位置留给各个软件公司使用。

(这里你就可以看到,不同的硬件公司可能定义的位置并不完全兼容,只是当时IBM非常强大,大家就用他的规则作为行业标准。)


此时,微软出来了,微软创始人比尔盖茨看芯片是好的,于是扩展芯片基本功能,他编写了一个编译器。用 0011--表示Add(加法),0100--表示Sub(减法)。

此时,汇编语言雏形就出来了。例如需要计算1+1

写成代码就是:

Start:

Add :1

Add:1

Stop

上面代码在执行时,就被芯片翻译成下面的机器语言执行:

0001

0011:1

0011:1

0000


微软看上面用汇编语言编写的程序是好的,但是不容易编写,于是对汇编语言进行了升级,开发了C语言,以更适合人类阅读的方式编写程序,这样用C编写计算加法的函数就是如下,这个程序虽然简单,但是却是各种程序运行的雏形。

void main(int a, int b)

{

return a+b;

}


概况的说,当程序员用C语言开发出来程序后,由编译器把他翻译为汇编语言,然后再由芯片再翻译成1,0的机器语言,这样程序就能执行了。最终,微软开发出了自己的操作系统DOS

那时的DOS背景是黑色的,那时的电脑还不叫电脑,叫做计算机,顾名思义,主要是做计算用的。而且主要是给高级人员用的,普通用户并不会用。


微软看DOS操作太麻烦,例如查看文件夹需要输入“dir”命令,每个用户都要记住很多DOS命令,那能不能简化这个操作呢?当然可以。

于是图形化操作的Win3.1出来了。你甚至可以认为win3.1就是为了用图像代替枯燥的DOS命令。


Win3.1是好的,于是大量开发人员为Win3.1开发程序,那时开发环境还是Turbo-C,程序员在Win3.1上利用C语言开发各种程序(下图是当时开发界面),


因为开发环境不方便,于是微软开发了VC++,方便开发windows,以及方便程序员为windows编写程序。

这里,到底是先有Windows还是先有VC++,一直像是先有鸡还是先有蛋一样引起争论。其实他们2个是可以和平相处,互相促进的。


有了VC++,开始有各种Office,Photoshop,3DMAX等程序的开发,也有在Windows上开发后续windows的可能。

就这样,一个Windows诞生了。有了Windows后,人们可以编写HTML网页,然后通过网络互连。


最后,我想说:Windows XP大约4000万行代码,Windows Vista 大约5000万行代码

这些代码不但要保证功能完善,而且还可以互相调用,没有BUG,这真是一个伟大工程。

我们应该真的谢谢微软,没有她,我们的社会不会发展的这么快。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Windows往事之:Windows 1.0
C语言学习:dos如何转向windows
潘爱民个人经历
编写Windows操作系统的工作量有多大?
系统集 45
【转】微机原理8086/8088汇编语言上机基本操作指导
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服