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