世界上第一个操作系统是如何编写的?

就是,在还没有操作系统的时候,他们怎么编写呢?
也就是ENIAC啊,这些电脑的系统是如何编写的呢?
在他们之前就没电脑啊,没电脑怎么写呢?
还有顺便问下,WINDOWS是用什么语言写的?
是DOS下编程环境下下的么?
是用一种语言写的吗?
那时候有C c++ JAVA什么的吗?
谢谢大家:)

人家就问第一个操作系统是怎么做出来的,楼下一堆人都没说到点子上。
这个问题就像是没有生产机器,那第一台机器是怎么生产出来的。
第一台计算机,或者称之为打孔计算机,破译机。它的作用就是读0和1的不同排列组合,通过这些组合来解译不同的意思。比如 0010代表什么意思,1101代表什么意思。这些是一开始就设定好了的,就像是中国古代的算盘一样,上面的算子代表5,下面的算子代表1是一个道理。
好了,开始就设定好这个解码功能后,这台破译机就可以读信息了,它通过什么读呢?那时候没有数据,没有数字信号,只有模拟信号,它们就读打孔纸。就是在纸上写,然后打出一个一个孔,像卡纸一样。设备就读这个孔的排列,根据不同的排列去找这个排列代表了什么,然后给出答案。这就是最初的计算机原理,非常简单,它就是一个密码解释器,或者说是简单的编译器。
那时候就是用来算加减法等一些计算,它就是一个大型的计算器。
后来发展的复杂一些了,也就是增加了更多的0和1的组合来丰富机器的解释库,来计算更复杂的公式。
这时候你要问了,这些0和1的解释库是存在哪里的?这就是为什么以前的计算机房间那么大个。它们是通过电子管的开和关来代表了0和1,通过电路给电子管通电,比如说那张纸打的孔,有一个像探头一样的东西,探测到那里有一个孔,或者没有孔,就给出电信号来控制不同的电子管组合的通路和断路,最后给出结果。
比如我用纸戳一个1+1=?,我就戳一个(0000 0000 0000 0001)代表1(00001 001000 ....)代表+ (0000 0000 0000 0001)代表1,然后给机器读,机器读出来后,就会根据电子管的通断组合,最后将结果反馈回来。一开始是用亮了多少盏灯来表示计算结果,有了显示器后,才把它变成了显示画面。

显示画面其实也是有一个库的,比如0001,你就给我显示1,00010,你就给我显示2,它会找对应的库,这个库一开始就用不同的电路
搭建做好,无非就是不同的电路通断,电压,电流等各种奇怪的组合来完成 。它自身有一套神奇的检测机制,这个就不说了,我也说不清楚。
那么回到最开始的问题,世界上第一个操作系统是怎么出现的?就是用手在纸上写出来的。
一开始不能算是系统,比如我要算一个公式,a /b +1+a+5*b,举个例子,这个公式我要经常用,我不可能每次都要去戳很多纸,所以我只需要先做一个模板,然后留出一个空白,需要的时候,把a和b戳出来就可以了,这样就很方便了。
后来这些公式越来越复杂,甚至是出现了不同的计算,比如说, 如果a<100,那么就执行xxxx,如果a>100,就执行xxxx。然后这个模板就越做越大,需要戳的纸也越来越长。
好家伙,后来实在戳不过来了,十个手指都戳破了,甚至计算机也运行不过来了,更复杂的运算根本做不了。不行,不能这样下去了。
后来就开始有人研究了,电子技术的发展越来越高科技,电子管也做得越来越小,最后用集成电路来控制开关,但是其实原理都是一样的。可以运算的公式和能力也越来越强。其实还是不同的电子管组合成不同的开关,你以为这个组合就是几个电子组的组合吗?不,已经达到上亿,上千亿个电子管的组合了,这也是集成电路的优势。

一开始是用纸来保存信息,但是前面说了,纸已经不够用了,就开始出现了软盘,光盘。光盘上的凹凸点,代表了0和1,其实就是存储的介质发生了变化,后面发明了磁盘,发明了光盘,甚至是软盘、机械硬盘,SSD等不同的储存介质,这些其实就是保存的方式不同而已,其实它们保存的数据还是和打孔纸一样,就是0和1的数据,只是相比纸而言,保存得更多,更方便,也更容易被机器读取。
这时候保存的介质发生了变化 ,那么读取这些数据的那个探头也发生了变化,变成了像软盘的磁头,光盘的激光头等。

