资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
操作系统( 本科) 期末复习指导
一、 复习重点和要求
第1章 操作系统概述
考核学生对操作系统的定义、 主要功能、 主要类型、 操作系统的特征以及分时概念等内容的学习情况。
【掌握】
1. 操作系统的概念
操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的系统软件( 或程序集合) , 是用户与计算机之间的接口。
记忆要点: 操作系统是什么——是系统软件;
操作系统管什么——控制和管理计算机系统内各种资源;
操作系统有何用——扩充硬件功能, 方便用户使用。
2. 操作系统的主要功能
操作系统的五大主要功能: 存储管理、 进程和处理机管理、 文件管理、 设备管理、 用户接口管理。
【理解】
1. 操作系统的特征: 并发、 共享和异步性。
理解模拟: 并发——”大家都前进了”;
共享——”一件东西大家用”;
异步性——”你走我停”, ”走走停停”。
2. 操作系统的主要类型
操作系统的主要类型有: 多道批处理系统、 分时系统、 实时系统、 网络操作系统、 个人机操作系统、 分布式系统和嵌入式操作系统。
UNIX系统是著名的分时系统。
3. 分时概念: 主要是指若干并发程序对CPU时间的共享。
【了解】
1. 操作系统的形成;
2. 分时和实时操作系统的特点;
3. 操作系统在计算机系统中的地位: 是裸机之上的第一层软件, 是建立其它所有软件的基础。
4. 操作系统结构设计: 整体结构、 层次结构、 虚拟机结构和客户机-服务器结构。
5. 操作系统为用户提供的三种用户接口: 图形用户接口、 命令行接口和程序接口。
系统调用是操作系统内核与用户程序、 应用程序之间的接口。在UNIX/Linux系统, 系统调用以C函数的形式出现。
第2章 进程管理
考核学生对进程定义、 进程的状态及其转换、 进程的组成、 竞争条件和临界区、 进程的同步与互斥、 信号量和P、 V操作及其一般应用、 死锁的概念和产生死锁的必要条件等内容学习情况。
【掌握】
1. 进程的定义: 进程是程序在并发环境中的执行过程。
进程与程序的主要区别。进程最基本的属性是动态性和并发性。
2. 进程的状态及其转换
进程的3种基本状态是: 运行态、 就绪态和阻塞态。掌握教材38页的进程状态及其转换图。
3. 进程的同步与互斥的概念。能够简单理解为: 同步是协作, 互斥是竞争。
4. 信号量和P、 V操作及其一般应用。
运用信号量机制和P、 V操作, 解决并发进程一般的互斥和同步问题。解决此类问题的一般方式:
① 根据问题给出的条件, 确定进程有几个或几类;
② 确定进程间的制约关系——是互斥, 还是同步;
③ 各相关进程间经过什么信号量实现彼此的制约, 标明信号量的含义和初值;
④ 用P、 V操作写出相应的代码段;
⑤ 验证代码的正确性: 设以不同的次序运行各进程, 是否能保证问题的圆满解决。切忌按固定顺序执行各进程。
【理解】
1. 多道程序设计概念及其优点。
2. 进程的一般组成, 应深入理解进程控制块的作用。每个进程有惟一的进程控制块。
3. Linux进程管理的基本命令: ps、 kill、 sleep。
4. 理解进程临界资源和临界区的概念, 进程进入临界区的调度原则。信号量概念, P、 V操作执行的动作。
5. 死锁的概念; 死锁的4个必要条件: 互斥条件、 不可抢占条件、 占有且申请条件、 循环等待条件。
【了解】
1. 进程间的3种高级通信: 共享内存、 管道文件和消息传递。
第3章 处理机调度
考核学生对作业状态、 作业调度和进程调度的功能、 性能评价标准、 常见调度算法、 Linux常见调度命令、 中断处理过程、 shell命令执行过程等内容的学习情况。
【掌握】
1. 作业调度和进程调度的功能
作业调度的功能见教材85页, 进程调度的功能见教材86页。在一般操作系统中, 进程调度是必须具备的。
2. 常见调度算法
掌握三种基本调度算法( 先来先服务法、 时间片轮转法、 优先级法) 的实现思想, 并能进行评价指标的计算。
要求: 能利用图表形式列出各作业或进程的有关时间值, 如到达时间、 运行时间、 开始时间、 完成时间等, 利用评价公式计算出各指标的值, 如周转时间、 平均周转时间。
【理解】
1. 作业的四种状态: 提交、 后备、 执行和完成。
2. 作业调度与进程调度的关系。简单比喻: 作业调度是演员上场前的准备, 进程调度是让演员上场表演。
3. 调度性能评价标准
评价调度算法的指标: 吞吐量、 周转时间、 带权周转时间、 平均周转时间和平均带权周转时间。
4. 中断处理过程: 保存现场、 分析原因、 处理中断和中断返回。
5. shell命令的一般执行过程。
【了解】
1. 调度的三个级别: 高级调度、 中级调度和低级调度, 其中高级调度又称作业调度, 低级调度又称进程调度。
2. 调度策略的选择。
3. 中断概念
中断是指CPU对系统发生的某个事件做出的一种反应, 它使CPU暂停正在执行的程序, 保留现场后自动执行相应的处理程序, 处理该事件后, 如被中断进程的优先级最高, 则返回断点继续执行被”打断”的程序。
第4章 存储管理
考核学生对重定位、 分区法、 分页的概念、 虚拟存储概念、 请求分页存储管理技术、 常见页面置换算法。
【掌握】
1. 掌握以下概念: 逻辑地址、 物理地址、 逻辑地址空间、 物理地址空间、 重定位、 静态重定位、 动态重定位、 碎片、 虚拟存储器。
2. 分区法
分区法分为固定分区法和动态分区法两种。要掌握其基本原理、 数据结构、 地址转换、 内存空间的分配与释放、 分配算法、 优点和缺点。
3. 分页技术
掌握分页存储管理的基本方法, 如地址表示、 从逻辑地址到物理地址的转换、 数据结构等。
4. 虚拟存储器
虚拟存储器( Virtual Memory) 是用户能作为可编址内存对待的虚拟存储空间, 它使用户逻辑存储器与物理存储器分离, 是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
虚拟存储器的基本特征: 虚拟扩充、 部分装入、 离散分配、 多次对换。另外, 虚拟存储器的容量不是无限大的, 它主要受到地址的字长和外存容量的限制
5. 请求分页技术
请求分页存储管理技术是在单纯分页技术基础上发展起来的, 二者根本区别在于请求分页提供虚拟存储器。
实现请求分页, 系统必须提供一定容量的内存和外存, 以及支持分页机制, 还需要有页表机制、 缺页中断机构以及地址转换机构。
6. 常见页面置换算法
能应用先进先出法( FIFO) 、 最佳置换法( OPT) 、 最近最少使用置换法( LRU) 的实现思想计算页面淘汰序列、 缺页次数以及缺页率。
【理解】
1. 重定位
把逻辑地址转变为内存物理地址的过程称作重定位。根据重定位的时机, 分为静态重定位和动态重定位。理解它们的概念、 实现思想和优缺点。
。
【了解】
1. 存储器层次
了解典型的存储器层次结构: 寄存器、 高速缓存、 内存、 磁盘、 磁带。
2. 用户程序的地址空间
用户程序的主要处理阶段: 编辑、 编译、 链接、 装入和运行。
3. 对换技术的实现思想。
第5章 文件系统
考核学生对文件的分类、 文件系统的功能、 文件的逻辑组织和物理组织、 文件的目录结构、 文件存储空间的管理、 文件的存取控制等内容的学习情况。
【掌握】
1. 文件系统的功能
一般说来, 文件系统应具备以下功能: 文件管理、 目录管理、 文件存储空间的管理、 文件的共享和保护、 提供方便的接口。
2. 文件的逻辑组织和物理组织
掌握文件的逻辑组织和物理组织的概念, 以及相应的组织形式。
3. 文件的目录结构
文件目录的基本组织方式有单级目录、 二级目录、 树形目录。
4. 文件存储空间的管理
文件存储空间的管理是对外存空间中空闲盘块的管理。对空闲盘块的管理方式主要有: 空闲盘块表、 空闲块链接、 位示图和空闲块成组链接等。
【理解】
1. 文件的分类
按用途分为: 系统文件、 库文件、 用户文件;
按文件中的数据形式分为: 源文件、 目标文件、 可执行文件;
按存取权限分为: 只读文件、 读写文件、 可执行文件;
按保存时间分为: 临时文件、 永久文件;
在UNIX/Linux和MS-DOS系统中, 文件分为普通文件、 目录文件和特殊文件。而普通文件又分为ASCII文件和二进制文件两种。
2. 文件的存取控制
为了实现文件系统的安全, 文件需要保护和保密。对文件的存取控制可分别由存取类型来设定, 如读、 写、 执行等, 也能够经过命名、 口令、 存取权限或者加密的方法实现对文件的保护和保密
【了解】
1. 文件的链接
Linux具有为一个文件起多个名字的功能, 称为链接。文件链接是实现文件共享的有效途径, 分为硬链接和符号链接。
第6章 设备管理
考核学生对设备管理功能、 设备分配技术、 缓冲技术、 SPOOLing系统、 设备驱动程序概念、 磁盘调度和管理等内容的学习情况。
【掌握】
1. 设备管理的功能
操作系统中设备管理的功能简单地说就是: 监视设备状态; 进行设备分配; 完成I/O操作; 缓冲管理与地址转换。
2. 设备分配技术
设备分配技术主要有: 独占分配、 共享分配和虚拟分配。独占分配适用于独占设备, 系统效率低; 共享分配适用于高速、 大容量直接存储的共享设备, 设备的利用率较高; 虚拟分配技术利用共享设备去实现独占设备的功能, 从而使独占设备”感觉上”成为可共享的、 快速的I/O设备。
3. 设备驱动程序概念
设备驱动程序是控制设备动作( 如设备的打开、 关闭、 读、 写等) 的核心模块, 用来控制设备上数据的传输。
4. 磁盘调度算法
常见的磁盘调度算法有: 先来先服务法、 最短寻道时间优先法和电梯法。重点掌握前两种磁盘调度算法。
【理解】
1. 设备独立性
设备独立性是设备管理要达到的目标之一, 就是说, 用户程序应与实际使用的物理设备无关, 由操作系统考虑因实际设备不同而需要使用不同的设备驱动程序等问题。
2. SPOOLing系统
实现虚拟分配最成功的技术是SPOOLing( 外部设备联机并行操作) , 也称假脱机技术。SPOOLing系统用常驻内存的进程去模拟一台外围机, 用一台主机就可完成脱机技术中需用三台计算机完成的工作。
理解SPOOLing系统的功能和实现思想。
3. 缓冲技术
理解引入缓冲技术的主要目的和缓冲区的设置方式。
【了解】
1. 设备分类和标识
了解设备的一般分类: 存储设备( 块设备) , 输入/输出设备( 字符设备) 。
2. 处理I/O请求的步骤
第7章 现代操作系统发展
考核学生对现代操作系统发展、 嵌入式和分布式操作系统的一般知识的学习情况。
【了解】
1. 嵌入式操作系统的概念、 功能和特性
嵌入式操作系统是嵌入式系统中使用的操作系统。作为一种操作系统, 它具有一般操作系统的基本功能, 可是, 由于嵌入式操作系统的硬件平台和应用环境与一般操作系统不同, 因此它有自身的特点, 其的最大特点就是可定制性。
2. 分布式操作系统的概念、 功能和特性。
分布式操作系统是配置在分布式系统上的共用操作系统。分布式操作系统实施系统整体控制, 对分布在各节点上的资源进行统一管理, 而且支持对远程进程的通信协议。
分布式操作系统要求实现用户面前的虚拟单处理机系统到具体的分布式系统的映射。它有如下三个基本功能: 进程管理; 通信管理和资源管理。
3. 未来操作系统应具有的新特征。
更强的分布式处理能力, 更高的安全性和可靠性, 符合开放式模型, 更方便的用户界面。
二、 复习方法和建议
1.复习方法
( 1) 对计算机操作系统要从宏观和微观两方面把握。
宏观方面: 牢记操作系统的定义。理解操作系统在计算机系统中的地位, 明确操作系统进行资源管理的五大功能, 即: 存储管理、 进程和处理机管理、 文件管理、 设备管理和用户接口管理。教材从第2章到第6章分别介绍了这些功能的具体内涵。
微观方面: 针对于进程、 处理机、 存储器、 文件、 设备管理, 应掌握操作系统是如何管理计算机的这些资源的, 理解有关概念、 原理、 技术和方法。
( 2) 重视课程实验, 培养动手能力。
操作系统的上机实验很重要, 它不但能够加深对课本知识的理解, 而且能够学到很多实际工作的经验, 这对于增强动手技能和分析解决实际问题的能力、 提高专业素质很有帮助。
2.复习建议
( 1) 在复习时围绕操作系统是什么、 干什么、 如何干这一主线, 分层次进行总结。抓住重点, 掌握基本概念和基本方法, 注意知识的前后连贯。
操作系统中概念很多, 要突出掌握重点概念, 如: 操作系统定义, 进程、 重定位、 死锁等概念。要结合主教材和本复习指导中给出的教学要求, 首先对每一章讲的问题是什么要搞清楚。然后, 总结一下: 针对该问题引入什么概念, 该概念用来解决什么基本问题, 采用什么基本方法予以解决。如果能把各章知识连贯起来、 并结合上机体会进行复习, 效果会更好。
对于基本概念在理解其所指对象的基础上, 记住其定义的表述。如: 进程, 是针对多道程序执行时出现的问题而引入的, 记住其定义表述。然后, 进程与程序有何区别? 有什么基本特征呢? 如何体现其动态性呢? 进程在活动中彼此会发生什么关系呢? 怎么解决呢? 经过由表及里地分析, 就便于掌握知识要点, 尽量在理解的基础上进行记忆。
对于操作系统的基本概念应掌握其实质是什么, 是针对什么事物的, 记住其表述要点。对于基本功能应掌握其是解决什么问题的, 性能如何。对于基本方法和技术应理解其如何解决问题。
( 2) 结合生活中的例子, 体会操作系统的管理方法。
操作系统许多管理方法都能够在日常生活中找到例子, 学习时能够联想日常生活中熟悉的管理示例重复体会操作系统的管理方法, 以加深对问题的理解。如程序和进程的关系, 就像歌谱和唱歌; 进程的同步关系就像跑接力赛; 先来先服务算法如同排队买票; 等等。
( 3) 注重平时练习, 加强自主学习能力。
平时应认真、 独立地完成课后习题和网上的自测题, 正确地使用答案。在复习时应把练习再复习一遍, 掌握做题的规律和技巧, 特别对重点要求的内容和解题出现过错误的地方应格外注意。根据教学大纲要求, 考试难度不会超出规定范围。对基本内容应牢固掌握, 并能进行适当地灵活应用。
3. 复习思考
为什么要学习操作系统?
( 1) 选择操作系统。现代计算机系统中, 往往配备多种操作系统以满足不同的用途, 经过学习能够了解不同类型操作系统的用途, 有助于我们选择合适的操作系统为用户服务。
( 2) 分析操作系统。了解操作系统的结构和功能, 能够较为准确地发现和解决问题, 至少能确定问题位置, 通知操作系统的生产商来处理。分析和研究操作系统, 不知道操作系统的基本原理是难以完成的。
( 3) 设计操作系统。针对现实工作任务的需要, 能设计或扩充现有操作系统, 这是学习操作系统的最高层次, 需要扎实的计算机科学和技术的基本理论和基础知识, 特别是操作系统的基本原理、 技术和方法。
( 4) 操作系统中实用的资源管理方法和技术, 能够应用于其它的管理和控制领域。有人说”操作系统是计算机技术和管理技术的结合”, 如何在现有计算机硬件条件下经过软件达到目标并努力实现高效性, 如何在空间和时间中权衡, 机制与策略, 等等, 操作系统管理资源的思路和方法体现了现实生活中的管理技术。
1.1 本章知识点
本章的内容描述了计算机操作系统的概貌, 如什么是操作系统, 它的主要功能和主要类型, 操作系统结构设计。这一章在全书中起着提纲挈领的作用, 后面的各个章节将分别对操作系统的各项功能做详细剖析。学好第一章对于我们从总体上把握操作系统有着指导作用。
本章的主要知识点为:
( 1) 操作系统的定义
一个完整的计算机系统由硬件和软件两大部分组成。硬件是计算机物理装置本身, 是计算机软件运行的基础; 简单地说, 软件是计算机执行的程序, 软件分为系统软件、 应用软件和支撑软件三大类。
操作系统的定义如下:
操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的系统软件( 或程序集合) , 是用户与计算机之间的接口。
( 2) 操作系统的主要功能
操作系统作为计算机基本的系统软件, 具有五大功能, 分别是: 存储管理、 进程和处理机管理、 文件管理、 设备管理和用户接口管理。教材从第2章到第6章将分别介绍这些主要功能。
( 3) 操作系统的主要类型
操作系统在发展中形成了以下类型, 它们是批处理操作系统、 分时操作系统、 实时操作系统、 网络操作系统、 分布式操作系统、 嵌入式操作系统、 个人机操作系统等。其中前三种属于传统的操作系统类型, 后面的操作系统类型是随着计算机网络、 分布式处理等新技术的应用而产生的, 属于现代操作系统。
( 4) 操作系统结构设计
一般说来, 操作系统有如下四种结构: 整体结构, 层次结构, 虚拟机结构和客户机-服务器结构。它们在设计上各有优缺点。
UNIX系统和Linux系统是当代最著名的多用户、 多进程、 多任务的分时操作系统。本章对它们的发展历史、 主要特点以及内核的结构都进行了介绍。
1.2 典型例题解析
【例1】什么是操作系统?
答案 操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的系统软件( 或程序集合) , 是用户与计算机之间的接口。
分析
操作系统作为本课程最重要的概念, 同学们一定要牢记。能够从三个方面理解这个概念, 然后在理解的基础上进行记忆。
( 1) 操作系统是系统软件。
( 2) 对内, 操作系统控制和管理各种资源, 有效地组织多道程序运行。被计算机系统工作时所引用的一切客体都称为资源。这里所说的客体可能是处理机、 设备、 内存、 外存等硬件, 也可能是程序和数据等软件。
( 3) 对外, 操作系统是用户与计算机之间的接口。它为用户提供服务, 方便用户使用计算机。
如果同学们理解了操作系统在计算机系统中的地位, 那么对于学习这个概念有帮助。
【例2】在计算机系统中, 操作系统是( ) 。
A.处于裸机之上的第一层软件 B.处于硬件之下的底层软件
C.处于应用软件之上的系统软件 D.处于系统软件之上的用户软件
答案 A
分析 解答这道题主要是清楚操作系统在计算机系统中的地位。
在计算机系统中, 操作系统处于一个承上启下的地位, 它对内管理计算机的各种软硬件资源( 文件、 作业、 存储器、 设备、 进程) , 对外向用户提供良好界面的服务, 方便用户使用计算机。
操作系统属于系统软件, 但却又不同与其它的系统软件。从下图能够看出, 操作系统紧贴硬件, 是裸机之上的第一层软件, 是对硬件的扩充, 其它系统软件都建立在操作系统之上。而应用软件是建立在系统软件之上的, 更贴近用户。
操作系统是系统软件, 因此D是错误的。C说系统软件在应用软件之上, 这与图中的情况相反, 显然不对。而硬件之下则没有软件存在, 因此B根本就不正确。因此A才是正确答案。以上是用排除法来进行选择, 如果同学们已经理解了操作系统的地位, 就能够直接选择A, 这样能够节省答题的时间。
【例3】现代操作系统的基本特征是( ) 、 资源共享和异步性。
A.多道程序设计 B.中断处理
C.实现分时与实时处理 D.程序的并发执行
答案 D
分析 操作系统也是一个程序, 不过与其它程序相比, 它有三个非常重要的特性: 即多任务并行、 多用户资源共享和异步性, 把握操作系统的这些特性对于深刻理解操作系统会有很大帮助。
并发性是指两个或多个任务在同一给定的时间间隔中进行。这是一个宏观上的概念。以多道程序为例, 这里的并发性不但体现在用户程序与用户程序之间并发执行, 还体现在用户程序与操作系统程序之间的并发执行。因而从宏观上看, 这些程序是同时向前推进的。
资源共享是指多个任务共享计算机系统中的资源, 如处理机、 内存、 外存、 设备和数据等。这种共享是在操作系统的控制下实现的。对于一个给定的计算机系统, 它的资源配置情况是相对固定的, 而系统中多道程序对于资源的需求则是变化的, 且一般是不可预知的; 操作系统要掌握系统中当前资源的使用情况, 并据此决定各程序进入系统的次序以及使用资源的次序。
异步性体现了多道程序环境下, 程序执行时”走走停停”的性质, 更反应出操作执行现场的不可预知性。
【例4】以下不属于操作系统具备的主要功能的是( ) 。
A.内存管理 B.文档编辑
C.中断处理 D.CPU调度
答案 B
分析 教材中介绍操作系统的主要功能有存储管理、 进程和处理机管理、 文件管理、 设备管理和用户接口管理, 一般被认为是操作系统的五大功能。
对于本题, A显然是操作系统的功能之一, C中断处理是操作系统实施并发的基础, 对于操作系统非常重要, 是实现多道程序设计的前提。它就像机器中的齿轮, 驱动各部件的动作, 因此, 许多人称操作系统是由”中断驱动”的。C和D都属于操作系统的进程和处理机管理功能。只有B不是操作系统需要具备的主要功能, 它一般是由应用软件提供的, 如应用软件Windows Office的组件Word就提供了文档编辑功能。
【例5】 操作系统是计算机系统的核心软件。按功能特征的不同, 可把操作系统分为( [1]) 、
( [2]) 、 ( [3]) 、 网络操作系统和分布式操作系统基本类型。其中[1]的主要目标是提高系统的吞吐率和效率, 而[2]是一旦有处理请求和要求处理的数据时, CPU就应该立即处理该数据并将结果及时送回。
A.单用户系统 B.批处理系统 C.分时系统 D.微机操作系统 E.实时系统
答案 [1]B [2]E [3]C
分析 解答此题需要理解三种传统操作系统类型的不同特点。
批处理操作系统的主要特征可归纳为两点: ”多道”和”成批”。”多道”是指内存中同时存在有多个正在处理的作业, 而且外存上还存放有大量的尚待处理的后备作业。”成批”是指作业成批地进入系统, 成批地处理, 成批地离开系统; 作业与作业之间的过渡由操作系统控制, 不需用户的干预。
批处理系统的主要优点是系统吞吐量大, 资源利用率高; 缺点是用户作业的等待时间长, 用户与系统没有交互能力。( 吞吐量: 在一段给定的时间内, 计算机所能完成的总工作量。)
分时系统与实时系统的主要区别如下:
( 1) 关于交互性。分时系统中各个终端用户与系统之间具有较强的交互性, 而实时系统一般是专为某一领域使用的, 对此要求不强。
( 2) 关于可靠性。与分时系统相比, 实时系统更加注重其稳定性和可靠性。例如, 对于航天控制系统来说, 实时控制系统的故障可能带来的后果是无法估量的。
( 3) 关于响应时间。分时系统对响应时间的要求是以终端用户能接受的时间为依据的; 而实时系统对响应时间一般有严格的要求, 即能对外部请求做出及时的响应和处理。
【例6】把下面左右两列词用线连起来, 形成最恰当的搭配。
( 1) Linux ( A) 层次结构
( 2) UNIX ( B) 客户机-服务器结构
( 3) IBM VM/370 ( C) 整体结构
( 4) Windows XP ( D) 虚拟机结构
答案 ( 1) -( C) , ( 2) -( A) , ( 3) -( D) , ( 4) -( B) 。
分析 左侧列出的是一些计算机操作系统, 右侧列出的是操作系统的结构。一般说来, 操作系统有四种结构: 整体结构, 层次结构, 虚拟机结构和客户机-服务器结构。
Linux是采用整体结构的操作系统, 即所有的内核系统功能都包含在一个大型的内核软件之中。UNIX系统的核心层采用的是层次结构。Windows系列操作系统采用微内核技术, 尽可能地使操作系统保持最小的核心, 并由核心来负责处理客户和服务器之间的通信。IBM VM/370系统是虚拟机结构的一个典型实例。
1.3 练习题
一、 选择题( 选择一个正确答案的代码填入括号中)
1. 一个完整的计算机系统是由( ) 组成的。
A.硬件 B.软件
C.硬件和软件 D.用户程序
2. 在计算机系统中, 控制和管理各种资源、 有效地组织多道程序运行的系统软件称作( ) 。
A.文件系统 B.操作系统
C.网络管理系统 D.数据库管理系统
3. 按照所起的作用和需要的运行环境, 操作系统属于( ) 。
A.用户软件 B.应用软件
C.支撑软件 D.系统软件
4. 操作系统的基本职能是( ) 。
A.提供功能强大的网络管理工具
B.提供用户界面, 方便用户使用
C.提供方便的可视化编辑程序
D.控制和管理系统内各种资源, 有效地组织多道程序的运行
5. 为用户分配主存空间, 保护主存中的程序和数据不被破坏, 提高主存空间的利用率。这属于( ) 。
A.处理器管理 B.存储管理
C.文件管理 D.作业管理
6. 操作系统对缓冲区的管理属于( ) 的功能。
A.处理机管理 B.设备管理
C.文件管理 D.存储器管理
7. 操作系统内核与用户程序、 应用程序之间的接口是( ) 。
A.shell命令 B.图形界面
C.系统调用 D.C语言函数
8. 为了使系统中所有的用户都能得到及时的响应, 该操作系统应该是( ) 。
A.多道批处理系统 B.分时系统
C.实时系统 D.网络系统
9. 在实时系统中, 一旦有处理请求和要求处理的数据时, CPU就应该立即处理该数据并将结果及时送回。下面属于实时系统的是( ) 。
A.计算机激光照排系统 B.办公自动化系统
C.计算机辅助设计系统 D.航空订票系统
10.下面不属于分时系统特征的是( ) 。
A.为多用户设计 B.需要中断机构及时钟系统的支持
C.方便用户与计算机的交互 D.可靠性比实时系统要求高
11. 以下著名的操作系统中, 属于多用户、 分时系统的是( ) 。
A.DOS系统 B.Windows NT系统
C.UNIX系统 D.OS/2系统
二、 判断题( 正确的划√, 错误的划×。)
1. 操作系统是用户与计算机之间的接口。 ( )
2. 操作系统是系统软件中的一种, 在进行系统安装时能够先安装其它软件, 然后再装操作系统。( )
3. 操作系统是整个计算机系统的控制管理中心, 它对其它软件具有支配权利。因而, 操作系统建立在其它软件之上。( )
4. 在UNIX/Linux系统上, 系统调用以C函数的形式出现。( )
5. 虽然分时系统也要求系统可靠, 但实时系统对可靠性的要求更高。( )
6. UNIX操作系统是采用微内核方法实现结构设计的。( )
参考答案:
一、 CBDDB BCBDD C
二、 1、 4、 5是正确的。
2、 ( ╳) 安装操作系统时必须先安装操作系统, 然后再安装其它软件
3、 ( ╳) 其它软件建立在操作系统之上。
6、 ( ╳) UNIX操作系统采用的是层次结构
第2章 进程管理 辅导与自测
2.1 本章知识点
进程是操作系统中最基本、 最重要的概念之一, 在计算机系统中, 进程不但是最基本的并发执行的单位, 而且也是分配资源的基本单位。引入进程这个概念, 对于我们理解、 描述和设计操作系统具有重要意义。
本章的主要知识点为:
( 1) 进程的概念
进程是程序在并发环境中的执行过程。进程最根本的属性是动态性和并发性。要注意进程与程序的区别。进程的五个基本特征是: 动态性、 并发性、 独立性、 制约性、 结构性。
一个进程实体一般由程序、 数据、 栈和进程控制块( PCB) 这四部分组成。进程控制块是进程组成中最关键的部分。每个进程有唯一的进程控制块。操作系统根据PCB对进程实施控制和管理。进程的动态、 并发等特征是利用PCB表现出来的。
为了对所有进程进行有效地管理, 常将各进程的PCB用适当的方式组织起来。一般说来, 进程队列有以下几种方式: 线性方式、 链接方式和索引方式。
进程有三个基本状态: 运行态、 就绪态和阻塞态。在一定的条件下, 进程的状态将发生转换。下图所示为进程的状态及其转换。
运行态
分配到
CPU
时间
片到
等待某
事件发生
所等待的事件发生
阻塞态
就绪态
图 进程状态及其转换
( 2) 进程管理
就如同人类的族系一样, 系统中众多的进程也存在族系关系: 由父进程创立子进程, 子进程再创立子进程, 从而构成一棵树形的进程族系图。进程作为有”生命期”的动态过程, 对它们的实施管理主要包括: 创立进程、 撤消进程、 挂起进程、 恢复进程、 改变进程优先级、 封锁进程、 唤醒进程、 调度进程等。
在Linux系统中, 进程有5种状态。进程分为系统进程和用户进程。其中, 系统进程只运行在内核模式下; 用户进程既能够在用户模式下运行, 也能够经过系统调用等运行在内核模式下。Linux的task_struct结构相当于其进程控制块。
Linux系统对进程的操作常见命令有: ps、 kill、 sleep等。常见的系统调用有: fork, exec, wait, exit, getpid, sleep, nice等。
( 3) 进程通信
进程通信是指进程间的信息交换。根据进程间交换信息量的多少, 分为高级进程通信和低级进程通信。进程的同步与互斥是指进程在推进时的相互制约关系, 属于低级进程通信。
一般来说同步反映了进程之间的协作关系, 往往指有几个进程共同完成一个任务时在时间次序上的某种限制, 进程相互之间各自的存在及作用, 经过交换信息完成通信。如接力比赛中一组队员使用接力棒等。
进程互斥体现了进程之间对资源的竞争关系, 这时进程相互之间不一定清楚其它进程的情况, 往往指多个任务多个进程间的通讯制约, 因而使用更广泛。如打篮球时双方挣抢篮板球等。
我们用信号量( Semaphore) 及P, V操作来实现进程的同步和互斥。生产者-消费者问题是经典的进程同步和互斥问题。
( 4) 死锁
死锁是指多个进程循环等待她方占有的资源而无限期地僵持下去的局面。计算机系统产生死锁的根本原因就是资源有限且操作不当。一种原因是竞争资源引起的死锁, 另一种原因是由于进程推进顺序不合适引发的死锁。
产生死锁的四个必要条件是: 互斥条件, 不可抢占条件, 占有且申请条件, 循环等待条件。如果在计算机系统中同时具备这四个必要条件时, 那么会发生死锁。一般地, 解决死锁的方法分为死锁的预防、 避免、 检测与恢复三种。
2.2 典型例题解析
【例1】判断题: 并发是并行的不同表述, 其原理相同。( )
答案 ×。
分析 并发是指多道程序的执行在时间上是重叠的, 一个程序的执行尚未结束, 另一个程序的执行已经开始。但对单CPU系统而言, 每一时刻只有一个程序在CPU上运行( 有可能此时其它的程序在进行输入、 输出) 。也就是说, 占有CPU的只能有一个程序。因此, 并发实际上是”在宏观上并行执行, 在微观上串行执行”。而并行是真正意义上的并行执行, 因此两者的含义是不同的。
【例2】在操作系统中引入”进程”概念的主要目的是( ) 。
A.改进用户编程环境 B.提高程序的运行速度
C.描述程序动态执行过程的性质 D.使程序与计算过程一一对应
答案 C
分析 操作系统中多道程序的引入, 使得它们在并发执行时共享系统资源, 共同决定这些资源的状态, 因此系统中各道程序在执行过程中就出现了相互制约的新关系, 程序的执行出现”走走停停”的新状态。这些都是在程序的动态过程中发生的。而程序本身是机器能够翻译或执行的一组动作或指令, 它或者写在纸面上, 或者存放在磁盘等介质上, 是静止的。很显然, 直接从程序的字面上无法看出它什么时候运行、 什么时候停顿, 也看不出它是否影响其它程序或者一定受其它程序的影响。
因此, 用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此, 人们引入进程的概念来描述程序动态执行过程的性质, 这是引入”进程”概念的主要目的。
【例3】下列进程状态的转换中, 不正确的是( ) 。
A.就绪®阻塞 B.运行®就绪
C.就绪®运行 D.阻塞®就绪
答案 A
分析 回答这道题要知道进程的3种基本状态, 以及它们之间的转换关系。经过下图能够看到, 凡是图中有箭头指向的转换都是可行的, 而没有箭头指向的则不可能。因此A是不正确的。
运行态
分配到
CPU
时间
片到
等待某
事件发生
所等待的事件发生
阻塞态
就绪态
图 进程状态及其转换
如果有的同学记不住这张图, 那就从理解的角度进行思考。首先要理解3种状态的含义, 然后再理解它们之间的转换。例如: 运行的进程能变成就绪吗? 能够, 如果运行进程的时间片到了, 就必修让出CPU, 转换为就绪态。就绪的进程能变成阻塞吗? 不能够, 就绪态的进程已经具备了运行条件, 只在等待CPU, 怎么可能还退回到还不具备运行条件的阻塞态呢? 因此, 如果理解了, 这张图就能够自己画出来, 并不需要死记硬背。
【例4】进程控制块是描述进程状态和特性的数据结构, 一个进程( ) 。
A.能够有多个进程控制块 B.能够和其它进程共用一个进程控制块
C.能够没有进程控制块 D.只能有唯一的进程控制块
答案 D
分析 进程控制块( PCB) 是一个用于描述进程动态性质的数据结构。操作系统根据PCB对进程实施控制和管理。进程的动态、 并发等特征也是经过PCB表现出来的。
进程由程序、 数据、 栈和PCB构成。构成进程的有关程序和数据集合是进程得以存在的物质基础, 它们是进程的实体; PCB用于标识和刻画实体的存在和变化, 是进程存在的唯一标志。当系统创立一个新进程时, 就为它建立一个PCB; 当进程终止后, 系统回收为其分配的PCB, 该进程在系统中
展开阅读全文