第1章 计算机行业发展史和网络安全面临的新挑战
1.1 引言
J. Hick对数据处理领域的早期发展进行了概括,算盘是首个用于计算的工具,也是当今计算机行业发展的基础。1642年,法国数学家B. Pascal研制出“齿轮传动”机械计算器,可以进行加法、减法和乘法运算,计算领域发生了新的改变。1671年,德国数学家G. Leibnitz在Pascal设计的基础上进行改进,使其能够进行除法和开平方根运算[1]。从使用算盘进行珠算到后来使用齿轮机进行计算,奠定了现代计算机产业发展的基础。
19世纪初,J. Jacquard在提花机的控制机制中使用了“打孔卡”思想,这对现代计算机产业的*终形成具有重要意义。通过调整打孔卡片的顺序,提花机可以生产出许多花纹和图案。特定图案的穿孔卡片重复,相应的图案将自动重复。如此看来,穿孔卡片的排列顺序其实就是提花机的程序。1812年,英国数学家C. Babbage将提花机的工作原理和穿孔卡片的排序方法应用于数值计算,通过研究穿孔卡片的排序方法,总结出数值计算的步骤并将其预先存储在卡片上,这样一台机器可以完全独立地处理数据。Babbage的研究是数据处理中“存储程序”概念的雏形,这样就将计算机与计算器区别开来。他设计了第一台用于计算对数表的“计算机”并将其命名为差分机。差分机主要包括输入输出设备、运算单元和存储单元三个部分。因此,Babbage被称为提出计算机概念的第一人[2]。
英国著名诗人拜伦的女儿A. Byron也对Babbage的研究做出了重要贡献。Byron是一位多才多艺的数学家,对Babbage的设计理念进行了分析和改进。她编写了Babbage差分机的运算表,是公认的第一位程序员。为了纪念她做出的贡献,编程语言ADA以她的名字命名[3]。值得一提的是,后来美国国防部采用了大量基于改进ADA编程语言的应用程序。
19世纪70年代,穿孔卡片得到了进一步改良。H. Metcalfe对成本会计系统进行了重构,使其能从皮革账单中获取会计记录,并将这些记录转换成穿孔卡片,实现了一种更有效的账目信息获取方法。对这些卡片进行分类,可以比传统的账簿更方便快捷地获取信息。Metcalfe制定了一种编码方案和记录单元来详细描述数据流。1880年,美国统计学家H. Hollerith基于Metcalfe的思想,将穿孔卡片用于当年美国人口普查数据的处理。他设计了一款制表机,使用机器可读的打孔卡片。他创办的公司在随后6年间兼并另外三家公司,并于1911年成立计算制表记录(Computing Tabulation Recording,CTR)公司。1924年,CTR公司改名为国际商用机器(International Business Machines,IBM)公司[4]。
1908年,J. Powers对Hollerith的制表机进行改进,开发了具有制表位的分类器并用于1910年的人口普查。他创立的动力会计机公司于1926年兼并雷明顿兰德公司,随后与斯佩里陀螺仪公司合并,成立斯佩里 兰德公司,并生产出世界上第一台商用电子计算机UNIVAC。1937年,H. Aiken和IBM公司的工程师共同开发了MARK I数字计算机,由G. Hopper对其进行编程。Hopper后来成为美国海军上将,他对各种计算机语言的发展,尤其是COBOL语言,有着重要贡献[5]。
1939年,美国宾夕法尼亚大学的J. Mauchly和J. Eckert带领工程师开始研发第一台电子数字计算机ENIAC。ENIAC完成于1946年,它使用电子管,重量超过30吨,占地1500平方英尺(1平方英尺=0.093平方米)。1945年,美国普林斯顿大学的数学家J. Neumann开发出二进制数字系统。该系统使用0/1代表开/关和磁化/非磁化状态,推动了电子计算机的发展,为现代电子计算机奠定了基础[6]。
从第一台笨重的计算机到如今小巧的便携式个人计算机(personal computer,PC),计算机的发展经过了不同的历史阶段。第一代计算机(1951~1958年)使用电子管作为基础元件,用汞延迟线作为存储设备,使用二进制机器语言。第二代计算机(1959~1964年)使用晶体管取代电子管,引入磁带取代穿孔卡片,并引入COBOL和FORTRAN编程语言。第三代计算机(1965~1970年)使用集成电路,在硅片上集成大量晶体管,计算机进入了小型化时代,运行速度大大提高,纳秒成为衡量访问和处理速度的新标准。此时期IBM公司的System?360计算机以及数字设备公司(Digital Equipment Corporation,DEC)的第一台微型计算机诞生,使用电话拨号上网的计算机和远程终端开始流行。航空公司的订座系统和实时库存控制系统等商业应用程序开始增加。
第四代计算机(1971~1990年)使用大规模集成电路(large-scale integrated circuit,LSIC),引入存储单元和逻辑处理单元,使得IBM 370大型主机成为可能。从大规模集成电路发展到超大规模集成电路,在一个极小的半导体芯片上放置完整的中央处理单元(central processing unit,CPU),增强了计算机性能,极大地降低了计算机的成本,价值不足1000美元的个人计算机可以达到20世纪60年代耗资数百万美元大型机的处理能力。具有良好用户体验的软件和图形终端的微型计算机和个人计算机逐渐面世[7]。
个人计算机的发展深刻地改变了整个计算机行业。第四代计算机使个人计算机成为可能,其图形化界面推动了第五代计算机的发展。1975年ALTAIR 8800成为第一台个人计算机,1977年苹果I、II和Commodore计算机面世,1981年IBM公司家用个人计算机出现,1983年苹果Lisa计算机面世,1984年出现苹果Macintosh计算机,这些个人计算机出现在一个对软件(操作系统)需求极为旺盛的年代,而当时*重要的操作系统是微软的MS-DOS操作系统。有趣的是,ALTAIR 8800计算机几乎没有任何应用程序,却吸引了众多的爱好者,这些爱好者中就有史蒂夫 乔布斯和斯蒂夫 沃兹尼亚克,他们在两年内开发了苹果I代和II代计算机,这使得那些对个人计算机行业持观望态度的人感到极为震惊。然而,仍然有人对这些新的个人计算机持怀疑态度。当时IBM公司基本上占据了整个计算机行业,处于全球大型机的统治地位,并在1981年发布了新的家用个人计算机,促使这个新兴行业被广泛接受。从此,人们才开始真正关注个人计算机领域。
IBM公司在个人计算机市场有几个重大的战略失误。第一个重大失误是将个人计算机操作系统的开发进行外包。它与微软公司签订外包合同,由微软公司开发了MS-DOS操作系统。其实以IBM公司拥有的人力、技术、资金和能力,完全可以开发自己的操作系统,并不需要与微软签订外包合同。第二个重大失误是未能限制MS-DOS操作系统的许可授权。第三个重大失误是利用现成的部件来组装个人计算机,同时又未对MS-DOS操作系统进行IBM独家授权限制,导致一些新兴小公司仅仅通过购买现成部件,再从微软获得MS-DOS操作系统的授权许可,就可以组装出个人计算机,大量默默无闻的小公司开始进入个人计算机领域。第四个重大失误是IBM公司进入个人计算机市场时错误地估计了个人计算机的未来:其预计在个人计算机的整个生命周期内,全球个人计算机的总产量是25万台。IBM公司以数百万美元的价格向世界各地的商业公司销售大型计算机,根本没有想到“业余爱好”文化的兴起,更没有想到这种文化所具有的持续性。尤其是在他们做出错误决策的时候,个人计算机的应用软件尚未出现。短期内相继出现的应用软件包括1978年的VisiCalc电子表格软件和1979年的WordStar软件。其他公司改进了这些产品,Lotus1-2-3成为全行业的电子表格软件。此外,WordPerfect是后来Microsoft Office文字处理系列的重要组成部分。20世纪70年代,计算机行业兴起,之后以不可思议的速度成长发展,*终形成了互联网和万维网。
1969年,作为美国国防部高级研究计划局的实验成果,拥有四个节点的高级研究计划局计算机网络(Advanced Research Projects Agency Network,ARPANET)开始运行。1973年,实验节点增加到37个;1977年,开始使用互联网协议(internet protocol,IP)。从ARPANET面世到1997年,互联网拥有超过20万台个人计算机以及5000万用户。
20世纪50年代,在那个洲际弹道导弹备受关注的时代,美国国防部开始了一项关于通信和资源共享的实验。美国国防部关注美国承受第一次核打击能力,决定支持通信网络的研究。兰德公司的P. Baran作为项目的首席设计师,负责推动建设这个新的通信系统,其特征包括冗余链路、非中央控制、所有信息分成大小相等的数据包、数据包的可变路由取决于链路和节点的可用性、链路或节点丢失后可以自动重新配置路由表[8]。
麻省理工学院林肯实验室的L.?Roberts?和美国国防部高级研究计划局的J.?Licklider重点关注如何构建成本低廉的共享计算机和数据网络。1965年,Roberts和英国国家物理实验室的D. Davies提出分组交换计算机网络,使用电话线来处理信息,速度在100kbit/s到1.5Mbit/s,通过网络中的接口计算机连接到大型主机,每秒可以处理10000个数据包。美国加利福尼亚大学洛杉矶分校的L.?Kleinrock建立了分组交换网络的分析模型,对于指导设计具有重要意义。1968年,美国国防部高级研究计划局与F.?Heart签订合同,在博尔特 贝拉尼克-纽曼(BBN)公司建立首批接口消息处理器,将大型机及其操作系统连接到网络。由于网络必须互联互通,V. Cerf设计了一个新的协议,允许用户连接不同网络计算机上的程序。1977年,Cerf完成互联网的雏形,并设计与之匹配的传输控制协议(transport control protocol,TCP)和IP。其中,IP可以跨越多个网络路由数据包;TCP可以将报文转换成数据包流,也可以将数据包流重组成报文[9]。
1969~1989年,美国国防部和国家科学基金会(National Science Foundation,NSF)等机构斥巨资进行实验,促使互联网的创立和发展。这些研究人员的工作具有极大的价值,对多种网络进行统一,*终构建了一个稳定的、具有实用价值的网络。1989年,ARPANET停止运行;1996年,Internet的管理权从NSF移交给商业互联网服务提供商(Internet service provider,ISP)[10]。
欧洲核子研究组织(CERN)的T. Berners-Lee设计出了统一资源定位符(uniform resource locator,URL)对文件进行命名,使用超文本传输协议(hypertext transfer protocol,HTTP)对文件进行传输,并设计了一种超文本标记语言(hypertext mark-up language,HTML)可以识别一个文档内的超链接文本字符串。这种通过网络进行文档链接的系统被称为万维网(world wide web,WWW),受到广泛好评并被大规模使用。美国伊利诺伊大学国家超级计算应用中心的M. Andreeson设计了Mosaic浏览器,用于处理HTML文档和HTTP。这是一种简单、易用的多媒体接口,使得万维网有了突破性发展。1992年,这种设计使得Internet迅速风靡全球[11]。
科技的不断发展和软件的改进带来了显著的科学进步和大量的发明。模拟世界到数字世界的转型,将不同设备所能提供的通信、出版、娱乐等功能前所未有地融合在一起,这
展开