当这种保存的介质从纸变成了硬盘后,就会出现一个问题,一开始写这些孔的时候,是用笔和给纸戳一个窟窿来让机器识别,现在要怎么把0和1这种数据写到磁盘里呢?这里就发明了键盘了,最初的键盘当然和现在不一样,但是原理是一样的。还是按一个键,给一个电信号,磁头收到了电信号,会判断是0还是1,如果是0,就是反磁,如果是1就是正磁。一开始的键盘,就是只有几个键,1键和0键。
后来有人觉得整天打0和1太麻烦了,如果我要打a这个符号,我就要按(0000000000000000),按这么多下,我的手都要变成一指禅了,于是就发明更复杂的键盘,比如我要打a,b,c,d,我就一开始就设定好,我打a,就直接发送一串机器码(0000000000000000),我要打b就发送一串机器码(0000000000000001),类似这样的。其实也是给键盘做好一个约定,我一开始就把一些特定的,经常使用到的符号或其他有代表性的字母、数字,把它们对应的0和1组合的机器码先做成一个表格,存到键盘的识别库里,我按哪一个字符,你就给我发送哪一个字符对应的机器码就可以了,这样我就不用从早到晚按0和1这两个键,按个没完。这么一设定,我就不用记太多的机器码组合了,一开始就把这些组合给分门别类。
这样发展到这里,键盘的雏形就出来了,也为汇编的发展埋下了伏笔。汇编其实就是最接近或者它就是机器码的一种组合语言,机器是可以直接识别出来。
前面说了,为了执行不同的公式和复杂的计算,就出现了这同的模板,只需要修改模板上的参数,就可以重复执行这些模板。
现在这些板从纸上存到了软盘上,现在就更方便了。以前用纸的时候,用过一次,纸就没用了,现在软盘上的数据一直在,我只需要用磁头把原来填的数据擦掉,重新写个新的参数就可以了。你可以理解成当时在纸上我用铅笔写参数,用过一次,用橡皮擦给擦掉重复写。但是纸是需要打孔的,打了孔,橡破擦也没用,已经是一个孔了,你也补不上,所以那纸就废掉了。
但是软盘不一样,软盘是可以重复写的。可以把磁消掉重新在那个位置写一个新的参数,这样就可以重复利用了。
后来这些模板越做越复杂,最后慢慢的发展成了一个小型的,有自己一些独立功能的计算系统,这可以理解为,它有了系统的一些特性,但是还不算系统。
后来这些模板更强大了,有人觉得,因为需要更加强大的功能,一般的模板已经没办法满足了,而且通过这种最原始的abcd来拼凑这些公式、模板,太累了。于是就有人开始写中间解释器。
怎么理解呢?前面说了,一开始大家都是写1和0组合,觉得太累了,于是把1和0的不同组合做成了一个库,我只需要输入1+1,abcd这种键盘上约定好的字母,键盘就发送对应的1和0组合给机器,机器就可以直接识别了。
现在需求越来越复杂,发现光打这些abcd,需要打越来越多的代码,发现和之前打1和0一样累了,怎么办呢?于是就有人打算再创一个中间库,把这些abcd,1,2,3等组合做成一个库,不同的组合代码不同的意思,这就是从机器向交互语言的发展了初期了。
这个库一开始还是用abcd等最初的那个键盘库打上去的,当然做的也很累,但是只要这个库完善好了,后面要继续发展更高级的交互语言就简单多了,以后所有交互语言写出来的东西,都通过这个库翻译成机器语言库,机器语言库就可以识别了。
于是有了交互语言库,大家就不用打太多的字符来拼凑成不同的模板了,因为交互语言库有了不同的单词组合成更加有意义符号,人一看就懂,不需要那些零零散散的字母,没有任何意义在里面,还需要死记硬背。

这就有点像是古代的文言文,你一听不知道他在说什么,然后去查一下文言文字典,这样你才能知道他在说什么。
现在你可以用白话言语来交流了,这样就更轻松了,你可以直接和他对话。
至于机器听不听的懂你说的意思,这个不要紧,有解释库,你把解释库做好了,你说的每一句话会自动翻译成机器语言,就可以了。
随着语言的越来越强大,现在就可以写出更加复杂的模板了,后来显示器的发展越来越强大,让这些模板出现了更丰富的画面,其实它显示什么东西,也还是会有一个库的,只要约定好,我返回的这串代码代表了什么东西,你就显示什么东西就可以了。甚至后来有了图片。

其实图片的显示也有自己的一个约定,就是我返回什么代码,你就解析成什么颜色点,然后不同的代码组合,就会现出一大串的颜色点组合在一起,就变成了有颜色的图片和画面。其实文字也是图片的一种,就是一种图信号。
回到模板上来,后来慢慢的,这些模板越来越强大,甚至有人开始动起心思,开始给这些模板加皮肤,加各种好看或者神奇的功能,让它更加好用,于是最初始的系统就这么慢慢的发展起来了。
其实系统它不是突然就有的,是在整个机器的发展的过程中,慢慢的累积到一定程度后,顺应发展而来的。

