1.2 计算机的软、硬件组成
计算机系统可分为硬件系统和软件系统两大类。计算机的硬件是指系统中可以看到的设备实体,如前面提到的运算器、控制器、存储器、输入设备、输出设备,以及将它们组织为一个计算机系统的总线、接口等;计算机的软件是指系统中各类程序和文件,由于它们在计算机中体现为一些不能直接触摸得到的二进制信息,所以称为软件。下面分别介绍计算机系统中的硬件及软件组成。
1.2.1 计算机硬件系统
早期,诺依曼将计算机硬件分为五大部分。几十年中,计算机硬件系统已有了许多重大的变化。首先,现在采用的大规模集成电路,可将运算器和控制器集成在一块芯片上,合称为中央处理器(CPU)。它是负责执行程序,实现运算处理控制整个系统有序运行的部件。相应地,原来的运算器现在作为 CPU 中的运算部件,它与控制器之间的界限已不像原来那样分明,其次,存储器分为高速缓存、主存储器、外存储器3个层次。其中高速缓冲常集成在 CPU 内部,作为 CPU 的一个部分,也可以在 CPU 再设置一级高速缓存。通常将CPU 与主存储器合在一起称为主机,所以位于之内的这部分存储器称为主存储器(简称主存),或称为内存储器(内存)。位于主机之外的磁盘、光盘磁带等,则称为外存储器(简称外存)。还有,输入设备的任务是将外部的信息输入主机,输出设备则是将主机的运算处理结果或主机中的其他信息从主机输出。但从信息传送的控制角度看,它们并无多少区别,不过是传送方向不同而已。有些设备还兼有输入与输出设备的两种功能,例如,磁盘既是外存储器、又是输入、输出设备。所以在描述系统结构时常将它们合称为输入/输出设备,简称I/O设备。
在图1-1中,用框图的形式,描述一种常见的硬件系统结构。在这种框图中,将CPU、主存和 I/O 设备等都画为一个框,在框内标注其名称。部件、设备之间的连线也采用示意的方式表现,暂不画出全部连线、也没有具体标明各条连线的细节。采用这种画法可大大简化细节,以突出其系统结构。
图1-1 常见计算机硬件系统结构
下面以图1-1为基础,分别说明各组成部件的功能和相应的特性,以及总线为基础构成整机系统的方法。
1.CPU
CPU(Central Processing Unit)即中央处理器,是硬件系统的核心部件,负责读取并执行指令,也就是执行程序。前面曾经提到诺依曼体制的要点之一,即采用二进制编码表示数据和指令,那么怎样区分它们呢?在 CPU 中有一个程序计数器,即 PC(Program Counter),它存放着当前指令所在存储单元的地址。如果程序是顺序执行,在读取一个存储单元的指令代码之后,PC 的内容就加1。如果程序需要转移,则将转移地址送入 PC。因此,PC 就像一个指针,指引着程序的执行顺序。虽然指令与数据都采用二进制编码表示,但在外形上没有区别,可先按照 PC 的内容作为地址去读取指令,再按照指令给出的操作数地址去读取数据。下面谈到主存储器时,将会解释到地址的概念。
CPU 内有一个或多个运算部件。按照指令的要求将有关数据送入运算部件,进行指定的算术运算或逻辑运算,然后将运算结果送回主存储器,或暂时存放在 CPU 内部的寄存器中。
计算机的指令中有一类是输入/输出指令,CPU 通过执行输入/输出指令向外围设备发送相关的命令,输入或输出数据,或收集外围设备的状态信息以供判断。
因此,CPU 内的主要部分就是控制器,它的任务是控制整个系统的工作,决定着在什么时候,根据什么,发出什么命令,进行什么样的操作。例如,控制着从主存中读取指令,根据指令代码分时地发出一些细微的控制命令(微命令),控制存储器的读写、运算器的运算处理和数据的输入/输出等。
2.主存储器
通常,总是希望计算机系统中的存储器容量既大,存取速度又高,但这往往是有矛盾的。所以常将存储器分为几级。其中主存储器是用半导体存储器构成的,工作速度较高,也有一定的存储容量。外存储器为主存提供后援,由磁盘、光盘、磁带构成,存储容量很大,但速度较主存储器低。它们加上要以后介绍的高速缓冲存储器,集合而形成一个完整的存储系统,使得整个系统不但有很大的存储容量,而且CPU又可以高速地访问存储器。
主存储器用来存入当前需要执行的程序及需要处理的数据,能由 CPU 直接读出或写入。
主存储器划分为许多存储单元,通常是每个单元存入8位二进制数,称为一个字节。每个单元都有一个相应的编号,称为存储单元地址。向主存储器送出某个地址编码,就能根据地址选中相应的一个单元。程序的执行形态是指令序列,要求能够逐条读取指令,而指令又要求逐个地读写与处理数据,根据指令的长度,一条指令存放在相邻的几个单元中。需要处理的数据又称为操作数,每次处理的操作数可以是一个字节或多个字节,相应地存放在主存中的一个或相邻的几个单元中。通过上面的描述,理解了主存中信息存放的情况,可见主存储器的一项重要特性是:能按地址(单元编号)存放或读取内容,也就是允许 CPU 直接编址访问,以字节为编址单元。对存储器来说,寻找存储单元的依据是地址码,所存取的内容是程序或数据。
3.外存储器
外存储器用来存放那些暂不执行的程序和数据,当需要运行它们时再由外存调入主存。例如,在硬盘中存放着几个可能要用的文件,但当前暂时只用得着其中的一个,那么就先将它调入到主存中,其余的文件依然存放在硬盘中。又如一个信息管理系统,所保存的数据很多,可以将它们存放在磁盘中,只将当前需要查询的部分调入主存,以后再调入其余的。这样,主存的容量就不需要很大,可以提高运行速度。而由磁盘、光盘等构成的外存储器则容量很大,为整个系统提供后援支持。由于外存的任务就是这样,所以对它的速度要求可以比主存储器低些。
由于外存储器不由 CPU 直接访问,也就是说不需要按字节从外存储器读取或写入。因此,外存储器中的内容一般是按文件进行组织和存放的。一个文件分解为若干数据块,可以包含许多字节的信息。用户按文件名进行调用。CPU 找到该文件在外存中存放的位置,以数据块为单位进行读写。
从功能上看,外存储器是整个存储系统的一部分,是一种存储器。从信息传送的角度,它又是一种输入/输出设备。将磁盘中的文件调入主存时,磁盘是输入设备;将主存中的信息以文件的形式写入磁盘时,磁盘是输出设备。
4.输入/输出设备
计算机系统大多配备了键盘、鼠标、显示器和打印机等常用的输入/输出设备,有的系统还配备了图形及声音输入设备。
输入设备用来将计算机外部的信息输入到计算机内部。外部信息的形式是多样的。因此,输入设备常需进行信息形式的转换,将外部信息转换为计算机所能识别和处理的形式。例如,用程序设计语言编写的程序,是以字符为基础的,通过按键将它转换为机器所能够识别和存储的二进制代码。
输出设备用来将计算机的处理结果通过显示器,并以我们能看得懂的形式输出。由于关机后显示信息将会丢失,所以显示器被称为软复制设备。打印机将有关信息打印在纸上,可长期保管,称为硬复制设备。
5.总线
怎样将 CPU、主存、多台 I/O 设备(显示器、打印机、键盘、鼠标、扫描仪)连接成整机系统呢?现在普遍采用总线结构。所谓总线是指一组能为多个部件分时共享的信息传输线(见图1-1)。用一组系统总线连接 CPU、主存及多台 I/O 设备,它们之间可以通过系统总线传送信息,大家都可以使用这组总线。注意,某一时刻只能有一个部件或设备总线发送数据,如果有两个或两个以上的部件同时向总线发送数据,就会发生冲突,使数据混乱。因此,需要分时共享数据。但总线上的数据既可以只向某一部件发送,也可以同时向几个部件发送。
系统总线可分为3组,即地址总线、数据总线和控制总线,例如,32位地址线、32位数据线、20多根控制信号线。CPU 如果需要访问主存,就向地址总线送出地址码以选择某个主存单元;所以地址总线是单向的。通过数据总线送出数据,写入主存;或从主存读出数据,通过数据总线送入 CPU 的寄存器。所以数据总线是双向的。大部分控制信号是由 CPU提供的。送往主存和I/O设备;也有信号是I/O设备提供的,其中有些信号也送往CPU。所以控制总线也是双向的。
6.接口
一台计算机系统需要连接哪些I/O设备,这要根据该系统的应用场合而定,因此,通过系统总线连接的设备,其类型与数量应当可以扩充。某种型号的计算机系统,其系统总线是标准的,也就是说,有多少根地址线、数据线、有哪些控制信号线,每个信号的名称及作用等,都是规定好的,但是它所连接的I/O设备却是类型各异的。怎样使标准的系统总线与各种类型的设备相连接呢?这就需要在系统总线与I/O设备之间设置一些逻辑部件,约定它们之间的界面,这种逻辑部件称为I/O接口,在微型计算机中又称适配卡。
1.2.2 计算机软件系统
计算机软件就是程序,它规定着计算机如何去完成某个任务,是某种算法的体现。在计算机中还存放着一些以文件形式组织的信息,如对系统的说明,对编程工具与运行环境的说明,以及为用户提供帮助的提示与其他参考信息等。所以又将软件的定义描述得更广泛一些,即软件是程序及文件。
在计算机系统中,各种软件的有机组合构成了软件系统。从软件配置与功能的角度,可将软件分为系统软件和应用软件两大类,如图1-2所示。
图1-2 软件系统的组成结构
1.系统软件
运行、维护和管理计算机软件,称为系统软件。系统软件一般分为三大部分,其一是操作系统,用于管理计算机本身;其二是程序设计工具集,它提供用户程序设计的语言和语言处理程序,编辑、连接和调试程序等;其三是诊断、维护程序,用于计算机本身的维护。
(1)操作系统
操作系统是软件系统的核心,例如,现在微型计算机中广泛配置的 Windows XP。操作系统负责管理和控制计算机系统的硬、软件资源及运行的程序,它合理地组织计算机的工作流程,是用户与计算机之间交互的接口,为用户提供软件的开发和运行环境。操作系统也是计算机硬件和软件的接口,操作系统是一种大型的计算机管理程序,是软件的核心,以充分发挥计算机系统的处理能力;提供人机对话的接口,为用户提供方便。操作系统能够充分发挥计算机系统的效率;组织协调计算机的整体动作。
(2)程序设计语言
计算机的程序设计语言分为机器语言、汇编语言和高级语言3类。
① 机器语言:计算机执行各种操作的命令称为指令,用二进制编码表示的指令称为机器指令,用机器指令编写程序称为机器语言程序,如表1-1所示。机器语言程序能被计算机直接理解,且能够直接执行,且执行速度快。但机器语言无明显特征,不便于人类的理解和记忆,编制程序困难,易于出错。
② 汇编语言:是用与机器语言一一对应的字母代码表示的语言,如表1-1所示。根据汇编语言符号的英文词意很容易掌握计算机所完成的操作,它不但便于人类的理解和记忆,并且能提高编程的效率。但汇编语言又面向机器和程序设计语言,在不同的计算机上没有通用性。
表1-1 机器语言和汇编语言
③ 高级语言:又称算法语言,它是用接近人们习惯的自然语言和数学语言所表示的程序设计语言。用高级语言编写程序类似于用英语单词和数学公式来写解题步骤,简单明了,易于查错和修改。高级语言不受机种的限制,其程序具有很强的通用性。目前,已有数百种高级算法语言,它们分别适用于编写某些方面的程序,应用比较广泛的语言分别是:Basic是一种入门语言;Fortran 语言,主要用于科学计算及数据分析;Pascal 语言是种结构化语言;C语言,主要用于系统程序的设计与开发;Visual Basic、Visual C++和Delphi,是一种可视化、面向对象的程序设计语言,用于编写 Windows 环境下的应用程序;Java 也是一种面向对象的程序设计语言,主要用于 Internet 环境下分布的应用程序和多媒体应用程序的设计与开发。
(2)语言处理程序
编写程序可以用机器语言、汇编语言或高级语言,但计算机只能直接执行用机器语言编写的程序,不能直接执行用汇编语言或高级语言编写的程序,汇编程序或高级语言程序必须翻译成为机器语言程序,才能被计算机执行。通常机器语言程序为“目标程序”,汇编语言或高级语言程序称为“源程序”,把源程序翻译成目标程序的翻译程序称为语言处理程序。语言处理程序一般分为以下3种:
① 汇编程序是将汇编语言编写的源程序翻译成目标程序的一种软件。
② 解释程序是将高级语言(如QBasic语言)编写的源程序按动态的运行顺序,逐句翻译并执行的一种软件。解释程序便于实现人机的对话。
③ 编译程序是将高级语言(如 C、C++等语言)编写的源程序翻译成目标程序的一种软件。编译程序将源程序翻译成目标程序一般经过词法分析、语法分析、中间代码生成和目标代码生成等过程,便于用户对源程序的调试、修改和扩充。
(3)程序设计工具集
① 文本编辑程序:文本是指由字母、数字、符号组成的信息,它可以是用汇编语言或高级语言编写的源程序。文本编辑程序是用来建立、显示和修改源程序的处理程序,它具有插入、删除、显示、编辑和存盘等功能。目前使用的编辑程序有Edit、记事本等。
② 连接程序:该程序把要执行的程序和相应的语言程序库连接在一起。形成计算机能执行的程序。
③ 调试程序:是一种监督和控制用户程序的工具软件,它能使程序设计人员观察并修改计算机内部寄存器和存储单元的内容,能监视目标程序的执行情况。
(4)数据库及数据库管理系统
① 数据:是描述客观事物属性的规范化符号的集合。数据分为数值型数据、字符型数据和多媒体数据。学生成绩表、工资统计表和人事管理系统等可以进行数值运算的数据称为数值型数据;文字和符号等,称为字符型数据;图形、图像、动画、语音和音乐等称为多媒体数据。
数据处理是指按一定的算法对数据进行收集、存储、分类、计算、检索和传输,数据处理也称为信息处理。
② 数据库(Data Base):是存储在计算机内按照一定结构组织起来的大量数据的集合。数据库系统主要由数据、数据库用户、计算机硬件和数据库管理系统软件4部分组成。
★ 数据:是数据库系统的重要资源,并能为多用户服务的结构化数据的集合。
★ 数据库用户:是对数据库进行存储、检索和维护等操作的人员。
★ 硬件:是数据库系统的物质基础,包括计算机、大容量的存储器和外部设备等。
★ 数据库管理系统(Data Base Management System, DBMS)处于用户和物理数据库之间,对数据库进行管理的各种软件的总称。数据库管理系统具有数据库的建立、运行管理和维护的功能,通常包括以下部分:定义数据库的数据结构;管理数据库,包括控制整个数据库存系统的运行,执行对数据的安全、保密和完整性检查,实施对数据库中数据的输入、修改、删除、排序、检索、显示和打印等操作;维护数据库,包括对数据库系统的重组和系统的恢复等;数据通信,提供与其他软件系统进行通信的功能。
早期的关系型数据库系统有DBase II, DBase III、FoxBASE+、现在广泛使用的小型数据库有 Access、Visual FoxPro 等,大型的数据库系统有 SQL Server、Oracle 和Informix等。
(5)诊断程序
诊断程序是一种查找计算机故障的软件。它能测试计算机系统的故障,显示故障的位置及原因,以便维修人员进行故障定位和维修。诊断程序有MSD系统诊断程序、Norton系统实用工具软件(sysinfo系统信息程序)和Qapuls/WIN高级诊断工具软件等。如现在常使用的瑞星杀毒软件、江民杀毒软件。
2.应用软件
应用软件是计算机所提供的系统软件,为解决各种实际问题而编制的程序。它分为通用软件和专用软件。
(1)办公自动化集成软件
办公自动化集成软件包括字和表处理等办公文书处理软件。现在广泛使用的是Microsoft office。
(2)绘图软件系统
在工程技术设计中有大量的图形(如服装图、机械图、建筑图、电路图、测量图及产品几何模型图等),为了能迅速而准确地给出所需的图形,建立了绘图软件系统。绘图软件系统由基本软件、功能软件和图形应用软件组成。基本软件是驱动绘图仪工作的软件,如选笔和控制笔运动等。功能软件是绘制特定图形的软件,如画多边形、圆、椭圆和电路符号等。在计算机辅助设计系统中(如AutoCAD、Protel等)中,是用向量设计的屏幕图形,它们都属于通用软件,图形应用软件是由用户根据行业或产品设计的需求设计的专业图形软件,它们属于专用软件。
(3)专家系统
专家系统是利用某领域的专家知识来解决某个问题而专门研制的一种语言及编译程序。专家系统一般是由知识库、推理求解机制及人机接口3部分组成的。用户通过人机接口进行咨询,利用知识库的专家知识进行推理求解,从而获取解决某一问题的方案。
例如,为诊断病人病情而研制的“病情诊断系统”医生利用这种软件,把病人的症状或化验参数输入专家系统,专家系统便可诊断出病人的病情,从而开出相应的药方。
(4)实时控制系统
实时控制系统是对巡回检测信息实时地进行分析,并完成某种控制的专用软件。实时控制系统一般由数据采集、实时分析决策和实时控制3部分组成。例如,一个自动化生产车间,实时控制软件通过各种仪表,随时监测生产过程中的各种参数,如温度、压力、流量、液位和转速等,迅速进行数据处理,显示生产过程的参数,依据生产工艺要求,发出各种命令,调节生产过程的物理量,并进行生产调度。
计算机硬件处于系统的最内层,只有硬件而没有任何软件的机器称为裸机,裸机的外层是操作系统等核心软件,操作系统的外层是程序设计工具集,工具集的外层是应用程序。从使用语言的角度看,由内到外依次是机器语言、汇编语言、高级语言,直到将来人类使用的自然语言。
1.2.3 计算机系统组成的层次结构
上面介绍了计算机系统的硬件、软件的组成。分析计算机的工作原理时,可根据自己工作的需要选取某一级,如汇编语言级或某种高级语言级,从该级的角度去观察、分析它是如何工作的。在开发软件时,也常常是分成若干层、若干模块去进行,如面向用户的人机界面,用户所需的功能模块,公用的基础性软件,面向机器硬件的物理层,等等。相应地有各种各样的层次结构模型。表1-2是从软、硬件组成的角度划分的一种层次模型。
表1-2 软、硬件组成的层次结构模型
表1-2分层描述了计算机系统的主要软、硬件组成的结构,由上往下,表明了构建一台计算机时的逐级生成的过程。
1.硬件系统(硬核)
硬件是执行程序的基础,以硬件系统为内核,再配置、扩充各种软件,所以常将硬件系统称为硬核。从功能组成的角度来看,硬件是系统的核心是 CPU 和内存,在此基础上通过系统总线和接口连接各种外存和外围设备,形成整机系统。从工作机制的角度来看,最基础的一级是数字逻辑电路;在电路的支持下,一些微操作序列实现了机器指令操作,这一级可称为微操作级。
2.机器语言(指令系统)
指令系统是一种计算机的软件与硬件之间的界面所在。硬件系统的基本任务就是实现指令系统所规定的各种基本功能。而各种程序最终都是转化为用机器语言代表表示的指令序列,才能被硬件所执行。所以将机器语言应用在硬核与各种软件之间,表示在构成硬件系统之后就向使用者提供了指令系统所包含的各种功能。
在发展计算机技术的初期,为了使用计算机,人们需要了解它的指令系统,所以又将指令系统称为传统机器级。虽然现在大家普遍用高级程序设计语言及一些开发工具编程,但这些源程序需编译为用机器语言表示的目标程序(又称为目标代码),即落实到机器语言级。
值得注意的一点是,当需要剖析已有的软件时,常需要将目标程序反汇编成汇编语言程序,而为了能够阅读它就需要了解指令系统的组成。因此,对指令系统及汇编语言的了解是本章的重点之一。
3.操作系统
有了硬核之后,就可以逐级配置软件了。首先配置的是操作系统,因为它是系统软件的核心和基础部分。当一种计算机系列出现后,软件工作者就针对这种机器的特点研制出与之配套的操作系统,然后不断的改进和扩展,形成新的版本。操作系统是计算机软件和硬件交互的接口,也是人与计算机交互的接口。
操作系统的发展经历的过程是:简单的批处理系统—多道程序批处理系统—多道程序分时系统—微机操作系统和网络操作系统。
(1)简单的批处理系统
用户一次可以提交多个作业,但系统一次只处理一个作业,处理完一个作业后,再调入下一个作业进行处理。这些调度、切换系统自动完成。不需要人工干预。
(2)多道程序批处理系统
由于简单批处理系统,一次只能处理一个作业,系统资源的利用率就不高,因此,出现了多道程序批处理系统,即把同一个批次的作业调入内存,存放在内存的不同部分,当一个作业由于等待输入/输出操作而让处理机出现空闲,系统自动进行切换,处理另一个作业。因此,它提高了资源利用率。
批处理操作系统特点是不需要人工干预,自动进行批量处理。由于作业是以批量的方式进行处理的,在整个处理过程中,用户不能进行干预,这样就产生了一个问题,如果一批作业中某一个作业在处理过程中发生了错误,需要重新修改,可用户又无能为力;只能等待所有的作业都处理完成之后,才能进行修改,然后再交给计算机进行处理。因此,出现了分时系统。
(3)多道程序分时系统
一个作业只能在一个时间片的时间内使用 CPU,时间一到,系统将剥夺作业的 CPU 使用权,返回 CPU 分配给其他作业使用。典型的有 UNIX 操作系统。多路性(多个用户同时执行)、独占性(独立操作互不干扰)、及时性(2--3)、交互性(用户可以通过键盘输入命令请求系统服务和控制作业)。
(4)网络操作系统
在20世纪80年代出现了网络操作系统,一台计算机只要通过一个网络接口控制器(简称网卡)连接到网络上,就可以进行网络通信,以及网络资源的管理和使用。如网络打印服务和文件服务。
操作系统发展的动力包括以下几点:
① 提高计算机资源利用率的需要。
② 方便用户。
③ 硬件设备的不断发展。
④ 计算机体系结构的不断发展。
操作系统的分类如下:
① 按机型分为大型机、中、小型和微型机。
② 按用户数目分为单用户操作系统和多用户操作系统。
③ 按功能特征分为批处理操作系统、实时操作系统、分时操作系统。
现在常用的微型机操作系统包括以下3种。
① DOS:单用户单任务操作系统
② Windows:单用户多任务操作系统及友好的图形用户界面、易学易用,并能支持多任务操作系统。
③ 网络操作系统:多用户多任务操作系统UNIX、NetWare、Windows Nt和Linux等。
操作系统一般都具有以下五大功能:
(1)进程管理
进程管理主要是对处理器进行管理。CPU 是计算机系统中最重要的硬件资源。为了提高CPU的利用率,操作系统采用了多道程序技术。当一个程序因等待某一条件而不能运行下去时,就把处理器占用权转交给另一个可运行程序。或者当出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占 CPU。为了描述多道程序的并发执行,就要引入进程的概念。通过进程管理协调多道程序之间的关系,解决对处理器实施分配调度策略、进行分配和进行回收等问题,以使CPU资源得到最充分的利用。正是由于操作系统对处理器管理策略的不同,其提供的作业处理方式也就不同,从而呈现在用户面前的就是具有不同性质的操作系统,例如,批处理方式、分时处理方式和实时处理方式等。
(2)存储管理
存储管理主要管理内存资源。随着存储芯片的集成度不断地提高、价格不断地下降,一般而言,内存整体的价格已经不再昂贵了。不过受 CPU 寻址能力及物理安装空间的限制,单台机器的内存容量也还是有一定限度的。当多个程序共享有限的内存资源时,会有一些问题需要解决,例如,如何为它们分配内存空间,同时,使用户存放在内存中的程序和数据彼此隔离、互不侵扰,又能保证在一定条件下共享等问题,都是存储管理的范围。当内存不够用时,存储管理必须解决内存的扩充问题,即将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。操作系统的这一部分功能与硬件存储器的组织结构密切相关。
(3)文件管理
系统中的信息资源(如程序和数据)是以文件的形式存放在外存储器(如磁盘、光盘和磁带)上的,需要时再把它们装入内存。文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。操作系统一般都提供很强的文件系统。
(4)作业管理
操作系统应该向用户提供使用它自己的手段,这就是操作系统的作业管理功能。按照用户观点,操作系统是用户与计算机系统之间的接口。因此,作业管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行。
(5)设备管理
操作系统应该向用户提供设备管理。设备管理是指对计算机系统中所有输入/输出设备(外部设备)的管理。设备管理不仅涵盖了进行实际I/O操作的设备,还涵盖了诸如设备控制器、通道等输入/输出支持设备。
除了上述功能之外,操作系统还要具备中断处理、错误处理等功能。操作系统的各功能之间并非是完全独立的,它们之间存在着相互依赖的关系。
4.语言处理程序及各种软件资源
配置所需的语言处理程序(编译、解释)及各种软件资源,将它们置于操作系统的管理调度之下,形成功能比较完备的某种软件平台。这些软件平时存储在磁盘之中,需运行时再由磁盘调入主存。
5.用户程序
输入用户需要运行的应用程序,然后在操作系统的管理调度之下调出某种语言处理程序及相关的软件资源,予以执行。