简介
电脑系统按人的要求接收和存储信息,自动进行资料处理和计算,并输出结果信息的机器系统。电脑是脑力的延伸和扩充,是近代科学的重大成就之一。
电脑系统由硬体(子)系统和软体(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程式和档案,用于指挥全系统按指定的要求进行工作。
自1946年第一台电子电脑问世以来,电脑技术在元件器件、硬体系统结构、软体系统、套用等方面,均有惊人进步,现代电脑系统小到微型电脑和个人电脑,大到巨型电脑及其网路,形态、特徵多种多样,已广泛用于科学计算、事务处理和过程控製,日益深入社会各个领域,对社会的进步产生深刻影响。
电子电脑分数位和模拟两类。通常所说的电脑均指数位电脑,其运算处理的资料,是用离散数位量表示的。而模拟电脑运算处理的资料是用连续模拟量表示的。模拟机和数位机相比较,其速度快、与物理设备接口简单,但精度低、使用困难、稳定性和可靠性差、价格昂贵。故模拟机已趋淘汰,仅在要求回响速度快,但精度低的场合尚有套用。把二者优点巧妙结合而构成的混合型电脑,尚有一定的生命力。
特点
电脑系统的特点是能进行精确、快速的计算和判断,而且通用性好,使用容易,还能联成网路。①计算:一切复杂的计算,几乎都可用电脑通过算术运算和逻辑运算来实现。②判断:电脑有判别不同情况、选择作不同处理的能力,故可用于管理、控製、对抗、决策、推理等领域。③存储:电脑能存储巨量信息。④精确:只要字长足够,计算精度理论上不受限製。⑤快速:电脑一次操作所需时间已小到以纳秒计。⑥通用:电脑是可程式的,不同程式可实现不同的套用。⑦易用:丰富的高性能软体及智慧型化的人-机接口,大大方便了使用。⑧联网:多个电脑系统能超越地理界限,借助通信网路,共享远程信息与软体资源。
组成
图1为电脑系统的层次结构。核心是硬体系统,是进行信息处理的实际物理装置。最外层是使用电脑的人,即使用者。人与硬体系统之间的接口介面是软体系统,它大致可分为系统软体、支援软体和套用软体三层。
硬体
硬体系统主要由中央处理器、存储器、输入输出控製系统和各种外部设备组成。中央处理器是对信息进行高速运算处理的主要部件,其处理速度可达每秒几亿次以上操作。存储器用于存储程式、资料和档案,常由快速的主存储器(容量可达数百兆位元组,甚至数G位元组)和慢速海量辅助存储器(容量可达数十G或数百G以上)组成。各种输入输出外部设备是人机间的信息转换器,由输入-输出控製系统管理外部设备与主存储器(中央处理器)之间的信息交换。
软体
软体分为系统软体、支撑软体和套用软体。系统软体由作业系统、实用程式、编译程式等组成。作业系统实施对各种软硬体资源的管理控製。实用程式是为方便使用者所设,如文本编辑等。编译程式的功能是把使用者用汇编语言或某种高级语言所编写的程式,翻译成机器可执行的机器语言程式。支撑软体有接口软体、工具软体、环境资料库等,它能支持用机的环境,提供软体研製工具。支援软体也可认为是系统软体的一部分。套用软体是使用者按其需要自行编写的专用程式,它借助系统软体和支援软体来运行,是软体系统的最外层。
分类
电脑系统可按系统的功能、性能或体系结构分类。
电脑系统① 专用机与通用机:早期电脑均针对特定用途而设计, 具有专用性质。60年代起, 开始製造兼顾科学计算、事务处理和过程控製三方面套用的通用电脑。特别是系列机的出现,标準文本的各种高级程式语言的採用,作业系统的成熟,使一种机型系列选择不同软体、硬体配置,就能满足各行业大小使用者的不同需要,进一步强化了通用性。但特殊用途的专用机仍在发展,例如连续动力学系统的全数位仿真机,超微型的空间专用电脑等。
② 巨型机、大型机、中型机、小型机、微型机:电脑是以大、中型机为主线发展的。60年代末出现小型电脑,70年代初出现微型电脑,因其轻巧、价廉、功能较强、可靠性高,而得到广泛套用。70年代开始出现每秒可运算五千万次以上的巨型电脑,专门用于解决科技、国防、经济发展中的特大课题。巨、大、中、小、微型机作为电脑系统的梯队组成部分,各有其用途,都在迅速发展。
③ 流水线处理机与并行处理机:在元件、器件速度有限的条件下,从系统结构与组织着手来实现高速处理能力,成功地研製出这两种处理机。它们均面向ɑiθbi=ci(i=1,2,3,…,n;θ为算符)这样一组资料(也叫向量)运算。流水线处理机是单指令资料流(SISD)的,它们用重叠原理,用流水线方式加工向量各元素,具有高加工速率。并行处理机是单指令流多资料流(SIMD)的,它利用并行原理,重复设定多个处理部件,同时并行处理向量各元素来获得高速度(见并行处理电脑系统)。流水和并行技术还可结合,如重复设定多个流水部件,并行工作,以获得更高性能。研究并行演算法是发挥这类处理机效率的关键。在高级程式语言中相应地扩充向量语句,可有效地组织向量运算;或设有向量识别器,自动识别源程式中的向量成分。
一台普通主机(标量机)配一台数组处理器(仅作高速向量运算的流水线专用机),构成主副机系统,可大大提高系统的处理能力,且性能价格比高,套用相当广泛。
④ 多处理机与多机系统、分布处理系统和电脑网:多处理机与多机系统是进一步发展并行技术的必由之路,是巨型、大型机主要发展方向。它们是多指令流多资料流(MIMD)系统,各机处理各自的指令流(进程),相互通信,联合解决大型问题。它们比并行处理机有更高的并行级别,潜力大,弹性好。用大量廉价微型机,通过互连网路构成系统,以获得高性能,是研究多处理机与多机系统的一个方向。多处理机与多机系统要求在更高级别(进程)上研究并行演算法,高级程式语言提供并发、同步进程的手段,其作业系统也大为复杂,必须解决多机间多进程的通信、同步、控製等问题。
分布系统是多机系统的发展,它是由物理上分布的多个独立而又相互作用的单机,协同解决使用者问题的系统,其系统软体更为复杂(见分布电脑系统)。
现代大型机几乎都是功能分布的多机系统,除含有高速中央处理器外,有管理输入输出的输入输出处理机(或前端使用者机)、管理远程终端及网路通信的通信控製处理机、全系统维护诊断的维护诊断机和从事资料库管理的资料库处理机等。这是分布系统的一种低级形态。
多个地理上分布的电脑系统,通过通信线路和网路协定,相互联络起来,构成电脑网。它按地理上分布的远近,分为局部(在地)电脑网和远程电脑网。网路上各电脑可相互共享信息资源和软硬体资源。订票系统、情报资料检索系统都是电脑网套用的实例。
⑤ 诺依曼机与非诺依曼机:存储程式和指令驱动的诺依曼机迄今仍佔统治地位。它顺序执行指令,限製了所解问题本身含有的并行性,影响处理速度的进一步提高。突破这一原理的非诺依曼机,就是从体系结构上来发展并行性,提高系统吞吐量,这方面的研究工作正在进行中。由资料流来驱动的资料流电脑以及按归约式控製驱动和按需求驱动的高度并行电脑,都是有发展前途的非诺依曼电脑系统。
展望
电脑系统约每3~5年更新一次,性能价格比成十倍地提高,体积大幅度减小。超大规模积体电路技术将继续快速发展,并对各类电脑系统均产生巨大而又深刻的影响。32位微型机已出现,64位微型机也将问世,单片上做1000万个元件已为时不远。比半导体积体电路快10~100倍的器件,如砷化镓、高电子迁移率器件、约瑟夫逊结、光元件等的研究将会有重要成果。提高组装密度和缩短互连线的微组装技术是新一代电脑的关键技术之一。光纤通信将大量套用。各种高速智慧型化外部设备不断涌现,光碟的问世将使辅助海量存储器面目一新。多处理机系统、多机系统、分布处理系统将是引人注目的系统结构。软体硬化(称韧体)是发展趋势。新型非诺伊曼机、推理电脑、知识库电脑等已开始实际使用。软体开发将摆脱落后低效状态。软体工程正在深入发展。软体生产正向工程化、形式化、自动化、模组化、集成化方向发展。新的高级语言如逻辑型语言、函式型语言和人工智慧的研究将使人-机接口简单自然(能直接看、听、说、画)。资料库技术将大为发展。电脑网路将广泛普及。以巨大处理能力(例如每秒 100~1000亿次操作)、巨大知识信息库、高度智慧型化为特征的下一代电脑系统正在大力研製。电脑套用将日益广泛。电脑辅助设计、电脑控製的生产线、智慧型机器人将大大提高社会劳动生产力。办公、医疗、通信、教育及家庭生活,都将电脑化。电脑对人们生活和社会组织的影响将日益广泛深刻。
工作流程
使用者使用电脑系统算题的一般流程如图2。
①通过系统操作员建立帐号,取得使用权。帐号既用于识别并保护使用者的档案(程式和资料),也用于系统自动统计使用者使用资源的情况(记帐,付款)。
②根据要解决的问题,研究演算法,选用合适的语言,编写源程式,同时提供需处理的资料和有关控製信息。
③把②的结果在脱机的专用设备上放入软磁碟,建立使用者档案(也可在在线上终端上进行,直接在辅助存储器中建立档案,此时第四步省去)。
④借助软碟机把软碟上使用者档案输入电脑,经加工处理,作为一个作业,登记并存入辅助存储器。
⑤是要求编译。作业系统把该作业调入主存储器,并调用所选语言的编译程式,进行编译和连线(含所调用的子程式),产生机器可执行的目标程式,存入辅助存储器。
⑥要求运算处理。作业系统把目标程式调入主存储器,由中央处理器运算处理,结果再存入辅助存储器。
⑦运算结果由作业系统按使用者要求的格式送外部设备输出。
电脑内部工作(④~⑦)是在作业系统控製下的一个复杂过程。通常,一台电脑中有多个使用者作业同时输入,它们由作业系统统一调度,交错运行。但这种调度对使用者是透明的,一般使用者无需了解其内部细节。
使用者可用一台终端,互动式的控製③~⑦的进行(分时方式);也可委托操作员完成③~⑦,其中④~⑦是电脑自动进行的(批处理方式)。批处理方式的自动化程度高,但使用者不直观,无中间干预。分时方式使用者直观控製,可随时干预纠错,但自动化程度低。现代电脑系统大多提供两种方式,由使用者选用。
作业系统
作业系统是方便使用者、管理和控製电脑软硬体资源的系统软体(或程式集合)。 从使用者角度看,作业系统可以看成是对电脑硬体的扩充;从人机互动方式来看,作业系统是使用者与机器的接口;从电脑的系统结构看,作业系统是一种层次、模组结构的程式集合,属于有序分层法,是无序模组的有序层次调用。作业系统在设计方面体现了电脑技术和管理技术的结合。作业系统在电脑中的地位:
作业系统是软体,而且是系统软体。它在电脑系统中的作用,大致可以从两方面体会:
对内,作业系统管理电脑系统的各种资源,扩充硬体的功能;
对外,作业系统提供良好的人机介面,方便使用者使用电脑。它在整个电脑系统中具有承上啓下的地位。
作业系统是一个大型的软体系统,其功能复杂,体系庞大。从不同的角度看的结果也不同,正是"横看成岭侧成峰",下面我们通过最典型的两个角度来分析一下。
1、从程式员的角度看
正如前面所说的,如果没有作业系统,程式员在开发软体的时候就必须陷入复杂的硬体实现细节。程式员并不想涉足这个可怕的领域,而且大量的精力花费在这个重复的、没有创造性的工作上也使得程式员无法集中精力放在更具有创造性的程式设计工作中去。程式员需要的是一种简单的,高度抽象的可以与之打交道的设备。
将硬体细节与程式员隔离开来,这当然就是作业系统。
从这个角度看,作业系统的作用是为使用者提供一台等价的扩展机器,也称虚拟机,它比底层硬体更容易编程。
2、从使用者的角度看
从使用者的角度来看,作业系统则用来管理一个复杂系统的各个部分。
作业系统负责在相互竞争的程式之间有序地控製对CPU、记忆体及其它I/O接口设备的分配。
比如说,假设在一台电脑上运行的三个程式尝试同时在同一台印表机上输出计算结果。那麽头几行可能是程式1的输出,下几行是程式2的输出,然后又是程式3的输出等等。最终结果将是一团糟。这时,作业系统採用将列印输出送到磁碟上的缓沖区的方法就可以避免这种混乱。在一个程式结束后,作业系统可以将暂存在磁碟上的档案送到印表机输出。
从这种角度来看,作业系统则是系统的资源管理者。
发展历史
下面我们结合电脑的发展历史来回顾一下作业系统的发展历程。
1、第一代电脑(1945-1955):真空管和外挂程式板
40年代中期,美国哈佛大学、普林斯顿高等研究院、宾夕法尼亚大学的一些人使用数万个真空管,构建了世界上第一台电子电脑。开啓电脑发展的历史。这个时期的机器需要一个小组专门设计、製造、编程、操作、维护每台机器。程式设计使用机器语言,通过插板上的硬连线来控製其基本功能。
这个时候处于电脑发展的最初阶段,连程式语言都还没有出现,作业系统更是闻所未闻!
2、第二代电脑(1955-1965):电晶体和批处理系统
这个时期电脑越来越可靠,已从研究院中走出来,走进了商业套用。但这个时期的电脑主要完成各种科学计算,需要专门的操作人员维护,并且需要针对每次的计算任务进行编程。
第二代电脑主要用于科学与工程计算。使用FORTRAN与汇编语言编写程式。在后期出现了作业系统的雏形:FMS(FORTRAN监控系统)和IBMSYS(IBM为7094机配备的作业系统)
3、第三代电脑(1965-1980):积体电路晶片和多道程式
60年代初,电脑厂商根据不同的套用分成了两个电脑系列,一个针对科学计算,一个针对商业套用。
随着电脑套用的深入,对统一两种套用的电脑需求出现了。这时IBM公司尝试通过引入System/360来解决这个问题。
与这个计画配套,IBM公司组织了OS/360作业系统的开发,然后复杂的需求,以及当时软体工程水準低下使得OS/360的开发工作陷入了历史以来最可怕的"软体开发泥潭",诞生了最着名的失败论着----《神秘的人月》。
虽然这个开发计画失败了,但是这个愿望却成为了电脑厂商的目标。
此时,MIT、Bell Lab(贝尔实验室)和通用电气公司决定开发一种"公用电脑服务系统"----MULTICS,希望其能同时支持数百名分时使用者的一种机器。结果这个计画的研製难度超出了所有人的预料,最后这个系统也以失败结束。不过,MULTICS的思想却为后来的作业系统很多提示。
60年代未,一位贝尔实验室曾参加过MULTICS研製工作的电脑科学家Ken Thompson,在一台无人使用的PDP-7机器上开发出了一套简化的、单使用者版的MULTICS。后来导致了UNIX作业系统的诞生。
UNIX作业系统主导了小型机、工作站以及其他市场。也是至今最有影响力的作业系统之一,而Linux也是UNIX系统的一种衍生,下一讲我们将专门介绍一下UNIX的发展历史。
4、第四代电脑(1980-今):个人电脑
随着电脑技术的不断更新与发展,电脑神奇般地闯入了人们的生活,以低廉的价格就可以获得强大计算能力的电脑。
价格不再是阻拦电脑普及的门槛时,降低电脑的易用性就显得十分重要!由于UNIX系统的本身特点,使得其不太适合于在运行在个人电脑上,这时就需要一种新的作业系统。
在这一历史关键时候,IBM公司由于低估了PC机的市场,并未使用最大的力量角逐这一市场,这时Intel公司趁机进入,成为了当今微处理器的老大。同时善于抓住时机的微软公司的总裁比尔·盖茨适时地进入了这一领域,用购买来的CP/M摇身一变成为MS-DOS,并凭借其成为个人电脑作业系统领域的霸主。
虽然是苹果公司在GUI方面先拔头筹,但由于苹果公司的不兼容、不开放的市场策略,未能扩大战果,这时微软又适时地进入了GUI方面,凭借WINDOWS系统再次称雄!
作业系统
构成
一般来说,作业系统由以下几个部分组成:
1)进程调度子系统:
进程调度子系统决定哪个进程使用CPU,对进程进行调度、管理。
2)进程间通信子系统:
负责各个进程之间的通信。
3)记忆体管理子系统:
负责管理电脑记忆体。
4)设备管理子系统:
负责管理各种电脑外设,主要由设备驱动程式构成。
5)档案子系统:
负责管理磁碟上的各种档案、目录。
6)网路子系统:
负责处理各种与网路有关的东西。
结构设计
作业系统有多种实现方法与设计思路,下面仅选取最有代表性的三种做一简单的叙述。
一、整体式系统
整体式系统结构设计:
这是最常用的一种组织方式,它常被誉为"大杂烩",也可说,整体式系统结构就是"无结构"。
这种结构方式下,开发人员为了构造最终的目标作业系统程式,首先将一些独立的过程,或包含过程的档案进行编译,然后用连结程式将它们连结成为一个单独的目标程式。
Linux作业系统就是採用整体式的系统结构设计。但其在此基础上增加了一些形如动态模组载入等方法来提高整体的弹性,弥补整体式系统结构设计的不足。
电脑系统二、层次式系统
层次式系统结构设计:
这种方式则是对系统进行严格的分层,使得整个系统层次分明,等级森严!这种系统学术味道较浓!实际完全按照这种结构进行设计的作业系统不多,也没有广泛的套用。
可以这麽说,现在的作业系统设计是在整体式系统结构与层次式系统结构设计中寻求平衡。
三、微核心系统
微核心系统结构设计:
微核心系统结构设计是近几年来出现的一种新的设计理念,最有代表性的作业系统有Mach和QNX。
微核心系统,顾名思义就是系统核心很小!比如说QNX的微核心只负责:
¨ 进程间的通信
¨ 低层的网路通信
¨进程调度
¨ 第一级中断处理
横向比较
电脑历史中出现了许许多多的作业系统,然后大浪淘沙,无情地淘汰了许多,只留下一些经历过市场考验的:
一、桌面作业系统
1)MSDOS:Intelx86系列的PC机上的最早的作业系统,微软公司产品,曾经统治了这个领域,现在已逐渐被自家兄弟WINDOWS 9x系列所代替,现在除了一些低档机外已不多见。
2)Windows 9x:微软公司产品,从Windows 3.x发展而来,现在是基于Intel x86系列的PC机上的主要作业系统,也是现然个人电脑中装机量最大的作业系统。面向桌面、面向个人使用者。
3)Mac OS:苹果公司所有,介面友好,性能优异,但由于只能运行在苹果公司自己的电脑上而发展有限。但由于苹果电脑独特的市场定位,现在仍存活良好。
4)linux:Linux是一种电脑作业系统和它的核心的名字,它也是自由软体和开放原始码发展中最着名的例子。
严格来讲,Linux这个词本身只表示Linux核心,但在实际上人们已经习惯了用Linux来形容整个基于Linux核心,并且使用GNU 工程各种工具和资料库的作业系统(也被称为GNU/Linux)。基于这些组件的Linux软体被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软体,比如软体开发工具,资料库,Web伺服器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件等等。
二、伺服器作业系统
1)UNIX系列:UNIX可以说是源远流长,是一个真正稳健、实用、强大的作业系统,但是由于众多厂商在其基础上开发了有自己特色的UNIX版本,所以影响了整体。在国外,UNIX系统可谓独树一帜,广泛套用于科研、学校、金融等关键领域。但由于中国的电脑发展较为落后,UNIX系统的套用水準与国外相比有一定的滞后。
2)Windows NT系列:微软公司产品,其利用Windows的友好的使用者介面的优势打进伺服器作业系统市场。但其在整体性能、效率、稳定性上都与UNIX有一定差距,所以现在主要套用于中小企业市场。
3)Novell Netware系列:Novell公司产品,其以极适合于中小网路而着称,在中国的证券行业市场佔有率极高,而且其产品特点鲜明,仍然是伺服器系统软体中的长青树。
4)LINUX系列: Linux是一种自由和开放源码的类Unix作业系统。目前存在着许多不同的Linux,但它们都使用了Linux核心。Linux可安装在各种电脑硬体设备中,从手机、平板电脑、路由器和影片游戏控製台,到台式电脑、大型机和超级电脑。Linux是一个领先的作业系统,世界上运算最快的10台超级电脑运行的都是Linux作业系统。严格来讲,Linux这个词本身只表示Linux核心,但实际上人们已经习惯了用Linux来形容整个基于Linux核心,并且使用GNU 工程各种工具和资料库的作业系统。Linux得名于电脑业余爱好者Linus Torvalds。
弗林分类法
弗林(Flynn)分类法是按指令流、资料流及其多倍性分类的。共分四类:
SISD――指令部件只对一条指令处理,只控製一个操作部件操作。如一般的串列单处
理机。
SIMD――由单一指令部件同时控製多个重复设定的处理单元,执行同一指令下不同
资料的操作。如阵列处理机。
MISD――多个指令部件对同一资料的各个处理阶段进行操作。这种机器很少见。
MIMD――多个独立或相对独立的处理机分别执行各自的程式、作业或进程。例如多
处理机。
