这些模板也是从最简单的公式模板慢慢发展成了现在有了自己的界面,有了自己的独立运算功能和各种娱乐功能等强大的系统。
最初的系统,也就是这些模板的诞生,其实是很辛苦的,它们需要有一定的积累,一些基础的识别库的完善,这些都是需要最初的那代人,一开始就约定好,然后慢慢地完善起来,然后高级的语言和系统才能通过这些库来和机器交流。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-26
电脑是由硬件和软件组成的,缺了任何一样都无法运行。我们对电脑进行操作,都是利用操作系统来完成。最初的电脑没有操作系统,人们通过各种操作按钮来控制计算机,后来出现了汇编语言,并将它的编译器内置到电脑中,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由操作人员自己编写程序来运行,不利于设备、程序的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理,使人们可以从更高层次对电脑进行操作,而不用关心其底层的运作。

操作系统是现代电脑必不可少的系统软件,是电脑的灵魂所在。现代的电脑都是通过操作系统来解释人们的命令,从而达到控制电脑的目的。几乎所有的应用程序也是基于操作系统的。

一、操作系统诞生——盘古开天地

最初的操作系统出现在IBM/704大型机上,而微型计算机的操作系统则诞生于20世纪70年代——CP/M。

CP/M是加里.基尔达尔领导的Digisat Reseach公司为8位机开发的操作系统,它能够进行文件管理,具有磁盘驱动装置,可以控制磁盘的输入输出、显示器的显示,以及打印的输出,它是当时操作系统的标准。

二、操作系统远古霸主——DOS

DOS似乎只有现在的老鸟有过接触,新学电脑的人对DOS只是一知半解。它曾经占领了个人电脑操作系统领域的大部分,全球绝大多数电脑上都能看到它的身影。由于DOS系统并不需要十分强劲的硬件系统来支持,所以从商业用户到家庭用户都能使用。虽然用现在的眼光看它不是出色的操作系统,但微软软件向下兼容的特点,决定了Windows出问题的时候,很多时候需要在DOS下才能得到解决,因此了解与学习DOS还是很有必要的。点击了解DOS操作系统……

三、操作系统当代大亨——Windows

从微软1985年推出Windows 1.0以来,Windows系统经历了十多年风风雨雨。从最初运行在DOS下的Windows 3.x,到现在风靡全球的Windows 9x、Windows 2000,Windows几乎代替了DOS曾经担当的位子,成为了新一带的操作系统大亨。其普及性也就不用小编多言了。点击了解Windows操作系统……

相关链接:新浪科技Windows操作系统专题: Windows 98,Windows NT,Windows 2000,Windows Me,Windows XP

四、诱人的小企鹅——Linux

Linux是目前十分火爆的操作系统。它是由芬兰赫尔辛基大学的一个大学生Linus B. Torvolds在1991年首次编写的。标志性图标是一个可爱的小企鹅。由于其源代码的免费开放,使其在很多高级应用中占有很大市场。这也被业界视为打破微软Windows垄断的希望。点击了解Linux操作系统……

相关链接:新浪科技专题:自由奔放的Linux

五、神奇的精灵——FreeBSD

FreeBSD是一种运行在x86平台下的类Unix系统。它以一个神话中的小精灵作为标志,由BSD Unix系统发展而来,加州伯克利学校(Berkeley)编写,第一个版本由1993年正式推出。BSD Unix和Unix System V是Unix操作系统的两大主流,以后的Unix系统都是这两种系统的衍生产品。这款操作系统主要应用于网络服务器端,不太适合个人用户。点击了解FreeBSD操作系统……

相关链接:新浪科技专题:FreeBSD大全连载

六、多才多艺的艺术大师——BeOS

如果说Windows是现代办公软件的世界,Unix是网络的天下,那BeOS就称得上是多媒体大师的天堂了。BeOS以其出色的多媒体功能而闻名,它在多媒体制作、编辑、播放方面都得心应手,因此吸引了不少多媒体爱好者加入到BeOS阵营。由于BeOS的设计十分适合进行多媒体开发,所以不少制作人都采用BeOS作为他们的操作平台。点击了解BeOS操作系统……

七、总结

看完以上内容,我相信大家对个人电脑上的几种常见操作系统已有比较详细的了解了吧。在增加知识的同时,大家快去选择一款最适合自己的操作系统吧。
第2个回答  2007-08-26
楼主太天真了...建议你还是多了解一些系统深层的机制吧...

简单的说是硬件层与软件层的一个约定,开机先由BIOS加载并自检,通过后会将控制权转给硬盘的一个地址,做为入口点,操作系统改写启动引导用的0磁道,在控制权转移过来后就从这个地址加载启动程序,剩下的就全看软件怎么编的了...

(我思来想去,想做到这些,还是用汇编写内核为上选)

按照<系统原理>上面理论的指导,如何管理磁盘,使用内存,建立文件系统,输入输出系统,以及与用户的友好交互界面....全是程序说了算.

一个系统是一个浩大的工程,但按照开发理论实施是完全可行的.

天底下的操作系统并不是只有windows一家.
我曾听说过一些编程爱好者自行开发的系统程序,很有趣.
做这样的东西也相当辛苦吧.本回答被提问者采纳
第3个回答  2007-08-26
微软核心技术,开发出来的,我们看到的就是现在的dos,但是至于dos的开发,就……
第4个回答  2007-08-26

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网