最早的电脑系统以及语言_中国最早电脑系统
1.世界上最早出现的第一台电脑是什么时候,哪年出现的呢?
2.计算机语言的发展历程
3.操作系统在第几代计算机开始应用
计算机语言的发展过程
1、机器语言
最初的计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,计算机只能被少部分人使用,人们需要用0、1组成的指令序列交由计算机执行,对于机器语言的使用与普及都是很令人头疼的问题。对于程序的移植能力几乎没有,从而时间成本,人力成本十分昂贵。但机器语言也不是没有优势,由于这种语言是直接对计算机硬件进行操作,所以在特定型号的计算机上面,运算效率也是很高的,机器语言的出现对于未来的计算机语言发展起到了很好的推动作用,所以机器语言也是第一代计算机语言。
2、汇编语言
汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,这也提高了语言的记忆性和识别性。对于程序的开发与维护起到了积极作用。汇编语言同样也是直接对硬件进行操作,这样依然局限了它的移植性。但是使用汇编语言针对计算机特定硬件而编制的汇编语言程序,对于计算机硬件的功能和特长的发挥已有了很大进步,它精炼而质量高,所以至今仍是一种常用的程序开发语言。
3、高级语言
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式?生产,发展为产业化、流水线式的工业化生产。
60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是--项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言一Pascal语言出现,标志着结构化程序设计时期的开始。
80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干千别的事,也无法动态地改变程序的执行方向。这和人们日常处;理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(object)。其方法就是软件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是它内部的事,使用者完全不用关心,C++、VB、Delphi就是典型代表。高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。
世界上最早出现的第一台电脑是什么时候,哪年出现的呢?
第一部计算机并没有操作系统。这是由于早期个人电脑的建立方式(如同建造机械计算机)与效能不足以执行如此程序。
但在1947年发明了晶体管,以及莫里斯·威尔克斯(Maurice Vincent Wilkes)发明的微程序方法,使得电脑不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,且成为操作系统的基础。
到了1960年代早期,商用电脑制造商制造了批次处理系统,此系统可将工作的建置、调度以及执行序列化。此时,厂商为每一台不同型号的电脑创造不同的操作系统,因此为某电脑而写的程序无法移植到其他电脑上执行,即使是同型号的电脑也不行。
到了1964年,IBM推出了一系列用途与价位都不同的大型电脑IBM System/360,大型主机的经典之作。而它们都共享代号为OS/360的操作系统(而非每种产品都用量身订做的操作系统)。让单一操作系统适用于整个系列的产品是System/360成功的关键,且实际上IBM大型系统便是此系统的后裔;为System/360所写的应用程序依然可以在现代的IBM机器上执行!
OS/360也包含另一个优点:永久贮存设备—硬盘驱动器的面世(IBM称为DASD(Direct access storage device))。另一个关键是分时概念的建立:将大型电脑珍贵的时间资源适当分配到所有使用者身上。分时也让使用者有独占整部机器的感觉;而Multics的分时系统是此时众多新操作系统中实践此观念最成功的。
1963年,奇异公司与贝尔实验室合作以PL/I语言建立的Multics,是激发1970年代众多操作系统建立的灵感来源,尤其是由AT&T贝尔实验室的丹尼斯·里奇与肯·汤普逊所建立的Unix系统,为了实践平台移植能力,此操作系统在1969年由C语言重写;另一个广为市场采用的小型电脑操作系统是VMS。 第一代微型计算机并不像大型电脑或小型电脑,没有装设操作系统的需求或能力;它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。
1980年代,家用电脑开始普及。通常此时的电脑拥有8-bit处理器加上64KB内存、屏幕、键盘以及低音质喇叭。而80年代早期最著名的套装电脑为使用微处理器6510(6502芯片特别版)的Commodore C64。此电脑没有操作系统,而是以8KB只读内存BIOS初始化彩色屏幕、键盘以及软驱和打印机。它可用8KB只读内存BASIC语言来直接操作BIOS,并依此撰写程序,大部分是游戏。此BASIC语言的解释器勉强可算是此电脑的操作系统。
早期最著名的磁盘启动型操作系统是CP/M,它支持许多早期的微电脑,且其功能被MS-DOS大量抄袭。
最早期的IBM PC其架构类似C64。当然它们也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因在于他有可携性,并且兼容于任何符合IBM PC架构的机器上。这样的PC可利用Intel-8088处理器(16-bit寄存器)寻址,并最多可有1MB的内存,然而最初只有640KB。软式磁盘机取代了过去的磁带机,成为新一代的储存设备,并可在他512KB的空间上读写。为了支持更进一步的文件读写概念,磁盘操作系统(Disk Operating System,DOS)因而诞生。此操作系统可以合并任意数量的磁区,因此可以在一张磁盘片上放置任意数量与大小的文件。文件之间以档名区别。IBM并没有很在意其上的DOS,因此以向外部公司购买的方式取得操作系统。
1980年微软公司取得了与IBM的合约,并且收购了一家公司出产的操作系统,在将之修改后以MS-DOS的名义出品,此操作系统可以直接让程序操作BIOS与文件系统。到了Intel-80286处理器的时代,才开始实作基本的储存设备保护措施。MS-DOS的架构并不能完全满足所有需求,因为它同时只能执行最多一个程序(如果想要同时执行程式,只能使用TSR的方式来跳过OS而由程序自行处理多任务的部份),且没有任何内存保护措施。对驱动程序的支持也不够完整,因此导致诸如音效设备必须由程序自行设置的状况,造成不兼容的情况所在多有。许多应用程序因此跳过MS-DOS的服务程序,而直接存取硬件设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。
而1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔电脑捆绑在一起。此时一位施乐帕罗奥托研究中心员工Dominik Hagen访问了苹果电脑的史蒂夫·乔布斯,并且向他展示了此时施乐发展的图形化使用者界面。苹果电脑惊为天人,并打算向施乐购买此技术,但因帕罗奥托研究中心并非商业单位而是研究单位,因此施乐回绝了这项买卖。在此之后苹果一致认为个人电脑的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果电脑打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是施乐创始的。 Apple 电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。
上一年代于市场崛起的苹果电脑,由于旧系统的设计不良,使得其后继发展不力,苹果电脑决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——MacOS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。
除了商业主流的操作系统外,从1980年代起在开放原码的世界中,BSD系统也发展了非常久的一段时间,但在1990年代由于与AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。Linux内核是一个标准POSIX内核,其血缘可算是Unix家族的一支。Linux与BSD家族都搭配GNU计划所发展的应用程序,但是由于使用的许可证以及历史因素的作弄下,Linux取得了相当可观的开源操作系统市占率,而BSD则小得多。
相较于MS-DOS的架构,Linux除了拥有傲人的可移植性(相较于Linux,MS-DOS只能运行在Intel CPU上),它也是一个分时多进程内核,以及良好的内存空间管理(普通的进程不能存取内核区域的内存)。想要存取任何非自己的内存空间的进程只能通过系统调用来达成。一般进程是处于使用者模式(User mode)底下,而执行系统调用时会被切换成内核模式(Kernel mode),所有的特殊指令只能在内核模式执行,此措施让内核可以完美管理系统内部与外部设备,并且拒绝无权限的进程提出的请求。因此理论上任何应用程序执行时的错误,都不可能让系统崩溃(Crash)。
另一方面,微软对于更强力的操作系统呼声的回应便是Windows NT于1993年的面世。
1983年开始微软就想要为MS-DOS建构一个图形化的操作系统应用程序,称为Windows(有人说这是比尔·盖茨被苹果的Lisa电脑上市所刺激)。
一开始Windows并不是一个操作系统,只是一个应用程序,其背景还是纯MS-DOS系统,这是因为当时的BIOS设计以及MS-DOS的架构不甚良好之故。
在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows NT 3.1,一个以OS/2为基础的图形化操作系统。
并在1995年8月15日推出Windows 95。
直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。
Windows NT系统的架构为:在硬件阶层之上,有一个由微内核直接接触的硬件抽象层(HAL),而不同的驱动程序以模块的形式挂载在内核上执行。因此微内核可以使用诸如输入输出、文件系统、网络、信息安全机制与虚拟内存等功能。而系统服务层提供所有统一规格的函数调用库,可以统一所有副系统的实作方法。例如尽管POSIX与OS/2对于同一件服务的名称与调用方法差异甚大,它们一样可以无碍地实作于系统服务层上。在系统服务层之上的副系统,全都是使用者模式,因此可以避免使用者程序执行非法行动。
DOS副系统将每个DOS程序当成一进程执行,并以个别独立的MS-DOS虚拟机器承载其运行环境。另外一个是Windows 3.1 NT 模拟系统,实际上是在Win32副系统下执行Win16程序。因此达到了安全掌控为MS-DOS与早期Windows系统所撰写之旧版程序的能力。然而此架构只在Intel 80386处理器及后继机型上实作。且某些会直接读取硬件的程序,例如大部分的Win16游戏,就无法套用这套系统,因此很多早期游戏便无法在Windows NT上执行。
Windows NT有3.1.3.5.3.51与4.0版。
Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)、Windows Vista(Windows NT 6.0)、Windows 7(Windows NT 6.1)也都是立基于Windows NT的架构上。
而本年代渐渐增长并越趋复杂的嵌入式设备市场也促使嵌入式操作系统的成长。
大型机与嵌入式系统使用很多样化的操作系统。大型主机有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。 现代操作系统通常都有一个使用的绘图设备的图形用户界面(GUI),并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或性能导向的服务器通常不会有如此亲切的界面,而是以命令行界面(CLI)加上键盘为输入设备。以上两种界面其实都是所谓的壳,其功能为接受并处理用户的指令(例如按下一按钮,或在命令提示列上键入指令)。
选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上运行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。在1990年代早期,个人计算机的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。
大型机与嵌入式系统使用很多样化的操作系统。在服务器方面Linux、UNIX和WindowsServer占据了市场的大部分份额。在超级计算机方面,Linux取代Unix成为了第一大操作系统,截止2012年6月,世界超级计算机500强排名中基于Linux的超级计算机占据了462个席位,比率高达92%。随着智能手机的发展,Android和iOS已经成为目前最流行的两大手机操作系统。
2012年,全球智能手机操作系统市场份额的变化情况相对稳定。智能手机操作系统市场一直被几个手机制造商巨头所控制,而安卓的垄断地位主要得益于三星智能手机在世界范围内所取得的巨大成功。2012年第三季度,安卓的市场份额高达74.8%,2011年则为57.4%。2013年第一季度,它的市场份额继续增加,达到75%。虽然 Android 占据领先,但是苹果 iOS 用户在应用上花费的时间则比 Android 的长。虽然在这方面 Android 的数字一度接近苹果,但是像 iPad 3 这样的设备发布之后,苹果的数字还是会进一步增长。Windows Phone 系统在 8.1 版发布后市场份额稳步提高,应用生态正在改善,众多必需应用不断更新,但是速度还略嫌迟缓。微软收购了诺基亚,发展了许多OEM厂商,并不断发布新机型试图扭转WP的不利局面,小有成效。
计算机语言的发展历程
1931年,Vannever Bush 发明了一部可以解决差分程序的计数机,这机器可以解决一些令数学家,科学家头痛的复杂差分程序。
1935年,IBM (International Business Machine Corporation) 引入 "IBM 601”,它是一部有算术部件及可在1秒钟内计算乘数的穿孔咭机器。 它对科学及商业的计算起很大的作用。总共制造了1500 部。
1937年,Alan Turing 想出了一个 "通用机器(Universal Machine)” 的概念,可以执行任何的算法,形成了一个"可计算(computability)”的基本概念。Turing 的概念比其它同类型的发明为好,因为他用了符号处理(symbol processing) 的概念。
1939年11月,John Vincent Atannsoff 与 John Berry 制造了一部16位加数器。它是第一部用真空管计算的机器。
1939年,Zuse 与 Schreyer 开鈶制造了"V2”〔后来叫Z2〕,这机器沿用 Z1的机械贮存器,加上一个用断电器逻辑(Relay Logic)的新算术部件。但当 Zuse完成草稿后,这计划被中断一年。
1939-40年,Schreyer 完成了用真空管的10位加数器,以及用氖气灯(霓虹灯)的存贮器。
1940年1月,在 Bell Labs, Samuel Williams 及Stibitz 完成了一部可以计算复杂数字的机器, 叫“复杂数字计数机(Complex Number Calculator)”,后来改称为“断电器计数机型号I (Model I Relay Calculator)” 。它用电话开关部份做逻辑部件:145个断电器,10个横杠开关。数字用“Plus 3BCD”代表。在同年9月,电传打字 etype 安装在一个数学会议里,由New Hampshire 连接去纽约。
1940年, Zuse 终于完成Z2,它比运作得更好,但不是太可靠。
1941年夏季,Atanasoff及Berry完成了一部专为解决联立线性方程系统(system of simultaneous linear equations) 的计算器,后来叫做"ABC (Atanasoff-Berry Computer)”,它有60个50位的存贮器,以电容器(capacitories)的形式安装在2个旋转的鼓上,时钟速度是60Hz。
1941年2月,Zuse 完成"V3”(后来叫Z3),是第一部操作中可编写程序的计数机。它亦是用浮点操作,有7个位的指数,14位的尾数,以及一个正负号。存贮器可以贮存64个字,所以需要1400个断电器。它有多于1200个的算术及控制部件,而程序编写,输入,输出的与 Z1 相同。 1943年1月 Howard H. Aiken完成"ASCC Mark I”(自动按序控制计算器 Mark I ,Automatic Sequence -- Controlled Calculator Mark I),亦称“Haward Mark I”。这部机器有51尺长,重5顿,由 750,000部份合并而成。它有72个累加器,每一个有自己的算术部件,及23位数的寄存器。
1943年12月, Tommy Flowers与他的队伍,完成第一部“Colossus”,它有2400个真空管用作逻辑部件,5 个纸带圈读取器(reader),每个可以每秒工作5000字符。
1943年,由 John Brainered领导,ENIAC开始研究。而 John Mauchly 及J. Presper Eckert负责这计划的执行。
1946v第一台电子数字积分计算器(ENIAC)在美国建造完成。
1947年,美国计算器协会(ACM)成立。
1947年,英国完成了第一个存储真空管O 1948贝尔电话公司研制成半导体。
1949年,英国建造完成"延迟存储电子自动计算器"(EDSAC)
1950年,"自动化"一词第一次用于汽车工业。
1951年,美国麻省理工学院制成磁心
1952年,第一台"储存程序计算器"诞生。
1952年,第一台大型计算机系统IBM701宣布建造完成。
1952年,第一台符号语言翻译机发明成功。
1954年,第一台半导体计算机由贝尔电话公司研制成功。
1954年,第一台通用数据处理机IBM650诞生。
1955年,第一台利用磁心的大型计算机IBM705建造完成。
1956年,IBM公司推出科学704计算机。
1957年,程序设计语言FORTRAN问世。
1959年,第一台小型科学计算器IBM620研制成功。
1960年,数据处理系统IBM1401研制成功。
1961年,程序设计语言COBOL问世。
1961年,第一台分系统计算机由麻省理工学院设计完成。
1963年,BASIC语言问世。
1964年,第三代计算机IBM360系列制成。
1965年,美国数字设备公司推出第一台小型机PDP-8。
1969年,IBM公司研制成功90列卡片机和系统--3计算机系统。
1970年,IBM系统1370计算机系列制成。
1971年,伊利诺大学设计完成伊利阿克IV巨型计算机。
1971年,第一台微处理机4004由英特尔公司研制成功。
1972年,微处理机基片开始大量生产销售。
1973年,第一片软磁盘由IBM公司研制成功。
1975年,ATARI--8800微电脑问世。
1977年,柯莫道尔公司宣称全组合微电脑PET--2001研制成功。
1977年,TRS--80微电脑诞生。
1977年,苹果--II型微电脑诞生。
1978年,超大规模集成电路开始应用。
1978年,磁泡存储器第二次用于商用计算机。
1979年,夏普公司宣布制成第一台手提式微电脑。
1982年,微电脑开始普及,大量进入学校和家庭。
1984年,日本计算机产业着手研制"第五代计算机"---具有人工智能的计算机
操作系统在第几代计算机开始应用
机器语言、汇编语言、高级语言是计算机语言的三个发展阶段,本文将从三个方面介绍这三种语言的特点和优缺点。
机器语言机器语言是第一代计算机语言,使用的是由“0”和“1”组成的二进制数,运算效率是所有语言中最高的,但使用起来十分痛苦,而且移植性不好。
汇编语言汇编语言是第二代计算机语言,使用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,便于人们理解和维护程序,但仍十分依赖于机器硬件,移植性不好。
高级语言
高级语言是第三代计算机语言,接近于数学语言或人的自然语言,不依赖于计算机硬件,编出的程序能在所有机器上通用,但运算效率相对较低。
人工操作阶段
(无OS,1946---1955年)
管理程序阶段
(第一代OS,1955---60年代初)
多道程序设计
(第二代OS,1963---1980年)
与(现代)操作系统的形成(1980年以后)
操作系统的发展
操作系统的发展历程和计算机硬件的发展历程密切相关。从1946年诞生第一台电子计算机以来,计算机的每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标,随着计算机硬件的发展,同时也加速了操作系统的形成和发展。
网络操作系统(Network Operation System,NOS)是相对于单机操作系统而言的,是指能使网络上每台计算机能够方便而有效地共享网络资源,为用户提供所需的各种服务的操作系统。
网络操作系统除了具备单机操作系统所需的功能外,如内存管理、CPU管理、输入输出管理、文件管理等,还有网络通信、网络服务管理等网络功能。
操作系统是用户和计算机之间进行通信的接口,网络操作系统则是作为网络用户和计算机网络之间的接口。
操作系统随着人们对需求的不同也有一个渐进的发展历程,从最早的单机操作系统到后来的网络操作系统,从单用户操作系统到多用户、多任务操作系统。
1. 早期的操作系统
最初的计算机并没有操作系统,人们通过各种操作按钮来控制计算机。随后为了提高效率而出现了汇编语言,操作人员通过有孔的纸带将程序输入计算机进行编译。这些将语言内置的计算机只能由操作人员自己编写程序来运行,不利于设备、程序的共用。为了解决这种问题,就出现了现代的操作系统。操作系统是人与计算机交互的界面,是各种应用程序共同的平台。有了操作系统,一方面很好地实现了程序的共用,另一方面也方便了对计算机硬件资源的管理。
随着计算技术和大规模集成电路的发展,微型计算机迅速发展起来。从20世纪70年代中期开始出现了计算机操作系统。1976年,美国DIGITAL RESEARCH软件公司研制出8位的CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现硬盘文件或其他设备文件的自动存取。此后出现的一些8位操作系统多采用CP/M结构。
计算机操作系统的发展经历了两个阶段。第一个阶段为单用户、单任务的操作系统,继CP/M操作系统之后,还出现了C-DOS、M-DOS、TRS-DOS、S-DOS和MS-DOS等磁盘操作系统。
其中值得一提的是MS-DOS,它是在IBM-PC及其兼容机上运行的操作系统,它起源于SCP86-DOS,是1980年基于8086微处理器而设计的单用户操作系统。后来,微软公司获得了该操作系统的专利权,配备在IBM-PC机上,并命名为PC-DOS。1981年,微软的MS-DOS 1.0版与IBM的PC面世,这是第一个实际应用的16位操作系统。从此,微型计算机进入了一个新纪元。1987年,微软发布的MS-DOS 3.3版本是非常成熟可靠的DOS版本,微软据此取得个人操作系统的霸主地位。
从1981年问世至今,DOS经历了7次大的版本升级,从1.0版到现在的7.0版,不断地改进和完善。但是,DOS系统的单用户、单任务、字符界面和16位的大格局没有变化,因此它对于内存的管理也局限在640KB的范围内。由此带来的很多局限性限制了DOS系统进一步的应用,Windows系列操作系统则正是微软公司为了克服DOS系统的这些限制而开发出来的。
2. 现代操作系统
随着社会的发展,早期的单用户操作系统已经远远不能满足用户的要求,各种新型的现代操作系统犹如雨后春笋一样出现了。
现代操作系统是计算机操作系统发展的第二个阶段,它是以多用户多道作业和分时为特征的系统。其典型代表有UNIX、Windows、Linux、OS/2等操作系统。
(1) UNIX
1968年,KenThompson和同在贝尔实验室计算机研究小组的同事们计划创建他们自己的操作系统。Ken和Dennis找到了现在非常有名的little-usedPDP-7sittinginacorner,他们用GE系统生成了可在该机器上运行的程序代码。接下来, Ken和他的同事还完成了第一个命令解释器和一些简单的文件处理工具。他们很快写好了汇编器,系统已经开始自支持了。这时的系统已经有点像UNIX了。文件系统与现在的文件系统相对相似。它使用节点的思想,而且有特殊的文件类型来支持目录和设备。当时那台PDP-7可同时支持两个用户。
小提示:汇编器(assembler)是一种将用汇编语言编写的程序编译为计算机可以识别的机器语言的工具。
1970年UNIX被移植到PDP-11/20上。贝尔实验室专利局成了UNIX的首家商业用户。这第一个系统有几点是很值得注意的。运行UNIX的PDP-11/20没有存储保护,它仅有的存储为一个0.5MB的磁盘。系统支持同时3个用户,分别完成编辑、排版,再加上计算机研究小组进行进一步的UNIX开发。该系统的手册被标为FirstEdition,日期为1971年11月。
UNIX第二版于1972年发行,增添了管道的功能。该版本还加上了除汇编之外的编程语言支持。特别值得一提的是,Ken曾试图用NB语言来重写核心。
小提示:NB是由B语言(由Ken和Dennis设计)修改而来的。B语言的前身是BCPL。BCPL(Basic CPL)是Martin Richards于1967年在剑桥设计的。CPL(Combined Programming Language)则是1963年伦敦大学和剑桥大学的合作项目,它颇受Algol60(1960年设计)的设计思想影响。所有这些语言在控制结构上都和C语言相似,不过B和BCPL都是“无类型”的语言(尽管有点用词不当),它们只支持按“字”来访问内存。NB演化为C,而C则很快成为新的工具和应用的首选语言。
1973年,Ken和Dennis成功地用C重写了UNIX核心。解释器也被重写了,这增加了系统的健壮性,也使编程和调试变得容易了很多。
1974年,Ken和Dennis在CommunicationsoftheACM上发表了论文介绍UNIX系统。这篇文章在学术界引起了广泛的兴趣。其第5版正式以“仅用于教育目的”的方式向各大学提供。UNIX第5版因此在许多大学广泛地用于教学。
1975年,第6版UNIX系统发行了。这是第一个在贝尔实验室外广为流传的UNIX系统。AT&T(通过WestElectricCo.)开始向商业和政府用户提供许可证。
1977年,InteractiveSystems公司成为首家向最终用户出售UNIX的公司。UNIX终于成了产品。在同一时期有3个小组将UNIX移植到不同的机器上。SteveJohnson和DennisRitchie将UNIX移植到一台Interdata8/32机器上;澳大利亚的Wollongong大学的RichardMiller和同事们将UNIX移植到一台Interdata7/31上;TomLyon和其在普林斯顿(Princeton)的助手们完成了到VM/370的移植。
1977年,加利福尼亚伯克利分校(theUniversityofCalifornia,Berkeley)的计算机科学系开始发布他们的Pascal解释器。其中还包括了一些新的设备驱动程序,对核心的修改、ex编辑器和一个比V6的Shell更好用的解释器(PascalShell)。这就是所谓的1BSD(1stBerkeleySoftwareDistribution)。
到了20世纪70年代末,在UNIX发展到了版本6之后,AT&T认识到了UNIX的价值,并成立了UNIX系统实验室(UNIX System Lab,USL)来继续发展UNIX。因此AT&T一方面继续发展内部使用的UNIX版本7,一方面由USL开发对外正式发布的UNIX版本,同时AT&T也宣布对UNIX产品拥有所有权。(几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使用UNIX对操作系统进行研究,他们的研究成果就反映在他们使用的UNIX中)。他们对UNIX的改进相当多,增加了很多当时非常先进的特性,包括更好的内存管理、快速且健壮的文件系统等,大部分原有的源代码都被重新写过,以支持这些新特性。很多其他UNIX使用者,包括其他大学和商业机构,都希望能得到CSRG改进的UNIX系统。因此CSRG中的研究人员把他们的UNIX组成一个完整的UNIX系统(Berkeley Software Distribution,BSD)并对外发布。
BSD UNIX在UNIX的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用UNIX的基础,而AT&T与其同时存在的UNIX版本的影响就小得多。同时很多研究项目也是以BSD UNIX为研究系统,例如美国国防部的项目—— ARPAnet,ARPAnet今天发展成了Internet,而BSD UNIX中最先实现了TCP/IP,使Internet和UNIX紧密结合在一起。
而AT&T的UNIX系统实验室,同时也在不断改进他们的商用UNIX版本,直到他们吸收了BSD UNIX中已有的各种先进特性,并结合其本身的特点,推出了UNIX System V版本之后,情况才有了改变。从此以后,BSD UNIX和UNIX System V形成了当今UNIX的两大主流,现代的UNIX版本大部分都是这两个版本的衍生产品。
虽然AT&T的UNIX System V也是非常优秀的UNIX版本,但是BSD UNIX在Unix领域内的影响更大。AT&T的UNIX系统实验室一直关注着BSD的发展,在1992年,UNIX系统实验室指控BSDI(一家发行商业BSD UNIX的公司)违反了AT&T的许可权,发布自己的UNIX版本,并进一步指控伯克利计算机系统研究组泄漏了UNIX的商业机密(此时的4.3BSD中来自AT&T Unix的代码已经不足10%)。这个官司影响了很多UNIX厂商,使他们不得不从BSD UNIX转向UNIX System V,以避免法律问题。这使得当今大多数商业UNIX版本都是基于UNIX System V的。
Novell获得UNIX的版权后把自己的UNIX改名为UNIXware,而将UNIX商标赠送给X/Open(一个由多家UNIX厂家组成的联盟),这样这个联盟内的所有成员均可使用UNIX商标。从此之后,UNIX不再是专有产品了。后来Novell由于自身的经营问题,又将UNIXware卖给SCO公司。同时,由于BSD系统已经十分成熟,作为对操作系统进行研究的目标已经达到,伯克利计算机系统研究组(CSRG)在发布了4.4BSD-lite2之后就解散了,小组的科研人员有些进入了UNIX商业公司,有些继续进行其他计算机领域的研究。此时,严格意义上的UNIX System V和BSD UNIX都不复存在了,存在的只是它们的各种后续版本。
从UNIX的发展历程,可以注意到UNIX与其他商业操作系统的不同之处主要在于其开放性。在系统开始设计时就考虑了各种不同使用者的需要,因而UNIX被设计为具备很大可扩展性的系统。由于它的源代码被分发给大学,从而在教育界和学术界影响很大,进而影响到商业领域中。大学生和研究者为了科研目的或个人兴趣在UNIX上进行各种开发,并且不计较金钱利益,将这些源代码公开,互相共享,这些行为极大丰富了UNIX本身。很多计算机领域的科学家和技术人员遵循这些方式,开发了数以千计的自由软件,包括FreeBSD在内。正因为如此,当今的Internet才如此丰富多彩,与其他商业网络不同,才能成为真正的全球网络。开放是UNIX的灵魂,也是Internet的灵魂。
由于UNIX的开放性,使得存在多个不同的UNIX版本。由于不同的UNIX使用稍有差别的文件、目录结构,提供略有不同的系统调用,因此对系统管理以及为UNIX开发可移植的应用程序带来了一定的困难。例如System V和BSD的很多系统调用就存在不同。在UNIX历史发展中也存在将UNIX完全统一的努力,例如POSIX 规范就是各个UNIX厂商经过协商,达成的UNIX操作系统应该遵循的一套基本系统调用的规定。然而由于存在多个UNIX系统,各个厂商的意见很不统一,因此POSIX规范制定得很宽松,甚至Windows NT中也存在一个POSIX子系统。事实上,只要各个UNIX之间协调发展,不故意为了商业目的而人为地制造系统差异,就能够保持各个UNIX 之间不至于具有太大的差别,保持UNIX系统的多样性比只有惟一的一个UNIX系统更能够促进技术的进步和发展。
UNIX系统是一种非常成熟的操作系统,它在各种高端应用环境,例如大中型计算机以及其他大型应用系统中使用广泛。多用户、多任务、树形结构的文件系统以及重定向和管道是UNIX的三大特点。UNIX系统有很多变种,例如常见的Sun公司的SunOS和Solaris,IBM公司的AIX、SGI公司的IRIX等,还有一些组织和个人开发了一些面向个人和小型应用的类UNIX系统。
注意:常见的各种BSD以及Linux发布版本都属于类UNIX系统。这些系统在功能和应用上基本类似于UNIX系统,但通常人们提到的UNIX都是指Solaris、IRIX、AIX等基于专用体系结构的操作系统,而FreeBSD和Linux则是基于个人计算机的。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。