1.1.1 单机时代
计算机是20世纪最伟大的科学技术发明之一,普惠到人类社会的各个领域,已成为人们日常生活中不可缺少的工具。计算机科学与技术也随之发展成为一门重要的学科,改变了人们的生产、生活方式。
(1)计算机硬件发展
1946年,美国奥伯丁武器试验场生产了第一台全自动电子数字计算机“埃尼阿克”(ENIAC, electronic numerical integrator and calculator),旨在满足计算弹道需要。电子计算机ENIAC采用电子管作为基本元件,每秒可进行5000次加减运算。随后,经过半个多世纪的飞速发展,计算机已成为具有强大信息处理功能的现代化电子设备。在人类科技史上还没有任何技术可以与电子计算机的发展速度相提并论。计算机硬件的发展迄今为止已经历了4个时代[1,2]。
① 第一代(1946年~1958年):电子管数字计算机。计算机的基本结构包括运算器、控制器、存储器和输入输出装置。运算器和控制器采用电子管;主存储器采用汞延迟线、磁鼓、磁芯,外存储器采用磁鼓和磁带;输入输出装置主要使用穿孔卡。电子管数字计算机奠定了计算机技术的基础,但是其缺点明显,例如,体积大、耗电大、可靠性差、价格昂贵、维修复杂等。
② 第二代(1958年~1964年):晶体管数字计算机。晶体管在计算机中的应用标志着第二代计算机的诞生。相比于电子管数字计算机,晶体管数字计算机具有体积小、重量轻、耗电少、可靠性高、计算能力强、寿命长等优势。主存储器采用磁芯,外存储器逐渐采用更为先进的磁盘。伴随出现了操作系统、打印机、内存以及高级程序设计语言等软件、设备和工具,软件产业也由此产生,主要应用于科学计算和各种事务处理,并逐步应用于工业控制。
③ 第三代(1964年~1971年):集成电路数字计算机。第三代计算机的主要特征是集成电路(IC, integrated circuit),计算机的逻辑元件采用小规模集成电路(SSI, small-scale integration)、中规模集成电路(MSI, medium-scale integration)。相比于晶体管,集成电路体积更小、耗电更少、可靠性更高、计算能力更强、寿命更长,使第三代计算机的性能比第二代计算机又有了很大的提高,应用领域日益扩大。主存储器采用半导体,软件逐渐完善,高级程序设计语言、分时操作系统得到了进一步的发展。
④ 第四代(1971年至今):大规模集成电路数字计算机。计算机的逻辑元件和主存储器都采用了大规模集成电路(LSI, large-scale integration)。大规模集成电路数字计算机开始使用鼠标进行可视化操作,其体积越来越小、价格越来越低、计算能力越来越强。第四代计算机在运算速度、存储容量、可靠性及性价比等诸多方面都取得了长足发展,其软件配置更加丰富,操作系统日益成熟,数据管理系统被普遍使用,呈现出多极化、多媒体、智能化等发展趋势。
(2)操作系统发展
操作系统是管理计算机硬件的程序,为应用程序提供支撑,但并不与计算机硬件一起出现。它是为了满足提高资源利用率、增强计算机系统性能等现实需求,伴随着计算机技术本身及其应用的日益发展而逐步地形成和完善起来的。计算机操作系统的发展归纳如下8类[3~10]。
① 手工操作(无操作系统)(1946年~20世纪50年代中期)。1946年诞生的第一台计算机中尚未出现操作系统,此时的计算机操作主要通过人工直接操作计算机硬件的方式实现。然而,手工操作方式存在用户独占全机、运算器等待手工操作等局限性,严重降低了计算机资源的利用率。
② 单道批处理系统(20世纪50年代后期~20世纪60年代中期)。20世纪50年代后期,由于手工操作速度和计算机处理速度差异较大,人机矛盾逐渐凸显,需要减少手工操作,逐渐实现作业的自动过渡,单道批处理系统应运而生。单道批处理系统可对作业进行批量处理,具有自动性、顺序性、单道性等特点。
③ 多道批处理系统(20世纪60年代中期)。为解决单道批处理系统无法充分利用系统中的所有资源所导致系统性能较差的问题,在批处理系统中引入多道程序设计技术。该技术可以提高CPU利用率、提高内存和I/O设备利用率、增加系统吞吐量,使系统具有调度性、无序性、多道性等特点。这一阶段,最为典型的多道批处理系统是运行在IBM S/360上的OS/360 MVT,该操作系统可同时支持15个程序,通过将中央存储器分区,并在各分区中运行各程序的方式来提高资源利用率和管理效率。
④ 分时系统(20世纪60年代中期)。作为多道程序设计的自然延伸,分时系统是为了满足用户需求而研发的一种新型操作系统,使一台计算机可同时连接多个用户终端,用户可以在自己的终端上联机使用计算机。与多道批处理系统相比,分时系统具有多路性、独立性、及时性和交互性等特征,是当今计算机操作系统中使用最为普遍的一类操作系统。
⑤ 实时系统(20世纪60年代中期)。实时系统指系统能及时响应事件的请求,并在规定的时间内完成对该事件的处理。尽管多道批处理系统和分时系统极大地提高了资源利用率、降低了系统响应时间,但无法满足实时控制与实时信息处理两个应用领域的需求,实时系统应运而生,初期主要用于工业过程控制、军事实时控制等方面。
⑥ 通用操作系统(20世纪60年代中期至今)。通用操作系统是具有多种类型操作特征的操作系统,可同时兼有多道批处理、分时、实时处理等功能,其研制初期无法解决可靠性、可维护性和可理解性等方面的问题。在此背景下,Unix操作系统实现了多用户分时交互,可支持庞大的软件系统,得以快速应用和推广,对现代操作系统产生了重大的影响。20世纪80年代以后,大规模集成电路工艺技术飞速发展,使得计算机广泛普及,此时的操作系统按照应用场景可划分为服务器操作系统和个人计算机操作系统。服务器操作系统主要实现对计算机硬件与软件的直接控制与管理协调,包括Unix、Linux、Windows Server和Netware四大流派。个人计算机操作系统主要面向个人用户,典型的早期个人计算机操作系统是DOS,其最早由微软公司为IBM个人计算机开发;随后,在GUI图形界面的潮流影响下,微软公司又与IBM合作,共同研制出了OS/2(operating system/2)。由于微软公司在DOS的基础上推出了Windows系列操作系统,并将其作为主要业务,微软公司最终放弃OS/2。与此同时,苹果公司针对其自行生产的苹果机,推出了Mac操作系统。个人计算机的多样化应用需求对用户接口和文件系统提出了更高的要求,因此操作系统又向智能化和分布式处理等方向发展。
⑦ 智能终端操作系统(21世纪初至今)。伴随着智能手机、平板电脑等智能终端的发展,工业界开发了智能终端操作系统,这种操作系统使各类终端具备类似个人计算机的功能,拥有良好的用户界面、很强的应用扩展性和可操作性。其中,最为典型的是iOS和Android。iOS是苹果公司于2007年1月发布的操作系统;Android由Google公司于2007年11月推出,是基于Linux开发的操作系统。智能终端操作系统的硬件平台无关性、不受运营商限制、广泛全面的应用等特点使人们便捷地使用智能终端成为可能,是移动互联网得以快速发展和应用的重要基础。
⑧ 云操作系统(21世纪初至今)。云操作系统架构于计算、存储、网络等基础硬件资源和操作系统、中间件、数据库等基础软件资源之上,能实现各类异构软硬件基础资源的兼容性和数据资源的动态管理,是云平台的综合管理系统。典型的云操作系统包括VMware vCenter Server、浪潮云海等。