电子工业出版社飞思公司独家提供
第 3 章 操作系统基础知识
一台完整的计算机应包括硬件部分和软件部分。硬件的功能是接收计算机程序,并在程序控制下完
成数据输入、数据处理和数据输出等任务。软件可保证硬件的功能得以充分发挥,并为用户提供良好的
工作环境。本章按照网络管理员考试大纲的要求,首先简述计算机软件系统和软件技术的发展,再重点
介绍操作系统的基本原理,以及几个常用的操作系统。
3.1 计算机软件系统概述
软件系统是指为运行、管理和维护计算机而编制的各种程序、数据和文档的总称。程序是完成某一
任务的指令或语句的有序集合;数据是程序处理的对象和处理的结果;文档是描述程序操作及使用的相
关资料。计算机的软件是计算机硬件与用户之间的一座桥梁。
计算机软件按其功能分为应用软件和系统软件两大类。用户与计算机系统各层次之间的关系如图
3-1 所示。
计算机
硬件
系
统
软
件
应
用
软
件
用户
用户
用户
用户
图 3-1 用户与计算机系统各层次之间的关系
1.系统软件
系统软件是指控制计算机的运行,管理计算机的各种资源,并为应用软件提供支持和服务的一类软
件。其功能是方便用户,提 高 计算机使用效率,扩充系统的功能。系统软件具有两大特点:一是通用性,
其算法和功能不依赖特定的用户,无论哪个应用领域都可以使用;二 是基础性,其他软件都是在系统软
件的支持下开发和运行的。
系统软件是构成计算机系统必备的软件,系统软件通常包括以下几种。
1)操作系统
操作系统(Operating System,OS)是管理计算机的各种资源、自动调度用户的各种作业程序、处
理各种中断的软件。它是计算机硬件的第一级扩充,是用户与计算机之间的桥梁,是软件中最基础和最
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
网络管理员考试考点分析与真题详解(最新版)
·60·
核心的部分。它的作用是管理计算机中的硬件、软件和数据信息,支持其他软件的开发和运行,使计算
机能够自动、协调、高效地工作。
操作系统多种多样,目前常用的操作系统有 DOS、OS/2、UNIX、Linux、NetWare、Windows 2000、
Windows XP/Vista、Windows NT、Windows 2003 和 Windows 2008 等。
2)程序设计语言
人们要使用计算机,就必须与计算机进行交流,要交流就必须使用计算机语言。目前,程序设计语
言可分为 4 类:机器语言、汇编语言、高级语言及第四代高级语言。
机器语言是计算机硬件系统能够直接识别的、不需翻译的计算机语言。机 器 语 言 中 的 每 一 条 语句实
际上是一条二进制数形式的指令代码,由操作码和操作数组成。操作码指出进行什么操作;操作数指出
参与操作的数或在内存中的地址。用机器语言编写程序时工作量大、难于使用,但执行速度快。它的指
令二进制代码通常随 CPU 型号的不同而不同,不能通用,因而说它是面向机器的一种低级语言。通常
不用机器语言直接编写程序。
汇编语言是为特定计算机或计算机系列设计的。汇编语言用助记符代替操作码,用 地址符号代替操
作数。由于这种“符号化”的做法,因而汇编语言也称为符号语言。用汇编语言编写的程序称为汇编语
言程序。汇编语言程序比机器语言程序易读、易检查、易修改,同时又保持了机器语言执行速度快、占
用存储空间少的优点。汇编语言也是面向机器的一种低级语言,不具备通用性和可移植性。
高级语言是由各种意义的词和数学公式按照一定的语法规则组成的,它更容易阅读、理解和修改,
编程效率高。高级语言不是面向机器的,而是面向问题,与具体机器无关,具有很强的通用性和可移植
性。高级语言的种类很多,有面向过程的语言,例如 FORTRAN、BASIC、PASCAL、C 等;有面向对
象的语言,例如,C++、Visual Basic、Java 等。
不同的高级语言有不同的特点和应用范围。FORTRAN 语言是 1954 年提出的,是出现最早的一种
高级语言,适用于科学和工程计算;BASIC 语言是初学者的语言,简 单 易学,人机对话功能强;PASCAL
语言是结构化程序语言,适用于教学、科学计算、数据处理和系统软件开发,目前逐步被 C 语言所取
代;C 语言程序简练、功能强,适用于系统软件、数值计算和数据处理等,已成为目前高级语言中使用
最多的语言之一;C++、Visual Basic 等面向对象的程序设计语言,给非计算机专业的用户在 Windows
环境下开发软件带来了方便;Java 语言是一种基于 C++的跨平台分布式程序设计语言。
40 余年来,高级语言发生了巨大的变化,但从根本上说,上述的通用语言仍是“过程化语言”。编
码的时候,要详细描述问题求解的过程,告诉计算机每一步应该“怎样做”。为了把程序员从繁重的编
码中解放出来,还需寻求进一步提高编码效率的新语言,这就是第四代高级语言(4GL)产生的背景。
对于 4GL 语言,迄今仍没有统一的定义。一般认为,3GL 是过程化的语言,目的在于高效地实现
各种算法;4GL 则是非过程化的语言,目的在于直接实现各类应用系统。前者面向过程,需要描述“怎
样做”;后者面向应用,只需说明“做什么”。
3)语言处理程序
将计算机不能直接执行的非机器语言源程序,翻译成能直接执行的机器语言的语言翻译程序,总称
为语言处理程序。
各种高级语言和汇编语言均配有语言处理程序,它们将高级语言和汇编语言编写的程序(源程序)
翻译为机器所能理解的机器语言程序(目标程序)。翻译的方法有两种:解释方式和编译方式。前者是
对源程序的每个语句边解释边执行,这种方式灵活方便,但效率较低;后者则是把全部源程序一次性翻
译处理后,产生一个等价的目标程序,然后再去执行。这种方式效率较高,但不够灵活。早期的高级语
言要么是解释方式,要么是编译方式。近年来新发展的语言常常是一个集成环境,既有解释方式的灵活
性,又有编译方式的高效性,如 Turbo 系列的 PASCAL、C、BASIC 和 Visual 系列的 C、BASIC、PASCAL、
FoxPro 等。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
第 3 章 操作系统基础知识
·61·
上
篇
4)数据库管理系统
利用数据库系统可以有效地保存和管理数据,并 利 用 这 些 数据得到各种有用的信息。数据库系统主
要包括数据库和数据库管理系统。数据库是按一定方式组织起来的数据集合。数据库管理系统具有建立、
维护和使用数据库的功能;具有使用方便、高效的数据库编程语言的功能;并能提供数据共享和安全性
保障。数据库管理系统按数据模型的不同,分为层次型、网状 型和关系 型 3 种类型。其中关系型数据库
使用最为广泛,例如,SQL Server、FoxPro、Oracle、Access、Sybase、MySQL 等都是常用的关系型数
据库管理系统。
5)工具软件
工具软件又称为服务性程序,是在系统开发和系统维护时使用的工具,完成一些与管理计算机系统
资源及文件有关的任务,包括编辑程序、链接程序、计算机测试和诊断程序等。这种程序需要操作系统
的支持,而它们又支持软件的开发和维护。
测试工具是指测试软件正确性的工具。测试工具主要有两种类型的工具,一类 是 调 试工具,用 来 帮
助 软件设计人员排除软件错误,如汇编调试工具 Debug,面向源代码的调试工具 Turbo Debugger、
CodeView 等;另一类是测试工具,用来检验软件的正确性和可靠性。
常用的工具软件有 PC 工具箱(PC Tools)、诊断测试软件(DIAG)、调试软件(Debug)、链接软件(LINK)、
处理病毒软件(金山毒霸、瑞星、江民、卡巴斯基)和软件开发工具(Delphi、PowerBuilder)等。
2.应用软件
软件公司或用户为解决某类应用问题而专门研制的软件称为应用软件。它包括应用软件包和面向问
题的应用软件。一 些应用软件经过标准化、模块化,逐步形成了解决某些典型问题的应用程序组合,称
为软件包(Package)。例如,AutoCAD 绘图软件包、通用财务管理软件包、Office 软件包等。
面向问题的应用软件是指计算机用户利用计算机的软硬件资源为某一专门的目的而开发的软件。例
如,科学计算、工程设计、数据处理及事务管理等方面的程序。随着计算机的广泛应用,应用软件的种
类及数量将越来越多、越来越庞大。
常见的应用软件有文字处理软件、工程设计绘图软件、办公事务管理软件、图书情报检索软件、医
用诊断软件、辅助教学软件、辅助设计软件、网络管理软件和实时控制软件等。
3.2 操作系统的基本概念
我们将未配置任何软件的计算机称为裸机,即由中央处理器(CPU)、存储器、输入/输出(I/O)设备
等硬件组成的计算机。裸机是无法充分发挥硬件性能的,不适合一般的用户使用,只有配备了软件以后,
计算机才可以更好地完成对信息的存储、检索和处理等一系列工作。如上一节所述,我们把计算机系统划
分为两部分:硬件和软件。硬件是计算机系统的物质基础,它包括多种多样的物理设备;软件可以分为应
用软件和系统软件。系统软件是指使计算机能够工作的一些基础软件,只有在系统软件的支持下,应用软
件才能正常地运行。操作系统就是系统软件的典型代表。操作系统在计算机系统中的地位如图 3-2 所示。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
网络管理员考试考点分析与真题详解(最新版)
·62·
计算机硬件
操作系统
系统工具
应用软件
应用用户
应用开发人员
操作系统
开发人员
图 3-2 操作系统在计算机系统中的地位
从图 3-2 可知,操作系统在计算机系统中所处的位置是在硬件与其他软件之间的一个特殊位置上,
它紧贴系统硬件之上,所有其他软件之下,是其他软件的共同环境。
为此,我们可以给出操作系统如下的定义。
操作系统是为了方便用户和提高计算机的利用率,而对计算机系统资源进行组织和管理的程序集
合。用户是一个广义的概念,包括一般用户和软件开发人员等;资源包括处理器、存储器、输入/输出
设备等硬件资源,以及程序、数据等软件资源。
操作系统有各种分类方法,通常按其系统功能、运行环境及服务对象来分类。尽管分类方法不同,
迄今为止的各种操作系统均属于这些操作系统之一或它们的组合:单用户操作系统、批量处理系统、分
时 系统、实时系统、网络操作系统、分布式操作系统和并行操作系统等。
1.批处理操作系统
批处理操作系统中,用户的作业分批提交并处理,即系统将作业成批输入系统并暂存在外存中,组
成后备作业队列,每次按一定的调度原则从后备作业中选择一个或多个装入主存进行处理,作 业 完成后
退出。这些操作由系统自动实现,在系统中形成了一个自动转接的作业流,当一批作业运行完毕,输出
结果后,系统便接收下一批作业。
在批处理系统中,用户不能直接干预作业的运行过程,而是将其对作业的控制意图在作业提交前用
作业控制语言编制成作业说明书或作业控制卡,这些控制意图可以是作业运行时的资源请求,或是对可
能产生的运行错误的相应处理等。作 业 说 明 书 或 作 业 控制卡在提交作业时,与程序和数据一起提交给系
统,由作业控制程序或命令解释程序解释执行,并且提供相应的服务。
批处理操作系统,又分单道批处理系统和多道批处理系统。单道批处理系统比较简单,相当于单用
户操作系统。在批处理系统中引入多道程序设计技术后,具有以下的特征。
(1)多道性:在内存中同时驻留多道程序,它们可以并发执行,以提高系统的资源利用率和系统
的吞吐量。
(2)无序性:作业的执行顺序与作业进入系统的先后顺序没有严格的对应关系。
(3)调度性:作业从提交到运行完成需要经过两次调度,即作业调度和进程调度。作业调度是指
按照一定的作业调度算法,从后备作业队列中选择一个或几个作业调入内存。进程调度是指按照一定的
进程调度算法,从内存的进程中选择一个进程,将处理机分配给它,使其执行。
批处理系统,特别是多道批处理系统的主要优点是资源利用率高,提 高 了 系统的吞吐量。批处理系
统的缺点主要体现在以下两个方面。
(1)平均周转时间长。作业的周转时间是指从作业进入系统开始,直到作业完成并退出系统为止
所经历的时间。在批处理系统中,由于作业需要排队来依次进行处理,因而作业的周转时间较长。
(2)无交互能力。在作业提交后,用户便失去了对作业运行的控制能力,不能与自己的作业进行
交互,不便于对作业的控制。
2.分时系统
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
第 3 章 操作系统基础知识
·63·
上
篇
所谓“分时”,就是把计算机的系统资源(尤其是 CPU 时间)进行时间上的分割,每个时间段称为
一个时间片(Time Slice),每个用户依次轮流使用时间片。分时系统具有如下特征。
(1)多路性:多个用户同时工作。它们共享系统资源,提高了资源利用率。
(2)独立性:各用户独立操作,互不干扰。微观上,每个用户作业轮流运行一个时间片;宏观上,
多个用户同时工作,共享系统资源。每个终端用户都有一个共同的感觉,即它独占了整个系统资源,好
像整个系统专为它服务。
(3)交互性:一个计算机系统与若干台本地或远程终端相连,每个用户可以在所使用的终端上以
人—机会话的交互方式使用计算机。系统能及时对用户的操作进行响应,显著提高调试和修改程序的效
率,缩短了周转时间。目前尽管批处理系统仍然在某些方面继续使用,但是分时系统作为多道程序系统
的一个典型代表,集中体现了多道程序系统的一些技术特征,成为当今的计算机操作系统主流。
3.实时操作系统
实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。
“实时”是指系统能够及时响应发生的外部事件(一般是一些随机事件),并以足够快的速度完成对事
件的处理。在对时间响应的要求上,实时系统比分时系统要严格得多,一般在毫秒级、微秒级,而批处
理系统甚至可以不受响应时间的要求。为了保证程序可靠运行,系统应提供安全措施,比如多级容错、
硬件冗余等,避免因发生错误或丢失信息而造成重大经济损失甚至导致灾难性的后果。因此,实时操作
系统有下列特性。
(1)实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能。
(2)过载保护功能:“过载”是指进入系统的任务数目超出系统的处理能力。实时操作系统应有足
够的处理能力,使其能及时处理系统中的所有任务。但是由于被处理的任务进入系统时带有很大的随机
性,使得在某段时间内系统中的任务数可能超出了它的处理能力,从而产生所谓的“过载”问题。为此
实时系统必须具备某种防护机构,以保证即使出现过载,系统仍能正常工作。
(3)高度可靠性和安全性:系统具有容错能力(例如故障自动复位等)和冗余备份(包括双机备
份及关键部件备份)等功能。
实时操作系统与批处理系统和分时系统有以下区别。
(1)系统设计的目标不同。许多实时系统是专用系统,而批处理与分时系统通常是通用系统。
(2)响应时间的长短。实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中
断处理机构。分时系统对响应时间的要求,一般以人能接受的等待时间为准。
(3)交互性的强弱。分时系统通常是通用性很强的计算机系统,用户和系统之间有较强的会话能
力,交互性强;而实时系统是专用系统,交互性较弱。
(4)实时系统用于控制重要过程,要求高度可靠,具有较高冗余,如双机系统。
(5)实时系统可与通用系统结合成通用实时系统,将实时处理作为前台作业执行,后台作业进行
批处理。
4.多处理机操作系统
较早的计算机系统基本上都是单处理机系统,后来出现了多处理机系统,从计算机体系结构上来改
善系统性能。随着系统中处理机数目的增多,既提高了系统的吞吐量,又可以共用其他部件以节约成本。
而且多处理机系统的系统重构功能提高了系统的可靠性,即当其中任何一台处理机发生故障时,系统能
立即将该处理机上所处理的任务迁移到其他的一个或多个处理机上去处理,整个系统仍能正常运行,仅
使系统的性能略有降低。根据各处理机之间的紧密程度,我们可以把多处理机系统从硬件结构上分为紧
密耦合型和松散耦合型两大类。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
评论0