nbhkdz.com冰点文库

操作系统期末复习指导[1]

时间:2011-10-18

操作系统(本科) 操作系统(本科)期末复习指导
操作系统(本科)是中央广播电视大学计算机科学与技术本科专业(专科起点)的一 门统设必修课,课内学时 72,4 学分,开设一学期。 操作系统是计算机系统的基本组成部分, 是整个计算机系统的基础和核心。 因此历来是 计算机专业的一门核心课程。 通过本课程的学习, 使学生深入理解操作系统的基本概念和主 要功能,掌握常用操作系统(如 Linux)的使用和一般管理方法,了解操作系统是如何组织 和运作的,从而为学生以后的学习和工作打下基础。 操作系统是一门理论性和实践性紧密结合的课程。在理论方面,课程具有概念多、较 抽象、涉及面广的特点。操作系统的上机实验很重要,既可以加深对课本知识的理解,又可 以学到很多实际工作的经验,有助于增强动手技能、分析解决实际问题的能力,提高专业素 质。

一、复习重点和要求
第 1 章 操作系统概述 考核学生对操作系统的定义、主要功能、主要类型、操作系统的特征以及分时概念等内 容的学习情况。 【掌握】 1. 操作系统的概念 操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的 系统软件(或程序集合) ,是用户与计算机之间的接口。 记忆要点:操作系统是什么——是系统软件; 操作系统管什么——控制和管理计算机系统内各种资源; 操作系统有何用——扩充硬件功能,方便用户使用。 2. 操作系统的主要功能 操作系统的五大主要功能:存储管理、进程和处理机管理、文件管理、设备管理、用户 接口管理。 【理解】 1. 操作系统的特征:并发、共享和异步性。 理解模拟:并发——“大家都前进了” ; 共享——“一件东西大家用” ; 异步性——“你走我停”“走走停停” , 。 2. 操作系统的主要类型 操作系统的主要类型有:多道批处理系统、分时系统、实时系统、网络操作系统、个人 机操作系统、分布式系统和嵌入式操作系统。 UNIX 系统是著名的分时系统。 3. 分时概念:主要是指若干并发程序对 CPU 时间的共享。 【了解】 1. 操作系统的形成; 2. 分时和实时操作系统的特点,见教材 16 页;

3. 操作系统在计算机系统中的地位:是裸机之上的第一层软件,是建立其他所有软件 的基础。 4. 操作系统结构设计:整体结构、层次结构、虚拟机结构和客户机-服务器结构。 5. 操作系统为用户提供的三种用户接口:图形用户接口、命令行接口和程序接口。 系统调用是操作系统内核与用户程序、应用程序之间的接口。在 UNIX/Linux 系统,系 统调用以 C 函数的形式出现。 第 2 章 进程管理 考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的 同步与互斥、信号量和P、V操作及其一般应用、死锁的概念和产生死锁的必要条件等内容 学习情况。 【掌握】 1. 进程的定义:进程是程序在并发环境中的执行过程。 进程与程序的主要区别。进程最基本的属性是动态性和并发性。 2. 进程的状态及其转换 进程的 3 种基本状态是:运行态、就绪态和阻塞态。掌握教材 33 页的进程状态及其转 换图。 3. 进程的同步与互斥的概念。可以简单理解为:同步是协作,互斥是竞争。 4. 信号量和P、V操作及其一般应用。 运用信号量机制和P、V操作,解决并发进程一般的互斥和同步问题。解决此类问题的 一般方式: ① 根据问题给出的条件,确定进程有几个或几类; ② 确定进程间的制约关系——是互斥,还是同步; ③ 各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值; ④ 用 P、V 操作写出相应的代码段; ⑤ 验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决。切 忌按固定顺序执行各进程。 【理解】 1. 多道程序设计概念及其优点。 2. 进程的一般组成,应深入理解进程控制块的作用。每个进程有惟一的进程控制块。 3. Linux 进程管理的基本命令:ps、kill、sleep。 4. 理解进程临界资源和临界区的概念,进程进入临界区的调度原则。信号量概念,P、 V 操作执行的动作。 5. 死锁的概念;死锁的 4 个必要条件:互斥条件、不可抢占条件、占有且申请条件、 循环等待条件。 【了解】 1. Linux 进程结构,见教材 41 页图。 2. 进程间的 3 种高级通信:共享内存、管道文件和消息传递。 第 3 章 处理机调度 考核学生对作业状态、作业调度和进程调度的功能、性能评价标准、常用调度算法、 Linux 常用调度命令、中断处理过程、shell 命令执行过程等内容的学习情况。

【掌握】 1. 作业调度和进程调度的功能 作业调度的功能见教材 73 页,进程调度的功能见教材 74 页。在一般操作系统中,进程 调度是必须具备的。 2. 常用调度算法 掌握三种基本调度算法(先来先服务法、时间片轮转法、优先级法)的实现思想,并能 进行评价指标的计算。 要求:能利用图表形式列出各作业或进程的有关时间值,如到达时间、运行时间、开始 时间、完成时间等,利用评价公式计算出各指标的值,如周转时间、带权周转时间、平均周 转时间、平均带权周转时间。 【理解】 1. 作业的四种状态:提交、后备、执行和完成。 2. 作业调度与进程调度的关系,见教材 75 页。简单比喻:作业调度是演员上场前的准 备,进程调度是让演员上场表演。 3. 调度性能评价标准 评价调度算法的指标:吞吐量、周转时间、带权周转时间、平均周转时间和平均带权周 转时间。 4. Linux 系统的进程调度方式、策略和常用调度命令:nohup,at,batch,jobs,fg,bg。 5. 中断处理过程:保存现场、分析原因、处理中断和中断返回。 6. shell 命令的一般执行过程。 【了解】 1. 调度的三个级别:高级调度、中级调度和低级调度,其中高级调度又称作业调度, 低级调度又称进程调度。 2. 调度策略的选择,见教材 77 页。 3. 中断概念 中断是指 CPU 对系统发生的某个事件做出的一种反应, 它使 CPU 暂停正在执行的程序, 保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回 断点继续执行被“打断”的程序。 第 4 章 存储管理 考核学生对重定位、分区法、分页的概念、虚拟存储概念、请求分页存储管理技术、常 用页面置换算法、Linux 中的存储管理技术以及抖动等内容的学习情况。 【掌握】 掌握以下概念:逻辑地址、物理地址、逻辑地址空间、物理地址空间、重定位、静 态重定位、动态重定位、碎片、虚拟存储器。 2. 分区法 分区法分为固定分区法和动态分区法两种。要掌握其基本原理、数据结构、地址转换、 内存空间的分配与释放、分配算法、优点和缺点。 3. 分页技术 掌握分页存储管理的基本方法,如地址表示、从逻辑地址到物理地址的转换、数据结构 等。 4. 虚拟存储器 虚拟存储器(Virtual Memory)是用户能作为可编址内存对待的虚拟存储空间,它使用 1.

户逻辑存储器与物理存储器分离, 是操作系统给用户提供的一个比真实内存空间大得多的地 址空间。 虚拟存储器的基本特征:虚拟扩充、部分装入、离散分配、多次对换。此外,虚拟存储 器的容量不是无限大的,它主要受到地址的字长和外存容量的限制 5. 请求分页技术 请求分页存储管理技术是在单纯分页技术基础上发展起来的,二者根本区别在于请求 分页提供虚拟存储器。 实现请求分页,系统必须提供一定容量的内存和外存,以及支持分页机制,还需要有 页表机制、缺页中断机构以及地址转换机构。 6. 常用页面置换算法 能应用先进先出法(FIFO) 、最佳置换法(OPT)、最近最少使用置换法(LRU)的实 现思想计算页面淘汰序列、缺页次数以及缺页率。 【理解】 1. 重定位 把逻辑地址转变为内存物理地址的过程称作重定位。 根据重定位的时机, 分为静态重定 位和动态重定位。理解它们的概念、实现思想和优缺点。 2. 抖动。见教材 128 页,理解抖动的含义,与页面置换算法的关系。 3. Linux 中的存储管理技术 Linux 系统采用了请求分页存储管理技术和对换技术。 【了解】 1. 存储器层次 了解典型的存储器层次结构:寄存器、高速缓存、内存、磁盘、磁带。 2. 用户程序的地址空间 用户程序的主要处理阶段:编辑、编译、链接、装入和运行。 3. 对换技术的实现思想。 第 5 章 文件系统 考核学生对文件的分类、文件系统的功能、文件的逻辑组织和物理组织、文件的目录结 构、文件存储空间的管理、文件的存取控制等内容的学习情况。 【掌握】 1. 文件系统的功能 一般说来,文件系统应具备以下功能:文件管理、目录管理、文件存储空间的管理、 文件的共享和保护、提供方便的接口。 2. 文件的逻辑组织和物理组织 掌握文件的逻辑组织和物理组织的概念,以及相应的组织形式。 3. 文件的目录结构 文件目录的基本组织方式有单级目录、二级目录、树形目录和非循环图目录。 4. 文件存储空间的管理 文件存储空间的管理是对外存空间中空闲盘块的管理。对空闲盘块的管理方式主要有: 空闲盘块表、空闲块链接、位示图和空闲块成组链接等。 【理解】 1. 文件的分类 按用途分为:系统文件、库文件、用户文件; 按文件中的数据形式分为:源文件、目标文件、可执行文件;

按存取权限分为:只读文件、读写文件、可执行文件; 按保存时间分为:临时文件、永久文件; 在 UNIX/Linux 和 MS-DOS 系统中,文件分为普通文件、目录文件和特殊文件。而普通 文件又分为 ASCII 文件和二进制文件两种。 2. 文件的存取控制 为了实现文件系统的安全,文件需要保护和保密。对文件的存取控制可分别由存取类 型来设定,如读、写、执行等,也可以通过命名、口令、存取权限或者加密的方法实现对文 件的保护和保密。要理解 UNIX/Linux 系统对文件存取权限的规定。 3. Linux 文件系统的一般概念。 【了解】 1. 文件的链接 Linux 具有为一个文件起多个名字的功能,称为链接。文件链接是实现文件共享的有效 途径,分为硬链接和符号链接。 2. 文件的备份和恢复 文件信息可能因硬件或软件的故障而遭到损坏,为此必须加强对文件系统的可靠性管 理, 如文件系统的备份和必要时的恢复。 备份就是把硬盘上的文件转储到其他外部介质上做 一个副本。备份策略有完全备份、增量备份和更新备份。按照备份时机分为定期备份和不定 期备份。 3. EXT2 文件系统 EXT2 是 Linux 使用的文件系统。了解 EXT2 的物理布局。 4. 虚拟文件系统 Linux 系统提供了虚拟文件系统(VFS) 。通过 VFS 将不同文件系统的实现细节隐藏起 来。Linux 文件系统可以根据需要随时装卸,从而实现文件存储空间的动态扩充。 5. 管道文件 Linux 系统的管道文件独具特色。管道文件按 FIFO 方式工作,它是同族进程间进行大 量信息传送的有力工具。 第 6 章 设备管理 考核学生对设备管理功能、设备分配技术、缓冲技术、SPOOLing 系统、设备驱动程序 概念、磁盘调度和管理等内容的学习情况。 【掌握】 1. 设备管理的功能 操作系统中设备管理的功能简单地说就是:监视设备状态;进行设备分配;完成 I/O 操 作;缓冲管理与地址转换。 2. 设备分配技术 设备分配技术主要有:独占分配、共享分配和虚拟分配。独占分配适用于独占设备,系 统效率低;共享分配适用于高速、大容量直接存储的共享设备,设备的利用率较高;虚拟分 配技术利用共享设备去实现独占设备的功能, 从而使独占设备“感觉上”成为可共享的、 快 速的 I/O 设备。 3. 设备驱动程序概念 设备驱动程序是控制设备动作(如设备的打开、关闭、读、写等)的核心模块,用来控 制设备上数据的传输。 4. 磁盘调度算法 常用的磁盘调度算法有:先来先服务法、最短寻道时间优先法和电梯法。重点掌握前两

种磁盘调度算法。 【理解】 1. 设备独立性 设备独立性是设备管理要达到的目标之一, 就是说, 用户程序应与实际使用的物理设备 无关,由操作系统考虑因实际设备不同而需要使用不同的设备驱动程序等问题。 2. SPOOLing 系统 实现虚拟分配最成功的技术是 SPOOLing(外部设备联机并行操作) ,也称假脱机技术。 SPOOLing 系统用常驻内存的进程去模拟一台外围机,用一台主机就可完成脱机技术中需用 三台计算机完成的工作。系统一般分为存输入、取输入、存输出、取输出 4 个部分。 理解 SPOOLing 系统的功能和实现思想。 3. 缓冲技术 理解引入缓冲技术的主要目的和缓冲区的设置方式。 4. Linux 常用设备安装和管理,如网卡的简单配置。 【了解】 1. 设备分类和标识 了解设备的一般分类:存储设备(块设备) ,输入/输出设备(字符设备) 。 2. 处理 I/O 请求的步骤 参照教材 193 页的图 6-7,了解系统处理用户 I/O 请求的步骤。 第7章 章 现代操作系统发展

考核学生对现代操作系统发展、嵌入式和分布式操作系统的一般知识的学习情况。 【了解】 1. 嵌入式操作系统的概念、功能和特性 嵌入式操作系统是嵌入式系统中使用的操作系统。 作为一种操作系统, 它具有一般操作 系统的基本功能,但是,由于嵌入式操作系统的硬件平台和应用环境与一般操作系统不同, 所以它有自身的特点,其的最大特点就是可定制性。 2. 分布式操作系统的概念、功能和特性。 分布式操作系统是配置在分布式系统上的共用操作系统。 分布式操作系统实施系统整体 控制,对分布在各节点上的资源进行统一管理,并且支持对远程进程的通信协议。 分布式操作系统要求实现用户面前的虚拟单处理机系统到具体的分布式系统的映射。 它 有如下三个基本功能:进程管理;通信管理和资源管理。 3. 未来操作系统应具有的新特征。 更强的分布式处理能力, 更高的安全性和可靠性, 符合开放式模型, 更方便的用户界面。

二、复习方法和建议
1.复习方法 . (1)对计算机操作系统要从宏观和微观两方面把握。 宏观方面:牢记操作系统的定义。理解操作系统在计算机系统中的地位,明确操作系统 进行资源管理的五大功能,即:存储管理、进程和处理机管理、文件管理、设备管理和用户 接口管理。教材从第 2 章到第 6 章分别介绍了这些功能的具体内涵。 微观方面:针对于进程、处理机、存储器、文件、设备管理,应掌握操作系统是如何管 理计算机的这些资源的,理解有关概念、原理、技术和方法。

(2)重视课程实验,培养动手能力。 操作系统的上机实验很重要,它不仅可以加深对课本知识的理解,而且可以学到很多 实际工作的经验, 这对于增强动手技能和分析解决实际问题的能力、 提高专业素质很有帮助。 大家应尽量做全、做好实验。实验前要进行预习:准备做什么,用到哪些知识,大致会出现 什么结果,心中应有数。实验时应注意出现的结果,并分析原因,特别是不正常的情况,对 现象、解决办法、原因都最好记下来。解决一个问题,就增长一份才干。努力实现“学以致 用”的目标。 2.复习建议 . (1)在复习时围绕操作系统是什么、干什么、如何干这一主线,分层次进行总结。抓 住重点,掌握基本概念和基本方法,注意知识的前后连贯。 操作系统中概念很多,要突出掌握重点概念,如:操作系统定义,进程、重定位、死锁 等概念。 要结合主教材和本复习指导中给出的教学要求, 首先对每一章讲的问题是什么要搞 清楚。然后,总结一下:针对该问题引入什么概念,该概念用来解决什么基本问题,采用什 么基本方法予以解决。 如果能把各章知识连贯起来、 并结合上机体会进行复习, 效果会更好。 对于基本概念在理解其所指对象的基础上,记住其定义的表述。如:进程,是针对多道 程序执行时出现的问题而引入的,记住其定义表述。然后,进程与程序有何区别?有什么基 本特征呢?如何体现其动态性呢?进程在活动中彼此会发生什么关系呢?怎么解决呢?通 过由表及里地分析,就便于掌握知识要点,尽量在理解的基础上进行记忆。 对于操作系统的基本概念应掌握其实质是什么,是针对什么事物的,记住其表述要点。 对于基本功能应掌握其是解决什么问题的, 性能如何。 对于基本方法和技术应理解其如何解 决问题。 (2)结合生活中的例子,体会操作系统的管理方法。 操作系统许多管理方法都可以在日常生活中找到例子,学习时可以联想日常生活中熟 悉的管理示例反复体会操作系统的管理方法, 以加深对问题的理解。 教材中已经给出了一些 示例,如程序和进程的关系,就像歌谱和唱歌;进程的同步关系就像跑接力赛;先来先服务 算法如同排队买票;等等。 (3)注重平时练习,加强自主学习能力。 平时应认真、独立地完成课后习题和网上的自测题,正确地使用答案。在复习时应把 练习再复习一遍, 掌握做题的规律和技巧, 特别对重点要求的内容和解题出现过错误的地方 应格外注意。根据教学大纲要求,考试难度不会超出规定范围。对基本内容应牢固掌握,并 能进行适当地灵活应用。 3. 复习思考 不知道大家是否想过,为什么要学习操作系统? (1)选择操作系统。现代计算机系统中,往往配备多种操作系统以满足不同的用途, 通过学习可以了解不同类型操作系统的用途,有助于我们选择合适的操作系统为用户服务。 (2)分析操作系统。了解操作系统的结构和功能,可以较为准确地发现和解决问题, 至少能确定问题位置,通知操作系统的生产商来处理。分析和研究操作系统,不知道操作系 统的基本原理是难以完成的。 (3)设计操作系统。针对现实工作任务的需要,能设计或扩充现有操作系统,这是学 习操作系统的最高层次, 需要扎实的计算机科学和技术的基本理论和基础知识, 特别是操作 系统的基本原理、技术和方法。 (4)操作系统中实用的资源管理方法和技术,可以应用于其他的管理和控制领域。有

人说“操作系统是计算机技术和管理技术的结合” ,如何在现有计算机硬件条件下通过软件 达到目标并努力实现高效性,如何在空间和时间中权衡,机制与策略,等等,操作系统管理 资源的思路和方法体现了现实生活中的管理技术。 4.复习资源 . (1)课程文字主教材: 《操作系统(本科),孟庆昌主编,中央广播电视大学出版社出 》 版,2008 年 1 月。 课程配套使用的文字辅助教材为《操作系统(本科)实验指南》 ,张茂林、孟庆昌主编, 中央广播电视大学出版社出版,2008 年 8 月。本学期先挂在网上。 (2)电大在线“操作系统”课程网页“教学辅导”栏目的资源。 (3)期末复习指导。 (4)模拟练习题。

1.1 本章知识点 本章的内容描述了计算机操作系统的概貌, 如什么是操作系统, 它的主要功能和主要类 型,操作系统结构设计。这一章在全书中起着提纲挈领的作用,后面的各个章节将分别对操 作系统的各项功能做详细剖析。学好第一章对于我们从总体上把握操作系统有着指导作用。 本章的主要知识点为: (1)操作系统的定义 一个完整的计算机系统由硬件和软件两大部分组成。 硬件是计算机物理装置本身, 是计 算机软件运行的基础;简单地说,软件是计算机执行的程序,软件分为系统软件、应用软件 和支撑软件三大类。 操作系统的定义如下: 操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的 系统软件(或程序集合),是用户与计算机之间的接口。 (2)操作系统的主要功能 操作系统作为计算机基本的系统软件,具有五大功能,分别是:存储管理、进程和处理 机管理、文件管理、设备管理和用户接口管理。教材从第 2 章到第 6 章将分别介绍这些主要 功能。 (3)操作系统的主要类型 操作系统在发展中形成了以下类型,它们是批处理操作系统、分时操作系统、实时操作 系统、网络操作系统、分布式操作系统、嵌入式操作系统、个人机操作系统等。其中前三种 属于传统的操作系统类型, 后面的操作系统类型是随着计算机网络、 分布式处理等新技术的 应用而产生的,属于现代操作系统。

(4)操作系统结构设计 一般说来,操作系统有如下四种结构:整体结构,层次结构,虚拟机结构和客户机-服 务器结构。它们在设计上各有优缺点。 UNIX 系统和 Linux 系统是当代最著名的多用户、多进程、多任务的分时操作系统。本 章对它们的发展历史、主要特点以及内核的结构都进行了介绍。 1.2 典型例题解析 【例 1】什么是操作系统? 】 答案 操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序 运行的系统软件(或程序集合),是用户与计算机之间的接口。 分析 操作系统作为本课程最重要的概念, 同学们一定要牢记。 可以从三个方面理解这个概念, 然后在理解的基础上进行记忆。 (1)操作系统是系统软件。 (2)对内,操作系统控制和管理各种资源,有效地组织多道程序运行。被计算机系统 工作时所引用的一切客体都称为资源。这里所说的客体可能是处理机、设备、内存、外存等 硬件,也可能是程序和数据等软件。 (3)对外,操作系统是用户与计算机之间的接口。它为用户提供服务,方便用户使用 计算机。 如果同学们理解了操作系统在计算机系统中的地位,那么对于学习这个概念有帮助。 【例 2】在计算机系统中,操作系统是( 】 A.处于裸机之上的第一层软件 C.处于应用软件之上的系统软件 答案 A 分析 解答这道题主要是清楚操作系统在计算机系统中的地位。 在计算机系统中, 操作系统处于一个承上启下的地位, 它对内管理计算机的各种软硬件 资源(文件、作业、存储器、设备、进程),对外向用户提供良好界面的服务,方便用户使 用计算机。 )。 B.处于硬件之下的底层软件 D.处于系统软件之上的用户软件

操作系统属于系统软件,但却又不同与其他的系统软件。从下图可以看出,操作系统紧 贴硬件, 是裸机之上的第一层软件, 是对硬件的扩充, 其他系统软件都建立在操作系统之上。 而应用软件是建立在系统软件之上的,更贴近用户。

操作系统是系统软件,因此 D 是错误的。C 说系统软件在应用软件之上,这与图中的 情况相反,显然不对。而硬件之下则没有软件存在,所以 B 根本就不正确。所以 A 才是正 确答案。以上是用排除法来进行选择,如果同学们已经理解了操作系统的地位,就可以直接 选择 A,这样可以节省答题的时间。 【例 3】现代操作系统的基本特征是( 】 A.多道程序设计 C.实现分时与实时处理 答案 D 分析 操作系统也是一个程序,不过与其他程序相比,它有三个非常重要的特性:即多 任务并行、 多用户资源共享和异步性, 把握操作系统的这些特性对于深刻理解操作系统会有 很大帮助。 并发性是指两个或多个任务在同一给定的时间间隔中进行。 这是一个宏观上的概念。 以 多道程序为例, 这里的并发性不仅体现在用户程序与用户程序之间并发执行, 还体现在用户 程序与操作系统程序之间的并发执行。因而从宏观上看,这些程序是同时向前推进的。 资源共享是指多个任务共享计算机系统中的资源,如处理机、内存、外存、设备和数据 等。这种共享是在操作系统的控制下实现的。对于一个给定的计算机系统,它的资源配置情 况是相对固定的,而系统中多道程序对于资源的需求则是变化的,且通常是不可预知的;操 作系统要掌握系统中当前资源的使用情况, 并据此决定各程序进入系统的次序以及使用资源 的次序。 异步性体现了多道程序环境下,程序执行时“走走停停”的性质,更反应出操作执行现 场的不可预知性。 )、资源共享和异步性。

B.中断处理 D.程序的并发执行

【例 4】以下不属于操作系统具备的主要功能的是( 例 A.内存管理 C.中断处理 答案 B B.文档编辑 D.CPU 调度

)。

分析 教材中介绍操作系统的主要功能有存储管理、进程和处理机管理、文件管理、设 备管理和用户接口管理,一般被认为是操作系统的五大功能。 对于本题,A 显然是操作系统的功能之一,C 中断处理是操作系统实施并发的基础,对 于操作系统非常重要,是实现多道程序设计的前提。它就像机器中的齿轮,驱动各部件的动 作,因此,许多人称操作系统是由“中断驱动”的。C 和 D 都属于操作系统的进程和处理 机管理功能。只有 B 不是操作系统需要具备的主要功能,它一般是由应用软件提供的,如 应用软件 Windows Office 的组件 Word 就提供了文档编辑功能。 【例 5】 操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为 】 ([1])、 ([2])、([3])、网络操作系统和分布式操作系统基本类型。其中[1]的主要目标是提 高系统的吞吐率和效率,而[2]是一旦有处理请求和要求处理的数据时,CPU 就应该立即处 理该数据并将结果及时送回。 A.单用户系统 E.实时系统 答案 [1]B [2]E B.批处理系统 C.分时系统 D.微机操作系统

[3]C

分析 解答此题需要理解三种传统操作系统类型的不同特点。 批处理操作系统的主要特征可归纳为两点:“多道”和“成批”。“多道”是指内存中 同时存在有多个正在处理的作业, 并且外存上还存放有大量的尚待处理的后备作业。 “成批” 是指作业成批地进入系统,成批地处理,成批地离开系统;作业与作业之间的过渡由操作系 统控制,不需用户的干预。 批处理系统的主要优点是系统吞吐量大, 资源利用率高; 缺点是用户作业的等待时间长, 用户与系统没有交互能力。 (吞吐量:在一段给定的时间内,计算机所能完成的总工作量。) 分时系统与实时系统的主要区别如下: (1)关于交互性。分时系统中各个终端用户与系统之间具有较强的交互性,而实时系 统一般是专为某一领域使用的,对此要求不强。 (2)关于可靠性。与分时系统相比,实时系统更加注重其稳定性和可靠性。例如,对 于航天控制系统来说,实时控制系统的故障可能带来的后果是无法估量的。

(3)关于响应时间。分时系统对响应时间的要求是以终端用户能接受的时间为依据的; 而实时系统对响应时间一般有严格的要求,即能对外部请求做出及时的响应和处理。 【例 6】把下面左右两列词用线连起来,形成最恰当的搭配。 】 (1)Linux (2)UNIX (3)IBM VM/370 (4)Windows XP (A)层次结构 (B)客户机-服务器结构 (C)整体结构 (D)虚拟机结构

答案 (1)-(C),(2)-(A),(3)-(D),(4)-(B)。 分析 左侧列出的是一些计算机操作系统,右侧列出的是操作系统的结构。一般说来, 操作系统有四种结构:整体结构,层次结构,虚拟机结构和客户机-服务器结构。 Linux 是采用整体结构的操作系统,即所有的内核系统功能都包含在一个大型的内核软 件之中。UNIX 系统的核心层采用的是层次结构。Windows 系列操作系统采用微内核技术, 尽可能地使操作系统保持最小的核心,并由核心来负责处理客户和服务器之间的通信。IBM VM/370 系统是虚拟机结构的一个典型实例。 1.3 练习题 一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 一个完整的计算机系统是由( A.硬件 C.硬件和软件 B.软件 D.用户程序 )组成的。



2. 在计算机系统中,控制和管理各种资源、有效地组织多道程序运行的系统软件称作 )。 A.文件系统 C.网络管理系统 B.操作系统 D.数据库管理系统 )。

3. 按照所起的作用和需要的运行环境,操作系统属于( A.用户软件 C.支撑软件 B.应用软件 D.系统软件

4. 操作系统的基本职能是(

)。

A.提供功能强大的网络管理工具 B.提供用户界面,方便用户使用 C.提供方便的可视化编辑程序 D.控制和管理系统内各种资源,有效地组织多道程序的运行 5. 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。 这属于( )。 A.处理器管理 C.文件管理 B.存储管理 D.作业管理 )的功能。

6. 操作系统对缓冲区的管理属于( A.处理机管理 C.文件管理

B.设备管理 D.存储器管理 )。

7. 操作系统内核与用户程序、应用程序之间的接口是( A.shell 命令 C.系统调用 B.图形界面 D.C 语言函数

8. 为了使系统中所有的用户都能得到及时的响应,该操作系统应该是( A.多道批处理系统 C.实时系统 B.分时系统 D.网络系统

)。

9. 在实时系统中,一旦有处理请求和要求处理的数据时,CPU 就应该立即处理该数据 并将结果及时送回。下面属于实时系统的是( )。 A.计算机激光照排系统 C.计算机辅助设计系统 B.办公自动化系统 D.航空订票系统 )。

10.下面不属于分时系统特征的是( A.为多用户设计 C.方便用户与计算机的交互

B.需要中断机构及时钟系统的支持 D.可靠性比实时系统要求高

11. 以下著名的操作系统中,属于多用户、分时系统的是( A.DOS 系统 C.UNIX 系统 B.Windows NT 系统 D.OS/2 系统

)。

二、判断题(正确的划√,错误的划×。) 判断题(正确的划√ 错误的划× 1. 操作系统是用户与计算机之间的接口。 ( )

2. 操作系统是系统软件中的一种,在进行系统安装时可以先安装其它软件,然后再装 操作系统。( ) 3. 操作系统是整个计算机系统的控制管理中心,它对其它软件具有支配权利。因而, 操作系统建立在其它软件之上。( ) 4. 在 UNIX/Linux 系统上,系统调用以 C 函数的形式出现。( ) )

5. 虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。( 6. UNIX 操作系统是采用微内核方法实现结构设计的。( 三、简答题 请同学们解答参考教材 26 页的课后习题。 参考答案: 一、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 系统对进程的操作常用命令有: kill、 ps、 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,该进程在系统中就不存在了。 ) ,应释放一个等待该信号量的进程。 【例 5】在执行 V 操作时,当信号量的值( 】 A.小于 0 B.大于 0 C.小于等于 0 D.大于等于 0 答案 C V 它由 P 操作原语和 V 操作原语组成 (原 分析 P, 操作能够实现对临界区的管理要求。 语是不可中断的过程) ,对信号量进行操作,具体定义如下: P(S) :①将信号量 S 的值减 1,即 S=S?1; ②如果 S≥0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。 V(S) :①将信号量 S 的值加 1,即 S=S+1; ②如果 S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针, 指针指向等待该信号量的下一个进程。 信号量 的值与相应资源的使用情况有关。当它的值大于 0 时,表示当前可用资源的数量;当它的值 小于 0 时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由 P,V 操作 来改变。 一般来说,信号量 S≥0 时,S 表示可用资源的数量。执行一次 P 操作意味着请求分配一 个单位资源,因此 S 的值减 1;当 S<0 时,表示已经没有可用资源,请求者必须等待别的进 程释放该类资源,它才能运行下去。而执行一个 V 操作意味着释放一个单位资源,因此 S 的值加 1;若 S≤0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使 之运行下去。 【例 6】 9 个生产者,6 个消费者,共享容量为 8 的缓冲区。在这个生产者-消费者问题中, 】有 互斥使用缓冲区的信号量 mutex 的初值应该为( ) 。 A.1 B.6 C.8 D.9 答案 A 分析 进程的互斥是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许

一个进程去使用,其它要使用该资源的进程必须等待,直到占用资源者释放了该资源。 进程的互斥体现了并发进程之间访问共享资源时存在的竞争关系。 在计算机系统中必须 互斥使用的资源很多,如读卡机、磁带机、 打印机等硬件资源和一些公共变量、表格、 队列、 数据等软件资源。 利用信号量和 P,V 操作实现进程互斥的一般模型是: 进程 P1 进程 P2 …… 进程 Pn …… …… …… P(mutex) ; P(mutex) ; P(mutex) ; 临界区; 临界区; 临界区; V(mutex) ; V(mutex) ; V(mutex) ; …… …… …… …… 其中信号量 mutex 用于互斥,初值为 1。 使用 P,V 操作实现进程互斥时应该注意的是: (1)每个程序中用户实现互斥的 P、V 操作必须成对出现,先做 P 操作,进临界区, 后做 V 操作,出临界区。若有多个分支,要认真检查其成对性。 (2)互斥信号量的初值一般为 1。 此外,P、V 操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循 环。 在本题中,既然是问互斥信号量,其初值应为 1,选项中的 6,8,9 都是迷惑答题者 的,如果对同步和互斥不能很好地理解,就很难选择。 两个进程合作完成一个任务, 在并发执行中, 一个进程要等待其合作伙伴发来信息, 【例 7】 】 或者建立某个条件后再向前执行,这种关系是进程间的( )关系。 A.同步 B.互斥 C.竞争 D.合作 答案 A 分析 进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进 程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。 同步是进程间共同完成一项任务时直接发生相互作用的关系。 这样的例子在日常生活中 不胜枚举, 比如接力比赛中运动员的默契配合, 工业生产中流水作业的每道工序的先后执行, 以及计算机系统中对一个缓冲区的读和写等等。 当并发进程存在协作的关系时, 必须互通消 息,完成进程的同步。 能实现进程同步的机制称为同步机制, 该机制能把其他进程需要的消息发送出去, 也能 测试自己需要的消息是否到达。 P,V 操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值 为 0 时,表示期望的消息尚未产生;当信号量的值非 0 时,表示期望的消息已经存在。用 P, V 操作实现进程同步时,调用 P 操作测试消息是否到达,调用 V 操作发送消息。 使用 PV 操作实现进程同步时应该注意的是: (1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况 下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明 确要设置哪些信号量。 (2)信号量的初值与相应资源的数量有关,也与 P、V 操作在程序代码中出现的位置 有关。 (3)同一信号量的 P、V 操作要成对出现,但它们分别在不同的进程代码中。 本题中进程的同步体现的是合作关系, 但答案不能选 D, 要使用操作系统的术语“同步”。

【例 8】设有一台计算机,有两条 I/O 通道,分别接一台卡片输入机和一台打印机。卡片机 例 把一叠卡片逐一输入到缓冲区 B1 中,加工处理后再搬到缓冲区 B2 中,并在打印机上打印 结果。问: ① 系统要设几个进程来完成这个任务?各自的工作是什么? ② 这些进程间有什么样的相互制约关系? ③ 用 P、V 操作写出这些进程的同步算法。 分析 我们画一个草图来帮助我们理解这道题:
输 入 处 输

卡片机

缓冲区 B1



缓冲区 B2



打印机

从图中可以看出,从“卡片机”到“打印机”共需要3个操作,即输入、处理、输出。这3 个动作就是完成任务的3个进程。 下面我们看看这些进程之间有什么样的制约关系。可以看出,这3个进程之间是同步关 系,合作完成从输入到输出的工作任务。对其中任何一个进程,要处理好与其关联的两端设 备的协调工作。以“输入进程”为例,它与卡片机和缓冲区B1关联,将卡片机的卡片输入到 缓冲区B1,在不考虑卡片机的情况下,就要考虑缓冲区的情况,即是满还是空,是空缓冲 区,输入进程就可以输入信息,如果缓冲区满,则要等待“处理进程”将B1中的信息取走, 使之为空,输入进程才能继续工作。依此类推,可以找出另外2个进程的制约关系。 一般来说,处理进程同步需要2个信号量,“输入进程”和“处理进程”同步,需要2个信号 量,解决缓冲区B1的协调操作问题;而“处理进程”和“输出进程”同步,还需要2个信号量, 解决缓冲区B2的协调操作问题。因此,共需要4个信号量。本题中“处理进程”的算法有一些 难度,因为它需要协调两个缓冲区的工作,考虑的因素比较多,算法复杂些。 答案 ①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入 到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区 B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。 ②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走, 才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它 们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放 满后P进程才可从中取出它们,进行打印。 ③信号量含义及初值: B1full—— 缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full—— 缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0;

说明 前面我们说过:信号量的初值与相应资源的数量有关,也与 P、V 操作在程序代码中出 现的位置有关。以本题为例,如果 R 进程的算法如下:

则信号量B1empty初值应为1。表示B1缓冲区初始为空闲状态。 如果 C 进程的算法如下:

则信号量B2empty初值应为1。表示B2缓冲区初始为空闲状态。 【例 9】死锁的四个必要条件中,无法破坏的是( 例 ) 。 A.互斥条件 B.不可抢占条件

C.占有且申请条件 D.循环等待条件 答案 A 分析 互斥条件、不可抢占条件、占有且申请条件和循环等待条件是死锁发生时的 4 个 必要条件,我们知道,只要破坏这 4 个必要条件中的任意一个条件,死锁就不会发生。 打破互斥条件,就是允许进程同时访问某些资源。但是,有的资源是不允许被同时访问 的,如打印机等,这是由资源本身的属性所决定的,因此这种方法并无实用价值。而其他三 个条件是完全可以破坏的。 2.3 练习题

一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 顺序程序和并发程序的执行相比, ( ) 。 A.基本相同 B.有点不同 C.并发程序执行总体上执行时间快 D.顺序程序执行总体上执行时间快 在单一处理机上,将执行时间有重叠的几个程序称为( ) 。 A.顺序程序 B.多道程序 C.并发程序 D.并行程序 在单 CPU 的系统中,若干程序的并发执行是由( )实现的。 A.用户 B.程序自身 C.进程 D.编译程序 进程与程序之间有密切联系,但又是不同的概念。二者的一个本质区别是( ) 。 A.程序是静态概念,进程是动态概念 B.程序是动态概念,进程是静态概念 C.程序保存在文件中,进程存放在内存中 D.程序顺序执行,进程并发执行 在操作系统中,进程的最基本的特征是( ) 。 A.动态性和并发性 B.顺序性和可再现性 C.与程序的对应性 D.执行过程的封闭性 多个进程的实体能存在于同一内存中, 在一段时间内都得到运行。 这种性质称作进程的 ( ) 。 A.动态性 B.并发性 C.调度性 D.异步性 进程是程序的执行过程,可以处于不同的状态。这种性质称作进程的( ) 。 A.动态性 B.并发性 C.调度性 D.异步性 在下列特性中,不是进程的特性的是( ) 。 A.异步性 B.调度性 C.操作性 D.动态性 某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后, 此时该进程的状态将( ) 。 A. 从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪

2.

3.

4.

5.

6.

7.

8.

9.

10. 一个进程被唤醒意味着( ) 。 A.该进程重新占有了 CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其 PCB 移至就绪队列的队首 11. 在单处理机系统中,处于运行状态的进程( ) 。 A.只有一个 B.可以有多个 C.不能被挂起 D.必须在执行完后才能被撤下 12. 已经获得除( )以外的所有运行所需资源的进程处于就绪状态。 A.存储器 B.打印机 C.CPU D.磁盘空间 13. 进程从运行状态变为阻塞状态的原因是( ) 。 A.输入或输出事件发生 B.时间片到 C.输入或输出事件完成 D.某个进程被唤醒 14. 为了描述进程的动态变化过程,采用了一个与进程相联系的( ) ,根据它而感知进 程的存在。 A.进程状态字 B.进程优先数 C.进程控制块 D.进程起始地址 15. 进程在系统中存在的唯一标志是( ) 。 A.所运行的程序 B.所运行的程序和数据 C.进程队列 D.进程控制块 16. 进程的动态、并发等特征是利用( )表现出来的。 A.程序 B.数据 C.程序和数据 D.进程控制块 17. 进程间的基本关系为( ) 。 A.相互独立与相互制约 B.同步与互斥 C.并行执行与资源共享 D.信息传递与信息缓冲 18. 在一段时间内,只允许一个进程访问的资源称为( ) 。 A.共享资源 B.临界区 C.临界资源 D.共享区 19. 操作系统中有一组常称为特殊系统调用的程序, 其操作具有不可分割性, 在操作系统中 称为( ) 。 A.初始化程序 B.原语 C.子程序 D.控制模块 20. 操作系统中利用信号量和 P、V 操作, ( ) 。 A.只能实现进程的互斥 B.只能实现进程的同步 C.可实现进程的互斥和同步 D.可完成进程调度 21. 如果进程 Pa 对信号量 S 执行 P 操作,则信号量 S 的值应( ) 。 A.加 1 B.减 1 C.等于 0 D.小于 0 22. 如果信号量 S 的值是 0 , 此时进程 A 执行 P(S)操作,那么,进程 A 会( ) 。 A.继续运行 B.进入阻塞态,让出 CPU C.进入就绪态,让出 CPU D.继续运行,并唤醒 S 队列头上的等待进程 23. 在操作系统中,对信号量 S 的 P 操作原语的定义中,使进程进入相应阻塞队列等待的 条件是( ) 。 A.S>0 B.S=0 C.S<0 D.S≠0

24. 信号量 S 的初值为 8,在 S 上执行了 10 次 P 操作,6 次 V 操作后,S 的值为( ) 。 A.10 B.8 C.6 D.4 25. 若 P、V 操作的信号量 S 初值为 2,当前值为 ?1,则表示有( )个等待进程。 A.0 B.l C.2 D.3 26. 在进程通信中,使用信箱方式交换信息的是( ) 。 A.低级进程通信 B.高级进程通信 C.共享内存方式 D.管道文件方式 27. 系统出现死锁的原因是( ) 。 A.计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C.若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源 D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数 28. 两个进程争夺同一个资源( ) 。 A.一定死锁 B.不一定死锁 C.不会死锁 D.以上说法都不对 二、判断题(正确的划√,错误的划 。 判断题(正确的划 ,错误的划×。 ) ) 简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。 ( 进程和程序是两个截然不同的概念。 ( ) 程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位 分配系统资源。 ( ) 4. 进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个 PCB。 ( ) 5. 进程执行的相对速度不能由进程自己来控制。 ( ) 6. 进程之间的互斥, 主要源于进程之间的资源竞争, 从而实现多个相关进程在执行次序上 的协调。 ( ) 7. 信号量机制是一种有效的实现进程同步与互斥的工具。 信号量只能由 P、 操作来改变。 V ( ) 8. V 操作是对信号量执行加 1 操作, 意味着释放一个单位资源, 如果加 1 后信号量的值小 于等于零, 则从等待队列中唤醒一个进程, 现进程变为阻塞状态, 否则现进程继续进行。 ( ) 9. 利用信号量的 P,V 操作,进程之间可以交换大量信息。 ( ) 10. 系统产生死锁的根本原因是资源有限且操作不当。 因此, 当系统提供的资源少于并发进 程的需求时,系统就产生死锁。 ( ) 三、简答题 四、应用题 请同学们解答参考教材 68 页的课后习题。参考答案: 参考答案: 参考答案 一、CCCAA BDCDB ACACD DBCBC BBCDB BCB 二、2,5,7 是正确的。 1. (×) 。进程和程序不是一一对应的。 3. (×) 。操作系统以进程为单位分配系统资源。 4. (×) 。进程控制块(PCB)是为系统中各个进程设置的私有数据结构。 1. 2. 3.

第 3 章 处理机调度 辅导与自测

3.1 本章知识点 调度是操作系统的基本功能,几乎所有的计算机资源在使用之前都要经过调度。CPU 作为计算机最主要的资源,处理机调度的目的就是分配 CPU。CPU 是操作系统中最核心的 调度, 其调度策略决定了操作系统的类型, 其调度算法优劣直接影响整个系统的性能。 所以, 调度问题是操作系统设计的一个中心问题。 本章的主要知识点为: (1)调度级别 一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和 低级调度,这是按调度层次进行分类的。其中,高级调度又称为作业调度,低级调度又称为 进程调度。 作业调度是在输入的一批作业中选择有权竞争 CPU 的作业。资源的分配策略(特别是 内存管理)对作业调度有很大影响。为了使内存中同时存放的进程数目不至于太多,有时就 需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程 调度是从就绪进程队列中选择一个进程,并把 CPU 分配给它。进程调度是这三级调度中是 必不可少的。 这三级调度中,要重点理解作业调度和进程调度形成的两级调度模型,如下图所示。

通过理解这个图,理解作业的 4 种状态:提交、后备、执行和完成,作业调度的功能, 进程调度的功能,进程调度的时机,以及这两级调度如何协调工作完成了处理机调度。 (2)常用调度算法 针对不同的系统目标,会采取不同的调度策略。确定调度策略是件复杂的工作,往往要 兼顾多种因素的影响。CPU 利用率、吞吐量、周转时间、就绪等待时间和响应时间等是通 常评价系统性能时都要考虑的几个指标。 教材中主要介绍了 3 种调度算法,分别是先来先服务法、时间片轮转法和优先级法。 先来先服务法(FCFS)是最简单的调度算法,它的实现思想就是“排队买票”的办法。 按作业(或进程)到来的先后次序进行调度,即先来的先得到执行。 时间片轮转法(RR)的设计实现思想是系统把所有就绪进程按先入先出的原则排成一 个队列。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU 上运行一个时间片的时间。当进程用完分给它的时间片后,调度程序便停止该进程的运行, 并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程。轮转法适用于分时系 统。其主要问题是时间片如何选择:时间片太长了,就成为FCFS调度;时间片太短了,频 繁调度,开销太大。 优先级调度算法的实现思想: 是从就绪队列中选出优先级最高的进程,把CPU分给它使 用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下 去, 直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占 用CPU。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列 中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。

其它常用的调度算法还有:短作业优先法、最短剩余时间优先法、多级队列法、多级 反馈队列法。 (3)中断处理 并发是现代计算机系统的重要特性,它允许多个进程同时在系统中活动。而实施并发 的基础是由硬件和软件结合而成的中断机制。 中断是现代计算机系统中的重要概念之一, 它 是指 CPU 对系统发生的某个事件做出的处理过程。按功能划分,中断一般分为 I/O 中断、 机器故障中断、外部中断、程序性中断、访管中断。 在中断响应和处理过程中,硬件对中断请求做出响应:中止当前程序的执行,保存断 点信息,转到相应的处理程序。软件对中断进行相应的处理:保存现场,分析原因,处理中 断,中断返回。各中断处理程序是操作系统的重要组成部分。对中断的处理是在核心态下进 行的。 Linux系统提供给用户的最重要的系统程序是shell命令语言解释程序。其基本功能是解 释并执行用户输入的各种命令,实现用户与Linux核心的接口。shell解释程序的工作过程基 本上是读入命令行、分析命令行和构成命令树,创建子进程来执行命令树等步骤。 (4)Linux系统的进程调度 Linux系统的进程调度机制主要涉及调度方式、调度策略、调度时机和调度算法。Linux 系统对进程采用两级调度:中级调度(对换进程,解决内存分配)和低级调度(解决CPU 分配) 。进程调度基本上采用抢占式优先级算法。而针对不同类型的进程又采用相应的调度 策略。 本章还介绍了Linux系统中常用的调度命令,如nohup、at、batch、jobs、fg、bg。 3.2 典型例题解析 【例 1】为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合 】 理搭配,这项工作是由( )完成的。 A.作业调度 B.中级调度 C.进程调度 D.内存调度 答案 A 分析 首先,要了解操作系统处理机调度的级别,即作业从进入系统到最后完成,至少 要经历两级调度:高级调度和低级调度。为了使内存中同时存放的进程数目不至于太多,有 时需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。 各个级别调度的含义,所解决的问题,即功能是什么。只有清晰地掌握了这些基本概 念,才能做好选择。本题说的是作业的合理搭配以达到系统资源的均衡利用,显然是作业调 度的工作。 而中级调度解决的是内存分配问题, 进程调度解决的是哪一个就绪进程占有 CPU 的问题。因此答案选 A。 )状态的队列中选取适当的作业调入主存运行。 【例 2】作业调度程序从处于( 】 A.执行 B.提交 C.完成 D.后备 答案 D 分析 解答此题需要了解作业的状态以及转换。一个作业从进入系统到运行结束要经历 四种状态:提交状态、后备状态、执行状态和完成状态。 (1)提交状态:用户的一个作业提交给系统时所处的状态,如用户通过键盘向机器输 入作业。处于提交状态的作业,其信息正在进入系统。 (2)后备状态:用户作业经输入设备(如读卡机)输入进外存(磁盘)中存放,等待 进入内存时所处的状态。此时,系统将为该作业建立一个作业控制块 JCB,并把作业插入到 后备作业队列中等待调度运行。

(3)执行状态:作业调度程序按照一定的作业调度算法从后备作业队列中选中一个作 业, 为它分配必要的资源, 建立一组相应的进程后, 这个作业就由后备状态转变为执行状态。 需要指出的是, 处于执行状态的作业在系统中并不一定真正占有处理机, 作业能否真正在处 理机上运行由进程调度来控制。 (4)完成状态:作业完成了处理任务,输出结果形成报告,系统将作业控制块 JCB 从 当前作业队列中删除,并回收分配给作业的全部资源,准备退出系统时的作业状态。 四种作业状态的转换见下图:
进程调度 运行

提交

后备 就绪 阻塞

完成

作业调度

作业调度

参考上图,有这样一个判断题:作业调度程序选中一个作业后,与该作业相关的进程即 占有 CPU 运行。 答案是错误的,因为执行状态的作业能否真正在 CPU 上运行由进程调度来控制,这时 候的进程至少有三种基本状态,不能保证一定是占有 CPU 的运行状态。 ) 。 【例 3】在批处理系统中,周转时间是( 】 A.作业运行时间 B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入主存到运行完毕的时间 答案 B 分析 作业的周转时间=作业完成时间-作业提交时间。周转时间是用于作业等待进入 内存、进程在就绪队列中等待、进程在 CPU 上运行和完成 I/O 操作所花费时间的总和。因 此,周转时间是作业等待时间和运行时间之和。 答案 D 是不对的,因为作业提交后进入作业后备状态,此时作业是在外存,这个时间 也要计入作业的周转时间。 【例 4】在作业调度中,若采用优先级调度算法,为了尽可能使 CPU 和外部设备并行工作, 】 有如下三个作业:J1 以计算为主,J2 以输入输出为主,J3 计算和输入输出兼顾,则它们的 优先级从高到低的排列顺序是( ) 。 A.J1,J2,J3 B.J2,J3,J1 C.J3,J2,J1 D.J2,J1,J3 答案 C 分析 本试题将作业分为:I/O 繁忙的作业、CPU 繁忙的作业、I/O 与 CPU 均衡的作业 三种类型,由系统或操作员根据作业类型指定优先级。 为了尽可能使 CPU 和外部设备并行工作,那么 I/O 繁忙的作业和 CPU 繁忙的作业都不 能指定为最高的优先级,因为这两类作业都无法均衡地使用资源(CPU 或者 I/O 设备) 。对 于这两类作业,应指定 I/O 繁忙的作业优先级高于 CPU 繁忙的作业,这样做可以提高 CPU

的利用率,增加系统的吞吐量。 因此,这三类作业优先级从高到低的排列顺序是:I/O 与 CPU 均衡的作业、I/O 繁忙的 作业、CPU 繁忙的作业。 【例 5】下表给出作业 l,2,3 的提交时间和运行时间。采用先来先服务调度算法和短作业 】 优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制 进行计算。 )
作业号 1 2 3 提交时间 0.0 0.4 1.0 运行时间 8.0 4.0 1.0

分析 解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时 间图来表示作业的执行情况,帮助我们理解此题。 采用先来先服务调度策略,其作业执行时间图如下:
作业 作业 3 作业 2 作业 1 时间

0 0.4 1.0 作业提交时间

8.0

12.0 13.0

各作业陆续完成时间

采用短作业优先调度策略,其作业执行时间图如下:
作业 作业 3 作业 2 作业 1 时间

0 0.4 1.0 作业提交时间

8.0

9.0

13.0

各作业陆续完成时间

另外,作业 i 的周转时间 Ti=作业完成时间-作业提交时间 系统中 n 个作业的平均周转时间 T = (

∑ T ) × n ,其中 Ti 为作业 i 的周转时间。
i =1 i

n

1

解:采用先来先服务调度策略,则调度次序为 l、2、3。
作业号 1 2 3 提交时间 0.0 0.4 1.0 运行时间 8.0 4.0 1.0 开始时间 0.0 8.0 12.0 完成时间 8.0 12.0 13.0 周转时间 8.0 11.6 12.0

平均周转时间 T=(8+11.6+12)/3=10.53 采用短作业优先调度策略,则调度次序为 l、3、2。
作业号 1 提交时间 0.0 运行时间 8.0 开始时间 0.0 完成时间 8.0 周转时间 8.0

3 2

1.0 0.4

1.0 4.0

8.0 9.0

9.0 13.0

8.0 12.6

平均周转时间 T=(8+8+12.6)/3=9.53 【例6】今有三个批处理作业。第一个作业10:00到达,需要执行2小时;第二个作业在10:10 】 到达,需要执行1小时;第三个作业在10:25到达,需要执行25分钟。分别采取如下两种作业 调度算法: 调度算法 1:
作业号 1 2 3 到达时间 10:00 10:10 10:25 开始执行时间 10:00 12:00 13:00 执行结束时间 12:00 13:00 13:25

调度算法 2:
作业号 1 2 3 到达时间 10:00 10:10 10:25 开始执行时间 11:50 10:50 10:25 执行结束时间 13:50 11:50 10;50

(1)计算各调度算法下的作业平均周转时间。 (2)调度算法 1 是什么作业调度算法? 分析 作业的周转时间=作业完成时间-作业提交时间。 以调度算法 1 的作业 2 为例, 其周转时间=作业完成时间 13:00-作业提交时间 10:10, 得到结果为 2 小时 50 分钟,转换为小时为 2.83 小时。转换的目的是为了方便计算平均周转 时间。 (1)采用调度算法 1 时: 解: 作业 1 的周转时间为 2 小时;作业 2 的周转时间为 2.83 小时;作业 3 的周转时间为 3 小时;平均周转时间为: (2+2.83+3)/3=2.61 小时。 采用调度算法 2 时: 作业 1 的周转时间为 3.83 小时;作业 2 的周转时间为 1.67 小时;作业 3 的周转时间为 0.42 小时;平均周转时间为: (3.83+l.67+0.42)/3=l.97 小时。 (2)调度算法 1 是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。 【例 7】一个进程在执行过程中可以被中断事件打断,当相应的中断处理完成后,就一定恢 】 复该进程被中断时的现场,使它继续执行。 ( ) 答案 (×) 它使 CPU 暂停正在执行 分析 中断是指 CPU 对系统发生的某个事件做出的一种反应, 的程序, 保留现场后自动执行相应的处理程序, 处理该事件后, 如被中断进程的优先级最高, 则返回断点继续执行被“打断”的程序。 本题开头的叙述是正确的,即“一个进程在执行过程中可以被中断事件打断” ,但是后 面说“一定恢复该进程被中断时的现场” ,以及“继续执行”就不正确了,因此,系统中进 程的并发执行情况非常复杂,中断后的进程能否继续执行,要看那时的具体情况,可能会继 续执行,也可能处于就绪队列中无法立即继续执行。 【例 8】在 UNIX/Linux 系统中,执行到 trap 指令时,CPU 的状态就从核心态变为用户态。 】 ) (

答案 (×) (特别是其内核部分) 进行保护, 防止受到用户程序的损坏, 分析 为了对操作系统程序 系统提供了不同的处理机执行状态, 通常分为核心态和用户态两种。 当操作系统程序执行时, 处理机处于核心态,它有较高的特权,可以执行一切指令(包括一般用户程序中不能使用的 特权指令) 。用户程序在用户态下执行。它的权限较低,只能执行指令集中的非特权指令。 用户程序要想得到操作系统的服务,必须使用系统调用。 在 UNIX/Linux 系统中,系统调用像 C 语言的普通函数调用那样出现在程序中。但是, 一般的函数调用序列并不能把进程的运行模式从用户态变为核心态, 而系统调用却可以做到 这一点,即从用户空间转入系统空间。 trap 指令是实现系统调用的汇编代码,trap 指令有这样一种性质:当 CPU 执行到 trap 指令时,CPU 的状态就从用户态变为核心态。本题正好说反了,因此是错误的。 )的模块。 【例 9】UNIX/Linux 系统中的 shell 是负责( 】 A.解释并执行来自终端的命令 B.解释并执行来自终端的内部命令 C.解释并执行来自终端的外部命令 D.进行系统调用 答案 A 分析 shell 命令语言解释程序是 UNIX/Linux 系统提供给用户的最重要的系统程序。它 不属于内核部分, 而是在核心之外以用户态方式运行。 其基本功能是解释并执行用户输入的 各种命令,实现用户与 Linux 核心的接口。 shell 命令分为内部命令和外部命令两种,内部命令是最简单最常用的命令,在 shell 启 动时进入内存,Linux 外部命令是一个独立的可执行程序。 3.3 练习题

一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 2. 作业生存期共经历 4 个状态,它们是提交、后备、 ( )和完成。 A.等待 B.就绪 C.开始 D.执行 作业调度是( ) 。 A.从输入井中选取作业进入主存 B.从读卡机选取作业进入输入井 C.从主存中选取作业进程占有 CPU D.从等待设备的队列中选取一个作业进程 在操作系统中,JCB 是指( ) 。 A.文件控制块 B.进程控制块 C.作业控制块 D.程序控制块 作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( )来决定。 A.设备管理 B.作业控制 C.进程调度 D.驱动调度 进程调度根据一定的调度算法,从( )队列中挑选出合适的进程。 A.阻塞 B.就绪 C.运行 D.等待 在操作系统中,作业处于( )时,已处于进程的管理之下。 A.后备状态 B.阻塞状态 C.执行状态 D.完成状态

3.

4.

5. 6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

作业调度的关键在于( ) 。 A.选择恰当的进程管理程序 B.选择恰当的作业调度算法 C.用户作业准备充分 D.有一个较好的操作环境 从系统的角度出发,希望批处理控制方式下进入输入井的作业( )尽可能小。 A.等待装入主存时间 B.周转时间 C.执行时间 D.平均周转时间 设某作业进入输入井的时间为 S,开始运行的时间为 R,得到计算结果的时间为 E,则 该作业的周转时间 T 为( ) 。 A.T=E-S B.T=E-(S+R) C.T=(S+R)+ E D.T=E-R 现有 3 个作业同时到达,每个作业的计算时间都是 1 小时,它们在一台 CPU 上按单道 方式运行,则平均周转时间为( ) 。 A.1 小时 B.2 小时 C.3 小时 D.6 小时 按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指 ( )调度算法。 A.先来先服务法 B.短作业优先法 C.时间片轮转法 D.优先级法 为了使计算机在运行过程中能及时处理内部和外部发生的各种突发性事件, 现代操作系 统采用了( )机制。 A.查询 B.中断 C.调度 D.进程 在操作系统中,引起中断的事件称为( ) 。 A.中断源 B.中断请求 C.断点 D.系统调用 当硬件中断装置发现有事件发生,就会中断正在占用 CPU 的程序执行,让操作系统的 ( )占用 CPU。 A.系统调用程序 B.中断处理程序 C.作业管理程序 D.文件管理程序 下列中断类型中,属于自愿性中断事件的是( ) 。 A.硬件故障中断 B.程序中断 C.访管中断 D.外部中断 下列中断中,可能要人工介入的中断是( ) 。 A.程序中断 B.时钟中断 C.输入输出中断 D.硬件故障中断 系统调用的目的是( ) 。 A.请求系统服务 B.终止系统服务 C.申请系统资源 D.释放系统资源 用户要在程序一级获得系统帮助,必须通过( ) 。 A.进程调度 B.作业调度 C.键盘命令 D.系统调用 系统调用是由操作系统提供的内部调用,它( ) 。 A.直接通过键盘交互方式使用 B.只能通过用户程序间接使用 C.是命令接口中的命令 D.与系统的命令一样 CPU 状态分为核心态和用户态,从用户态转换到核心态的途径是( )。

A.运行进程修改程序状态字 C.系统调用 的划×。 二、判断题(正确的划√,错误的划 。 判断题 正确的划 , )

B.中断屏蔽 D.进程调度程序

处理机调度可分为三级: 高级、 中级和低级。 在所有的系统中, 都必须具备这三级调度。 ( ) 2. 作业调度选中一个作业后,与该作业相关的进程即占有 CPU 运行。 ( ) 3. 吞吐量是指单位时间内 CPU 完成作业的数量。 ( ) 4. 确定作业调度算法时应主要系统资源的均衡使用,使 I/O 繁忙作业和 CPU 繁忙作业搭 配运行。 ( ) 5. 平均周转时间和周转时间与选用的调度算法有关。 ( ) 6. 通常,为了提高效率,赋予需要大量计算的作业较高优先级,赋予需要大量输入/输出 的作业较低的优先级。 ( ) 7. 优先级作业调度算法是指为系统中的每一个作业确定一个优先级, 进行作业调度时总是 优先选择优先级高的作业进入主存运行。 ( ) 8. 计算机对中断的处理是在用户态下进行的。 ( ) 9. 中断处理一般分为中断响应和中断处理两个步骤,前者由软件实施,后者由硬件实施。 ) ( 10. 系统调用的调用过程是通过用户程序, 运行在用户态, 而被调用的过程是运行在核心态 下。 ( ) 1. 三、简答题 四、应用题 请同学们解答参考教材 104 页的课后习题。 参考答案: 参考答案: 一、DACCB CBDAB ABABC DADBC 二、3,4,5,7,10 是正确的。 1. (×) 。处理机的三级调度中只有进程调度是必不可少的。 2. (×) 。作业调度选中的作业能否占有 CPU 由进程调度决定,不一定即可执行。 6. (×) 。正好说反了,应赋予需要大量计算的作业较低优先级,赋予需要大量输入/输出的 作业较高的优先级。 8. (×) 。计算机对中断的处理是在核心态下进行的。 9. (×) 。中断响应由硬件实施,中断处理由软件实施。 三和四、见本章教材习题解答。

第 4 章 存储管理 辅导与自测
4.1 本章知识点 存储器是计算机系统中的关键资源,对内存如何处理在很大程度上将影响整个系统的 性能。存储管理即对内存的管理,存储管理目前仍是人们研究操作系统的中心问题之一,以

至操作系统的命名也往往取决于存储管理的策略。 本章的主要知识点为: (1)本章的重要概念 本章涉及到的概念比较多,主要有:内存、外存、逻辑地址/相对地址、物理地址/绝对 地址、逻辑地址空间/地址空间、内存空间/物理空间/绝对空间、重定位、静态重定位、动态 重定位、对换技术、碎片、紧缩、虚拟存储器、页面抖动。 存储器作为计算机系统中最主要的组成部分,按照速度、容量和成本划分一个层次结 构,分别是寄存器、高速缓存、内存、磁盘和磁带。用户程序必须装入到内存才能运行。进 程的地址空间不同于内存的物理空间。经过重定位可以把逻辑地址转变为内存的物理地址。 重定位分为静态和动态两种方式,现在的计算机系统中都采用动态重定位方法。 对换技术可以利用外存来解决内存不足的问题。现在 Linux 系统中还采用这种技术。 (2)分区管理技术 分区分配是为支持多道程序运行而设计的一种最简单的存储管理方式,可分为固定分 区法和动态分区法。 固定分区就是内存中分区的个数固定不变, 各个分区的大小也固定不变, 但不同分区的大小可以不同。 每个分区只可装入一个进程。 动态分区是在进程要进入内存时 才建立的,使其大小恰好适应进程的大小。动态分区法常用的分配策略有两种:最先适应算 法(First-fit)和最佳适应算法(Best-fit) ,前者空闲表按位置排列,后者空闲表以空闲分区 的大小为序。 具有固定大小分配单元的系统,如 MFT(具有固定任务数的多道程序设计)或分页系 统,会产生内部碎片;而具有可变大小分配单元的系统,如 MVT(具有可变任务数的多道 程序设计) ,会出现外部碎片。 为了有效解决碎片问题,实现的方法是移动某些已分配区的内容,使所有进程的分区 紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩。采用紧缩技术的分区方法称为可 重定位分区法。动态重定位由硬件实现,包括基址寄存器和限长寄存器,对 CPU 生成的所 有地址进行合法性检查,并映像到物理地址。 (3)分页技术 除了用紧缩技术解决碎片问题,还可以使用分页技术,即允许程序的存储空间不一定 连续,可以把一个进程分散地放在各个空闲的内存块中。 分页存储管理的基本方法是:逻辑空间分页,内存空间分块,块与页的大小相等。页 连续而块离散,用页号查页表,由硬件作转换。 分页存储管理可以实现页面的共享,但是这样做并不实际,因为逻辑上相对完整的内 容不见得存在于一个或几个完整的页面中(段式存储管理更便于共享)。此外,还可以在页 表中设置存取控制字段,进行页面保护,禁止非法访问。 (4)虚拟存储管理 虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物 理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 虚拟存储技术允许把大的逻辑地址空间映射到较小的物理内存上,这样就提高了多道 程序并发执行的程度,增加了 CPU 的利用率。虚拟存储器的特性包括:虚拟扩充、部分装 入、离散分配和多次对换等。 使用虚拟存储技术的页式管理为请求分页式存储管理。它是根据实际程序执行的顺序, 动态申请存储块。 并不是把所有页面都放入内存。 对一个程序的第一次访问将产生缺页中断, 转入操作系统进行相应处理。 操作系统依据页表确定页面在外存上的位置, 然后找一个空闲 块,把该页面从外存上读到内存块中。同时,修改页表有关项目,以反映这种变化,产生缺 页中断的那条指令被重新启动执行。 这种方式允许一个程序即使它的整个存储映像并没有同

时在内存中,也能正确运行。只要缺页率足够低,其性能还是很好的。 请求分页可用来减少分配给一个进程的块数,这就允许更多进程同时执行,而且允许 程序所需内存量超出可用内存总量。 (5)常用页面置换算法 当总内存的需求量超出实际内存量时,为释放内存块给新的页面,需要进行页面置换。 有各种页面置换算法可供使用。先进先出法(FIFO)是最容易实现的,但性能不是很好。 最佳置换法(OPT)需要未来知识,仅有理论价值。最近最少使用置换法(LRU)是 OPT 的近似算法,但实现时要有硬件的支持和软件开销。最近未使用置换法(NUR)是 LRU 的 近似算法。 置换算法的好坏直接影响系统的性能。好的页面置换算法能够适当降低页面更换频率 (减少缺页率),尽量避免系统“抖动”。 (6)Linux 系统的存储管理技术 Linux 采用对换和请求分页存储管理技术,页面置换采用 LRU 算法。对换任务是由内 核的对换守护进程 kswapd 完成,以保证系统中有足够的空闲内存页。Linux 系统采用三级 页表的方式,以节省内存资源。采用位图和链表两种方法来管理内存页。 4.2 典型例题解析 ). 【例 1】在目标程序装入内存时,一次性完成地址修改的方式是( 】 A.静态重定位 B.动态重定位 C.静态连接 D.动态连接 答案 A 分析 回答这道题需要清楚静态重定位和动态重定位的不同。 静态重定位是在目标程序装入内存时, 由装入程序对目标程序中的指令和数据的地址进 行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序来说,这种地址变换只是 在装入时一次完成,在程序运行期间不再进行重定位。按照静态重定位方式,一个程序A装 入内存时的情况就变成图4.1所示的样子。 从图中可以看出,经过静态重定位,原100号单元中的指令放到内存5100号单元,该指 令中的相对地址500相应变成5500。以后程序A执行时,CPU是从绝对地址5500号单元中取 出数据12345,装入到寄存器A中。 静态重定位的优点是无须增加硬件地址转换机构,便于实现程序的静态连接。在早期 计算机系统中大多采用这种方案。它的主要缺点是程序的存储空间只能是连续的一片区域, 而且在重定位之后就不能再移动, 这不利于内存空间的有效使用; 另外各个用户进程很难共 享内存中的同一程序的副本。

0 100

0 … LOAD A 500 … … … 5100 LOAD A 5500 … 5500 12345 … … 5700 … 程序 A 的内存空间 5000

500 12345 … 700 700 … 程序 A 的地址空间

动态重定位是在程序执行期间每次访问内存之前进行重定位。 这种变换是靠硬件地址变 换机构实现的。 通常采用一个重定位寄存器, 其中放有当前正在执行的程序在内存空间中的 起始地址,而地址空间中的代码在装入过程中不发生变化。动态重定位的过程如图4.2所示。 这时,操作对象的绝对地址就是重定位寄存器中的内容+操作对象的相对地址。
重定位寄存器 … 0 100 … LOAD A 500 … 500 12345 … 700 700 … 程序 A 的地址空间 程序 A 的内存空间 图 4.2 动态重定位示意图 相对地址 500 5000 … 5100 LOAD A 500 … 12345 … … 5700 … 5500 0 5000



动态重定位的主要优点是程序占用的内存空间动态可变,也不必连续存放在一处;比 较容易实现几个进程对同一程序副本的共享使用。 它的主要缺点是需要附加的硬件支持, 增 加了机器成本,而且实现存储管理的软件算法比较复杂。 与静态重定位相比,动态重定位的优点突出。所以现在一般计算机系统中都采用动态 重定位方法。 ) 。 【例 2】动态分区分配按进程的需求量分配内存分区,所以( 】 A.分区的长度是固定的 B.分区的个数是确定的 C.分区的长度和个数都是确定的 D.分区的长度不是预先固定的,分区的个数是不确定的 答案 D 分析 分区法分为固定分区和动态分区。其中,固定分区内存中分区的个数固定不变, 各个分区的大小也固定不变,但不同分区的大小可以不同。动态分区在最初时,除了操作系 统占用的分区外,全部内存对用户进程都是可用的。分区是在进程要进入内存时才建立的, 按照进程的需求量划分内存分区,根本无法预测分区的长度和个数。本题的选项 A、B、C 是针对固定分区而言的,只有选项 D 是描述动态分区的。 【例 3】考虑一个由 8 个页面,每页有 1024 个字节组成的逻辑空间,把它装入到有 32 个物 】 理块的存储器中,问: (1)逻辑地址需要多少二进制位表示?

(2)物理地址需要多少二进制位表示? 3 10 解 因为页面数为 8=2 ,故需要 3 位二进制数表示。每页有 1024 个字节,1024=2 ,于 是页内地址需要 10 位二进制数表示。32 个物理块,需要 5 位二进制数表示(32=25) 。 (1)页的逻辑地址由页号和页内地址组成,所以需要 3+10=13 位二进制数表示。 (2)页的物理地址由块号和页内地址的拼接,所以需要 5+10=15 位二进制数表示。 分析 在分页存储管理中,逻辑地址结构如下图所示。
页号 p 页内地址 d

它由两个部分组成: 前一部分表示该地址所在页面的页号 p; 后一部分表示页内地址 (页 内位移)d。页号的地址位数决定了页的多少,假设页号有 20 位,则地址空间中最多可容纳 的页面数为 220,即 1MB 个页面。页内地址位数确定了每页的大小,若页内地址为 12 位, 则每页大小为 212,即 2KB。 同理,物理地址中块号的地址位数决定了块的多少,由于页式存储管理内存空间块的 大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。 【例 4】若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为 1024 字节, 】 试将逻辑地址 1011,2148,4000,5012 转化为相应的物理地址。
页号 0 1 2 3 块号 2 3 1 6

解 本题中,为了描述方便,设页号为 p,页内位移为 d,则: (1)对于逻辑地址 1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查页表 第 0 页在第 2 块,所以物理地址为 1024×2+1011=3059。 (2)对于逻辑地址 2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查页表 第 2 页在第 1 块,所以物理地址为 1024+100=1124。 (3)对于逻辑地址 4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查页表 第 3 页在第 6 块,所以物理地址为 1024×6+928=7072。 (4)对于逻辑地址 5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因页号 超过页表长度,该逻辑地址非法。 分析 页式存储管理的地址结构是一维的,即逻辑地址/物理地址只用一个数值即可表 示。若给定的逻辑地址 A,页面的大小为 L,则页号 p 和页内地址 d 可按照下式求得: p=int (A/L) d=A mod L 其中,int 是取整函数(取值的整数部分) ,mod 是取余函数(取值的余数部分) 。 图 4.3 显示了页式管理系统的地址转换机构。

逻辑地址 CPU p d 页表 0 p … p … … f … f d

物理地址





图 4.3 页式存储管理中的地址转换机构

页表的作用是实现从页号到物理块号的地址映射。 以逻辑地址的页号检索页表, 得到该 页的物理块号;同时将页内地址 d 直接送入物理地址寄存器的块内地址字段中。这样,物理 块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。 【例 5】判断:虚拟存储器实际上是一种设计技巧,使主存物理容量得到扩大。 】 答案 错误。 分析 根据程序执行时的互斥性和局部性两个特点,可以只将作业的一部分装入主存, 其余的部分放在辅存(如磁盘等)上,当需要的时候,再从辅存调入主存,这样用户编制程 序时可以不必考虑主存的实际容量, 允许用户的逻辑地址空间大于主存的绝对地址空间, 对 用户来说,好像计算机具有一个容量很大的主存,这就是“虚拟存储器”。 虚拟存储器实际上是为扩大主存容量而采用的一种设计技巧。它与实际的主存物理容 量无关,而是大小比主存大得多的假想空间,使用户感觉到所能使用的“主存空间”非常大。 ) 。 【例 6】与虚拟存储技术不能配合使用的是( 】 A.分区管理 B.页式存储管理 C.段式存储管理 D.段页式存储管理 答案 A 分析 采用页式、段式、段页式管理可以实现虚拟存储器,但对固定分区、可变分区方 式都不能实现虚拟存储器。 我们知道实现虚拟存储技术的物质基础是二级存储结构(主存与辅存)和动态的地址 转换机构(动态重定位) 。固定分区方式没有硬件地址转换机构。 可变分区方式管理主存也不能实现虚拟存储。因为在这种管理方式下,每次必须将作 业完整地调入主存,并要求连续存放,这不符合虚拟存储器的基本原理;另外,虽然可变分 区方式有硬件地址转换机构,但它把绝对地址超出限定范围按出错处理,而不是产生“缺分 区中断”。 虚拟存储器的特征可以归结为以下 16 个字:虚拟扩充(并非真正扩充了主存容量) 、 部分装入(每个作业不是全部一次性地装入内存,而是分成若干部分) 、离散分配(装入内 存的作业部分不必占有连续的内存空间,而是“见缝插针”) 、多次对换(作业运行时,程序 和数据多次在主存和辅存之间对换) 。 【例 7】考虑下述页面走向: 】 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为 3 时,试问 FIFO、LRU、OPT 这三种置换算法的缺页次数各是多少? 解 使用 FIFO 算法,缺页次数是 16;使用 LRU 算法,缺页次数是 15;使用 OPT 算法, 缺页次数是 11。 分析 所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。 当内存块数量为 3 时: FIFO 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 块1 1 1 1 4 4 4 6 6 6 3 3 3 2 2 2 6 块2 2 2 2 1 1 1 2 2 2 7 7 7 1 1 1 块3 3 3 3 5 5 5 1 1 1 6 6 6 3 3 缺页 × × × × × × × × × × × × × × × ×

因此,FIFO 算法发生缺页中断的次数为 16。 在 FIFO 算法中,先进入内存的页面被先换出。例如,当页 6 要调入时,内存的状态为 4、1、5,考查页 6 之前调入的页面,分别为 5、1、2、4、…,可见 4 为最先进入内存的, 本次应换出,然后把页 6 调入内存。 LRU 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 块1 1 1 1 4 4 5 5 5 1 1 7 7 2 2 2 块2 2 2 2 2 2 6 6 6 3 3 3 3 3 3 块3 3 3 1 1 1 2 2 2 2 6 6 1 6 缺页 × × × × × × × × × × × × × × × 因此,LRU 算法发生缺页中断的次数为 15。 在 LRU 算法中,最近最少使用的页面被先换出。例如,当页 6 要调入时,内存的状态 为 5、2、1,考查页 6 之前调入的页面,分别为 5、1、2、…,可见 2 为最近一段时间内使 用最少的,本次应换出,然后把页 6 调入内存。 OPT 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 块1 1 1 1 1 1 1 3 3 3 3 6 块2 2 2 2 2 2 2 7 2 2 2 块3 3 4 5 6 6 6 6 1 1 缺页 × × × × × × × × × × × 因此,OPT 算法发生缺页中断的次数为 11。 在 OPT 算法中,在最远的将来才被访问的页面被先换出。例如,当页 6 要调入时,内 存的状态为 1、2、5,考查页 6 后面要调入的页面,分别为 2、1、2、…,可见 5 为最近一 段时间内使用最少的,本次应换出,然后把页 6 调入内存。 4.3 练习题

一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 通常,用户编写的程序中所使用的地址是( ) 。 A.逻辑地址 B.物理地址 C.绝对地址 D.内存地址 可由 CPU 调用执行的程序所对应的地址空间为( ) 。 A.符号名空间 B.虚拟地址空间 C.物理空间 D.逻辑地址空间 把逻辑地址转变为内存物理地址的过程称作( ) 。 A.编译 B.连接 C.运行 D.重定位 经过( ) ,目标程序可以不经过任何改动而装入物理内存单元。 A.静态重定位 B.动态重定位 C.编译或汇编 D.存储扩充 动态重定位是在程序( )期间,每次访问内存之前教学重定位。 A.执行 B.编译 C.装入 D.修改 在分时系统中, 可将进程不需要或暂时不需要的部分移到外存, 让出内存空间以调入其 他所需数据,称为( ) 。 A.覆盖技术 B.对换技术 C.虚拟技术 D.物理扩充

2.

3. 4.

5. 6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16. 17.

18.

19.

分区管理中进行分区的是主存的( ) 。 A.系统区域 B.用户区域 C.程序区域 D.整个区域 分区管理要求对每一个作业都分配( )的内存单元。 A.地址连续 B.若干地址不连续 C.若干连续的页面 D.若干不连续的页面 固定分区中各分区的大小是( ) 。 A.相同的 B.相同或者不同,但预先固定 C.根据进程要求确定 D.随进程个数而定 动态分区管理方式下,分配作业的主存空间根据( ) 。 A. 一张分区说明表 B. 一张分区说明表和一张空闲分区表 C. 一张“位示图”构成的分区说明表 D. 由系统自定 在存储管理中,为实现地址映射,硬件应提供两个寄存器,一个是基址寄存器。另一个 是( ) 。 A.控制寄存器 B.程序状态字寄存器 C.限长寄存器 D.通用寄存器 可重定位分区存储管理采用的地址转换公式是( ) 。 A. 绝对地址=界限寄存器值+逻辑地址 B. 绝对地址=下限寄存器值+逻辑地址 C. 绝对地址=基址寄存器值+逻辑地址 D. 绝对地址=块号×块长+页内地址 最先适应分配算法把空闲区( ) A. 按地址顺序从小到大登记在空闲区表中 B. 按地址顺序从大到小登记在空闲区表中 C. 按长度以递增顺序登记在空闲区表中 D. 按长度以递减顺序登记在空闲区表中 最容易形成很多小碎片的可变分区算法是( ) 。 A.最先适应算法 B.最佳适应算法 C.位示图法 D.以上都不是 下列存储管理方案中,不采用动态重定位的是( ) 。 A.页式管理 B.可变分区 C.固定分区 D.段式管理 在分页存储管理系统中,从页号到物理块号的地址映射是通过( )实现的。 A.段表 B.页表 C.PCB D.JCB 在页式存储管理系统中,整个系统的页表个数是( )个。 A.1 个 B.2 个 C.与页面数相同 D.和装入主存的进程个数相同 虚拟存储技术是( ) 。 A.扩充内存空间的技术 B.扩充相对地址空间的技术 C.扩充外存空间的技术 D.扩充输入输出缓冲区的技术 虚拟存储器的容量是由计算机的地址结构决定的, CPU 有 32 位地址,则它的虚拟地 若 址空间为( ) 。

20.

21.

22.

23.

A.100K B.640K C.2G D.4G 在请求分页虚拟存储管理中,若所需页面不在内存中,则会引起( ) 。 A.输入输出中断 B.时钟中断 C.越界中断 D.缺页中断 下列存储管理方案中, 不要求将进程全部调入并且也不要求连续存储空间的是 ( A.固定分区 B.可变分区 C.页式存储管理 D.请求分页式存储管理 存储管理中,页面抖动是指( ) 。 A. 使用机器时,屏幕闪烁的现象 B. 被调出的页面又立刻被调入所形成的频繁调入调出现象 C. 系统盘有问题,致使系统不稳定的现象 D. 由于主存分配不当,偶然造成主存不够的现象 在页式虚拟存储管理系统中,LRU 算法是指( ) 。 A. 最早进入内存的页先淘汰 B. 近期最长时间以来没被访问的页先淘汰 C. 近期被访问次数最少的页先淘汰 D. 以后再也不用的也先淘汰

) 。

二、判断题(正确的划√,错误的划 。 判断题(正确的划 ,错误的划×。 ) 在现代操作系统中,不允许用户干预内存的分配。 ( ) CPU 可以直接访问外存(如磁盘)上的数据。 ( ) 固定分区存储管理的各分区的大小不可变化, 这种管理方式不适合多道程序设 计系统。 ( ) 4. 可重定位分区存储管理可以对作业分配不连续的内存单元。 ( ) 5. 采用动态重定位技术的系统,目标程序可以不经任何改动,而装入物理内存。 ( ) 6. 动态存储分配时,要靠硬件地址变换机构实现重定位。 ( ) 7. 在页式存储管理方案中, 为了提高内存的利用效率, 允许同时使用不同大小的 页面。 ( ) 8. 虚拟存储器是利用操作系统产生的一个假想的特大存储器, 是逻辑上扩充了内 存容量,而物理内存的容量并未增加。 ( ) 9. 虚拟存储方式下, 程序员编制程序时不必考虑主存的容量, 但系统的吞吐量在 很大程度上依赖于主存储器的容量。 ( ) 10. 虚拟存储空间实际上就是辅存空间。 ( ) 11. 在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。因此,用户地址 空间的大小可以不受任何限制。 ( ) 12. 页式存储管理系统不利于页面的共享和保护。 ( ) 1. 2. 3. 三、简答题 四、应用题 请同学们解答参考教材 137 页的课后习题。 参考答案: 参考答案: 一、ACDBA BBABB CCABC BDBDD DBB 二、1,5,6,8,9,12 是正确的。

2. (×) 。CPU 不能直接访问外存上的数据,需要放入内存后才可以存取。 3. (×) 。固定分区管理方式支持多道程序设计。 4. (×) 。分区存储管理要求对作业分配连续的内存单元。 7. (×) 。页式存储管理中使用的页面均大小相同。 10. (×) 。虚拟存储空间不是一个实际存在的存储空间,是操作系统对逻辑内存的扩充。 11. (×) 。虚拟存储器的容量不是无限大的,它受到指令的地址字长和外存容量的限制。 三和四、见本章教材习题解答

第5章
5.1 本章知识点 操作系统管理的资源有硬资源和软资源, 软资源的一个重要方面指的是文件。 我们的程 序和数据等都要以文件的形式存放在系统中,所以文件系统与用户的关系也最为密切。 操作系统通过管理多种存储设备来执行抽象的文件概念。 由于计算机系统需要处理的信 息量太大,不可能把所有的信息全部保存到内存中,而往往将其中的绝大部分保存在外存, 通常是保存在磁盘中,只有那些相对稳定(即不经常使用与修改)的信息才保存在磁带中。 然而,在多用户系统中,既要保证各用户的信息存放位置不冲突,又要防止任一用户大量占 用外存空间而不使用; 既要保证用户的信息不被非法窃取或破坏, 又要允许在许可的情况下 多个用户共享。显然,这一切都是单个用户无法胜任的,需要有一个公共的管理机构来负责 统一使用外存空间,管理外存空间的信息,这就引入了文件系统。 本章的主要知识点为: (1)文件分类 文件是被命名的数据的集合体, 是由操作系统定义和实施管理的抽象数据类型。 可以从 不同的角度来划分文件的类型: 按用途分为:系统文件、库文件、用户文件; 按文件中的数据形式分为:源文件、目标文件、可执行文件; 按存取权限分为:只读文件、读写文件、可执行文件; 按保存时间分为:临时文件、永久文件; 在 UNIX/Linux 和 MS-DOS 系统中,文件分为普通文件、目录文件和特殊文件。而普通 文件又分为 ASCII 文件和二进制文件两种。 不同的文件系统对文件的命名规则是不同的,通常由文件名和扩展名(即后缀)组成。 一般利用扩展名可区分文件的属性。 (2)文件系统的功能

文件系统是操作系统中负责操纵和管理文件的一整套机制,它实现文件的共享和保护, 方便用户“按名存取”。文件系统为用户提供了存取简便、格式统一、安全可靠的管理各种 文件信息的方法。一般说来,文件系统应具备以下功能:文件管理(如创建/删除文件,对 文件的各种操作等)、目录管理(创建/删除目录项,权限验证等)、文件存储空间的管理 (如外存空间的分配与回收)、文件的共享和保护以及提供方便的对外接口(如实现按名存 取,文件系统调用等)。 (3)文件的逻辑组织和物理组织 从用户观点出发所见到的文件组织形式称为文件的逻辑组织。 文件的逻辑组织离不开文 件的实际物理结构,同时又与文件的存取方法有关。 系统设计人员看待文件时要考虑文件具体在存储设备中如何放置、 如何组织目录、 如何 实现存取等细节, 这与存储介质的存储性能有关。 文件在存储设备上的组织形式称为文件的 物理组织。 文件的逻辑组织有两种形式: 有结构文件和无结构文件。 有结构文件又称为记录式文件, 它又分为定长和变长的记录文件。而无结构文件又称为字符流文件,UNIX/Linux 系统中文 件都采用流式文件。用户对文件的存取通常有顺序存取和随机存取两种。 文件通常存放在磁盘上的盘块上,文件的物理组织涉及文件的信息如何在磁盘上放置。 基本的文件物理组织形式有:连续文件、链接文件、索引文件和多重索引文件。它们各有优 缺点,当然后者性能更佳。 (4)目录文件 操作系统核心对文件的管理是通过文件控制块实施的。每个文件有唯一的文件控制块。 在 UNIX/Linux 系统中把它称为 I 节点。 由文件控制块构成的文件称作目录文件, 简称目录。 文件控制块就是其中的目录项。 将文件名转换成该文件在外存的物理位置, 即实现文件名与其存放盘块之间的映射, 这 是文件目录所提供的最基本的功能。 文件目录的组织与结构是文件系统的一个重要方面, 也反映了文件系统的特色。 一般来 说文件目录的组织形式分为单级目录、二级目录、树形目录和非循环图目录。 单级目录最简单,但存在重名问题,难以保证所有文件的名字都是唯一的。二级目录为 各个用户单独建立一个目录,从而解决了上述问题,每个用户的文件都在他自己的目录下。 为使用方便,对二级目录进行扩展,成为树形文件目录。这种多分支多层次的目录结构允许 用户创建自己的子目录, 便于用户更合理地组织其文件。 非循环图目录结构是带链接的树形 目录结构,它利于实现对文件或目录的共享。UNIX/Linux 系统中的目录结构就采用带链接 的树形目录结构。 (5)文件存储空间的管理

文件存储空间的管理是对外存空间中空闲盘块的管理。 创建新文件或扩充老文件时, 需 要申请空闲盘块;删除文件时要回收释放的文件块。对空闲盘块的管理方式主要有:空闲盘 块表、空闲块链接、位示图和空闲块成组链接等。 (6)文件的共享与文件系统的安全性 文件的共享与文件系统的安全性是文件系统中的一个重要问题。 文件的共享是指一个文件被多个用户或进程使用。 目的是节省时间和存储空间, 减少了 用户工作量。文件链接是实现文件共享的有效途径,分为硬链接和符号链接。由于文件是多 数计算机系统中主要的信息存储机制,既要实现共享,又必须加以保护。 为了实现文件系统的安全, 文件需要保护和保密。 对文件的存取控制可分别由存取类型 来设定,如读、写、执行等,也可以通过命名、口令、存取权限或者加密的方法实现对文件 的保护和保密。 文件信息可能因硬件或软件的故障而遭到损坏,为此必须加强对文件系统的可靠性管 理,如文件系统的备份和必要时的恢复。备份就是把硬盘上的文件转储到其他外部介质上。 (7)Linux 文件系统 Linux 系统的一个重要特征就是支持多种不同的文件系统,目前,Linux 主要使用的文 件系统是 ext2 和 ext3。ext2 文件系统将逻辑块划分成块组,每个块组重复保存着一些有关 整个文件系统的关键信息,以及实际的文件和目录的数据块。 Linux 系统提供了虚拟文件系统(VFS)。通过 VFS 将不同文件系统的实现细节隐藏起 来。Linux 文件系统可以根据需要随时装卸,从而实现文件存储空间的动态扩充。 UNIX/Linux 系统的管道文件独具特色。管道文件按 FIFO 方式工作,它是同族进程间 进行大量信息传送的有力工具。 5.2 典型例题解析 【例 1】判断正误:文件系统中文件的内容只能是源代码。( ) 】 答案 错误 分析 文件是信息的一种基本组织形式,可以是有格式的,也可以是无格式的。文件的 内容是一组信息的集合,可以是源代码、二进制代码、文本文档、表格、数据、声音和图像 等。 【例 2】文件系统的主要目的是( )。 】 A.实现对文件的按名存取 C.提供外存的读写速度 B.实现虚拟存储 D.用于存储系统文件

答案 A 分析 所谓文件系统,就是操作系统中负责操纵和管理文件的一整套设施,它实现文件 的共享和保护,方便用户“按名存取”。文件系统为用户提供了存取简便、格式统一、安全 可靠的管理各种文件信息的方法。 下列文件的物理结构中, 不利于文件长度动态增长的文件物理组织形式是 ( ) 。 【例 3】 】 A.连续文件 答案 A 分析 此题主要考查文件的物理结构,即文件在存储设备上是如何放置的。文件的物理 组织形式有连续文件、链接文件、索引文件和多重索引文件。 (1)连续文件是把一个在逻辑上连续的文件存放在连续编号的物理块中,或者说连续 文件是一种逻辑记录顺序和物理块的顺序相一致的文件结构。 磁带机是一种顺序存取的存储 设备。 优点:存取信息的速度快,常用于存放系统文件,如操作系统、编译程序等。 缺点:要求建立文件时就确定它的长度;不便于文件的动态扩充,对文件进行增、删、 改相当麻烦;磁盘的存储空间的利用率不高,出现外部碎片,造成空间浪费。 (2)链接文件把顺序的逻辑记录存放在不连续的磁盘块上,并用指针把这些磁盘块按 逻辑记录的顺序链接起来。 优点:允许用户扩充文件,或删除文件中的某些记录;磁盘空间利用率高。由于不需要 连续存放,所以可以充分利用磁盘中的每一个空闲块。 缺点:一般仅适于对信息的顺序访问,不利于对文件的随机存取;由于物理块上增加了 一个链接字,带来了系统管理负担;可靠性差。 (3)索引文件为每个文件建立一张索引表,指出文件中每个记录的存放地址。 优点: 便于增、 删文件的记录; 既适合顺序存取又适合随机存取; 磁盘空间的利用率高。 缺点:索引表本身也占用存储资源,带来了空间开销。 【例 4】 文件系统采用树形目录结构后,对于不同用户的文件,其文件名( )。 】 A.应该相同 C.可以不同,也可以相同 答案 C B.应该不同 D.受系统约束 B.链接文件 C.索引文件 D.系统文件

分析 此题考查文件目录的组织方式。文件目录的组织形式分为单级目录、二级目录和 树形目录和非循环图目录。 单级目录的优点是简单,能实现“按名存取”。但也有很多缺点,如查找速度慢,不允 许文件重名;不便于文件的共享等。 从二级目录开始解决了多用户间文件的“重名”问题,也提高了检索目录的速度,不同 的用户可以用不同的文件名来访问系统中同一共享文件。下图所示为一个树形目录,LIU 和 LI 是不同的用户,他们的文件名可以不同,也可以相同(如 TASK1)。

图 树形目录结构 【例 5】文件的存储空间管理实质上是组织和管理( )。 】 A.文件目录 C.辅存空闲块 答案 C 分析 教材中介绍了基于磁盘文件的存储空间管理技术,如空闲盘块表法、空闲块链接 法、位示图法和成组链接法。这些技术是针对外存(即辅存)空间上的空闲盘块的。通过这 些方法来有效地对外存空闲盘块的分配和回收进行管理,提高对文件的访问速率。 【例 6】在 UNIX 系统中,某文件的使用权限设置为 754,则表示( )。 】 A.文件主可读、写、执行 C.其他用户可读、写、执行 答案 A B.同组用户仅能读 D.同组用户仅能写 B.辅存已占用区域 D.进程控制块

分析 在 UNIX 系统中,对文件存取权限的规定用 9 位二进制位表示,分成 3 个域,每 个域 3 位,分别是 rwx,控制读、写和执行操作;3 个域分别表示文件主、同组用户和其他 用户所具有的权限。某文件的保护信息是 754,则其二进制为: 111 文件主 101 同组用户 100 其他用户

表示其文件创建者(即文件主)可读、写和执行,同组用户可读和执行,其他用户只可 读。 5.3 练习题 一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 文件管理实际上是管理( )。 A.主存空间 C.逻辑地址空间 B.辅助存储空间 D.物理地址空间 )。

2. 操作系统实现“按名存取”的关键在于解决( A. 文件逻辑地址到文件具体的物理地址的转换 B. 文件名称与文件具体的物理地址的转换 C. 文件逻辑地址到文件名称的转换 D. 文件名称到文件逻辑地址的转换 3. 按文件用途来分,编译程序是( )。 A.用户文件 C.系统文件 B.档案文件 D.库文件

4.在 UNIX/Linux 系统中,用户程序经过编译之后得到的可执行文件属于( A.ASCII 文件 B.普通文件 C.目录文件 D.特别文件

)。

5. 特别文件是与( )有关的文件。 A.文本 C.硬件设备 B.图像 D.二进制数据

6. 下列描述不是文件系统功能的是( )。 A.建立文件目录 B.提供一组文件操作

C.实现对磁盘的驱动调度 D.管理文件存储空间 7. 文件的逻辑组织是( A.在外部设备上 C.虚拟存储 )的文件组织形式。

B.从用户观点看 D.目录 )。

8. 由一串字符序列组成,文件内的信息不再划分可独立的单位,这是指( A.流式文件 C.顺序文件 B.记录式文件 D.链接文件

9. 数据库文件的逻辑结构形式是( )。 A.流式文件 C.记录式文件 B.档案文件 D.只读文件

10. 与文件物理组织形式有关的是( )。 A.文件长度 C.文件目录结构 B.记录的个数 D.用户对文件的存取方法 )。

11. 在以下的文件物理存储组织形式中,常用于存放大型系统文件的是( A.连续文件 C.索引文件 B.链接文件 D.多重索引文件 )。

12. 链接文件解决了连续文件存在的问题,它( A.使用指针存入主存,速度快 C.不适用于顺序存取

B.适合于随机存取方式 D.提高了存储空间的利用率

13. 文件系统为每个文件另建立一张指示逻辑记录和物理记录之间的对应关系表,由此 表和文件本身构成的文件是( )。

A.连续文件 C.索引文件

B.链接文件 D.逻辑文件



14. 若用户总是要求用随机存取方式查找文件记录,则使用索引文件比使用链接文件 )。 A.麻烦 B.方便 C.一样 D.有时方便有时麻烦

15. 文件名与( )的转化是通过文件目录来实现的。 A.逻辑地址 C.文件内部名 B.物理地址 D.文件记录

16. 如果文件系统中有两个文件重名,不应采用( )结构。 A.单级目录 C.二级目录 B.树形目录 D.非循环图目录

17. 文件系统采用二级文件目录可以( )。 A.缩短访问存储器的时间 C.节省内存空间 B.解决同一用户间的文件命名冲突 D.解决不同用户间的文件命名冲突

18. 在二级目录结构中,同一个用户不同文件的文件名( )。 A.可以相同 C.一定不同 B.可以不同 D.应该相同

19. 树形目录结构的主文件目录称为( )。 A.父目录 B.根目录 C.子目录 D.用户文件目录

20. 当前目录是/usr/meng,其下属文件 prog/file.c 的绝对路径名是( )。 A./usr/meng/file.c C./prog/file.c B./usr/file.c D./usr/meng/prog/file.c

21. 在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构 是( )。 A.单级目录 B.二级目录

C.纯树形目录

D.非循环图目录

22. 在 UNIX 系统中,磁盘存储空间空闲块的链接方式是( )。 A.空闲块链接法 C.空闲盘块表法 B.位示图法 D.空闲块成组链接法

23. 为防止用户共享文件时破坏文件,往往采用( )方式。 A.设置口令 C.规定存取权限 B.加密 D.定期备份

24. 下列属于文件保密技术的是( )。 A.建立副本 C.设置口令 B.定期备份 D.规定存取权限

25. 用 ls 命令以长格式列目录信息时, 若某一文件的特征在文件列表中按如下顺序显示 在屏幕上: drwxrw-r-- 2 user gk 3564 Oct 28 10:30 /user/asD.h 则同组用户的访问权限是( )。 A.读和执行 C.写和执行 B.读、写、执行 D.读和写

二、判断题(正确的划√,错误的划×。) 判断题(正确的划√ 错误的划× 1. 顺序结构是一种逻辑记录顺序和物理块的顺序相一致的文件结构。( ) 2. 可顺序存取的文件不一定能随机存取;但可随机存取的文件都可以顺序存取。( ) 3. 一般的文件系统都是基于磁盘设备的,而磁带设备可以作为转储设备使用,以提高 系统的可靠性。( ) 4. 在文件系统的支持下,用户需要知道文件存放的物理地址。( ) 5. 随机访问文件也能顺序访问,但一般效率较差。( ) 6. Linux 文件包括普通文件、目录文件和用户文件三大类。( ) 7. Linux 的 I 节点是文件内容的一部分。( )

8. 在 Linux 系统中,常采用单空闲块链接法来实施存储空间的分配与回收。( ) 9. Linux 系统的一个重要特征就是支持多种不同的文件系统。( ) 10. 在采用树形目录结构的文件系统中,检索文件必须从根目录开始。( )

11. 采用了二级目录结构后,可以允许不同用户在为各自的文件命名时,不必考虑重名 问题,即使取了相同的名字也不会出错。( ) 12. 文件系统要负责文件存储空间的管理, 但不能完成文件名到物理地址的转换。 ( ) 13. 索引结构中,建立索引表会占用额外的存储空间和访问时间。( ) 三、简答题 四、应用题 请同学们解答参考教材 175 页的课后习题。 参考答案: 参考答案: 一、BBCBC CBACD ADCBB ADCBD DDCCD 二、1,2,3,5,9,11,13 是正确的。 4. (×)。文件系统通过“按名存取”自动完成文件的管理,无需用户干预。 6. (×)。Linux 文件包括普通文件、目录文件和特殊文件三大类。 7. (×)。Linux 的 I 节点不属于文件内容,它属于文件的控制管理信息。 8. (×)。Linux 系统采用空闲块成组链接法实施文件存储空间的管理。 10. (×)。树形目录文件可以从当前目录进行检索文件。 12. (×)。完成文件名到物理地址的转换是文件系统最基本的功能。 三和四、见本章教材习题解答。

第6章
6.1 本章知识点 设备管理是指操作系统对除 CPU 和内存以外对所有设备的管理,与硬件紧密相关。 本章的主要知识点为:

(1)设备分类 按照工作特性将设备分成存储设备和输入/输出设备两大类: 存储设备主要是计算机用 来存储信息的设备,如磁盘(硬盘和软盘)、磁带等;输入设备是计算机用来接受来自外部 世界信息的设备,例如终端键盘输入、卡片输入机、纸带输入机等;输出设备是将计算机加 工处理好的信息送向外部世界的设备,例如终端屏幕显示或打印输出部分、行式打印机、卡 片输出机等。 存储设备也称为块设备,输入/输出设备也称为字符设备。 根据设备的使用性质可将设备分成独占设备、 共享设备和虚拟设备三种。 其中虚拟设备 是利用某种技术把独占设备改造成可由多个进程共用的设备, 这种设备并非物理上变成了共 享设备,而是用户使用它们时“感觉”它是共享设备。 (2)设备管理的功能 外部设备种类繁多, 其特性和操作方式又有很大的差别, 设备管理的目标是方便用户使 用设备;实现设备的独立性;提供设备的使用效率;对各种外设进行统一的管理。 操作系统中设备管理的功能简单地说就是:监视设备状态;进行设备分配;完成 I/O 操 作;缓冲管理与地址转换。 (3)设备分配技术 设备分配技术主要有:独占分配、共享分配和虚拟分配。独占分配适用于独占设备,系 统效率低;共享分配适用于高速、大容量直接存储的共享设备,设备的利用率较高;虚拟分 配技术利用共享设备去实现独占设备的功能,从而使独占设备“感觉上”成为可共享的、快 速的 I/O 设备。 实现虚拟分配最成功的技术是 SPOOLing (外部设备联机并行操作) 也称假脱机技术。 , SPOOLing 系统用常驻内存的进程去模拟一台外围机,用一台主机就可完成脱机技术中需用 三台计算机完成的工作。系统一般分为存输入、取输入、存输出、取输出 4 个部分。 常用的设备分配算法有先来先服务算法和优先级高的优先服务算法。 (4)设备驱动程序 设备驱动程序控制设备的打开、关闭、读、写等操作,它的功能主要有:接受用户的 I/O 请求;取出请求队列中队首请求,将相应设备分配给它;启动该设备工作,完成指定的 I/O 操作;处理来自设备的中断。 设备驱动程序在系统中处于核心空间,位于设备控制器的上层,目的是对核心 I/O 子系 统隐藏各个设备控制器的差别。 (5)缓冲技术

引入缓冲技术的主要目的是:① 缓和 CPU 与 I/O 设备间速度不匹配的矛盾;② 提高 它们之间的并行性;③ 减少对 CPU 的中断次数,放宽 CPU 对中断响应时间的要求。 设置缓冲区的原则是:如果数据到达率与离去率相差很大,则可采用单缓冲方式;如果 信息的输入和输出速率相同(或相差不大) 时,则可用双缓冲区;对于阵发性的输入、输出, 可以设立多个缓冲区。 (6)磁盘调度和管理 磁盘是计算机常用的存储设备。硬盘的组成结构为磁头、柱面和扇区。为了存取磁盘中 的信息,磁头需要三部分时间:寻道时间、旋转延迟时间和传输时间。而寻道时间远远大于 后两部分时间,减少平均寻道时间可以有效改善系统性能。常用的磁盘调度算法有:先来先 服务、最短寻道时间优先法和电梯法。 (7)Linux 系统设备管理 在 Linux 系统中,设备作为特殊文件对待,所以用户对设备的使用方式与对文件的使用 方式相同。系统会根据主、次设备号调用相应的设备驱动程序。 Linux 系统中对设备管理具有下列共性:① 每个设备都对应文件系统中的一个索引节点, 都有一个文件名;② 应用程序通常可以通过系统调用 open( )打开设备文件,建立起与目标 设备的连接; 对设备的使用类似于对文件的存取; 设备驱动程序是系统内核的一部分, ③ ④ 它们必须为系统内核或者它们的子系统提供标准的接口;⑤ 设备驱动程序利用一些标准的 内核服务,如内存分配等。 6.2 典型例题解析 【例 1】在操作系统中,用户在使用 I/O 设备时,通常采用()。 】 A.设备的绝对号 C.虚拟设备号 答案 B 分析 这部分内容与设备标识有关。 一般来说, 系统按照某种原则为每台设备分配一个唯一的号码, 用作硬件 (设备控制器) 区分和识别设备的代号,称作设备的绝对号。它如同内存中每一单元都有一个地址那样。 用户在编写程序时就不能通过设备的绝对号来使用设备, 用户只需向系统说明所要使用 的设备类型,如是打印机,还是显示器。为此,操作系统为每类设备规定了一个编号,称为 设备的类型号。如在 UNIX 系统中,类型号被称为主设备号。该系统中所有块设备的设备名 由两部分构成: 主设备号和次设备号, 前者表示设备类型, 后者表示同类设备中的相对序号。 如 rfd0,rfd1 分别表示第一个和第二个软盘驱动器。 B.设备的相对号 D.设备名

用户程序往往会同时使用几台同类设备,并且每一台设备都可能多次使用。这样,用户 程序必须向操作系统说明当时它要用的设备是哪类设备的第几台。这里的“第几台”是设备 相对号, 是用户自己规定的所用同类设备中的第几台。 应与系统为每台设备规定的绝对号相 区别。 用户程序中提出使用设备的申请时, 使用系统规定的设备类型号以及用户自己规定的设 备相对号,由操作系统进行“地址转换”,变成系统中的设备绝对号。 【例 2】设备管理的主要程序之一是设备分配程序,当进程请求在主存和外设之间传送 】 信息时,设备分配程序分配设备的过程通常是()。 A.先分配设备,再分配控制器,最后分配通道 B.先分配控制器,再分配设备,最后分配通道 C.先分配通道,再分配设备,最后分配控制器 D.先分配通道,再分配控制器,最后分配设备 答案 A 分析 在一般大型计算机系统中,主机对外部设备的控制可以分为四个层次来实现,即 主机、通道、控制器和设备。I/O 系统的四级结构如下图所示。

外部设备通常由机械和电子两部分组成。 由于许多设备往往不是同时使用的, 为降低成 本,往往将电子部分从设备中独立出来构成一个部件,称为控制器,一个控制器可交替地控 制几台同类设备。 通道相当于一台专门处理 I/O 操作的小型处理机,它接受主机的委托,独立地执行通道 程序,使控制器进行工作,以实现内存和外设之间的成批数据传输。当主机委托的 I/O 任务 完成后,通道发出中断信号,请求 CPU 处理。这样,就使得 CPU 基本上摆脱了 I/O 的处理 工作,因而就大大提高了 CPU 和外设工作的并行程度。

通常,一个 CPU 可以连接多个通道,一个通道可以连接多个设备控制器,一个设备控 制器可以连接同类型的多台设备。 有的系统还可将一台设备连接到几个设备控制器上, 或把 一个设备控制器连接到几个通道上,实现多路交叉连接。设备分配的过程是先分配设备,再 分配控制器,最后分配通道。 【例 3】用户编制的程序与实际使用的物理设备无关是由()功能实现的。 】 A.设备分配 答案 D 分析 设备独立性是设备管理要达到的目标之一,就是说,用户程序应与实际使用的物 理设备无关, 由操作系统考虑因实际设备不同而需要使用不同的设备驱动程序等问题。 这样, 用户程序的运行就不依赖于特定的设备是否完好、是否空闲,而由系统合理地进行分配,不 论实际使用同类设备的哪一台, 程序都应正确执行。 还要保证用户程序可在不同设备类型的 计算机系统中运行,不致因设备型号的变化而影响程序的工作。 在已经实现设备独立性的系统中, 用户编写程序时一般不再使用物理设备, 而使用虚拟 设备,由操作系统实现虚、实对应。如在 UNIX 系统中,外部设备作为特别文件,与其它普 通文件一样由文件系统统一管理。 【例 4】SPOOLing 技术可以实现设备的()分配。 】 A.独占 答案 C 分析 常用的设备分配技术有独占设备的分配、共享设备的分配和虚拟设备的分配。而 SPOOLing 技术可以实现设备的虚拟分配,它将独占设备改造为共享设备,解决了高速 CPU 与慢速外设之间的匹配问题。 下图所示为 SPOOLing 系统的工作过程。 B.共享 C.虚拟 D.物理 B.设备驱动 C.虚拟设备 D.设备独立性

采用 SPOOLing 技术后, 即使系统只有一台输入机和一台打印机也能使两个以上要求使 用输入机和打印机的作业同时执行, 且每个作业都感到自己分得了速度极高的输入机和打印 机。我们说采用这种技术的操作系统为用户提供了虚拟设备。 【例 5】假设一个磁盘有 200 个磁道,编号从 0~199。当前磁头正在 143 道上服务,并 】 且刚刚完成了 125 道的请求。如果寻道请求队列的顺序是: 86, 147, 91, 177, 94, 150, 102, 175, 130 问:为完成上述请求,下列算法各自磁头移动的总量是多少? ① FCFS ② SSTF ③ 电梯法 答案 FCFS 为 565;SSTF 为 162;电梯法为 125。 分析 ① 磁头在 143 道上,下一个请求为 86,采用先来先服务磁盘调度算法 FCFS,按照请 求到来的次序依次响应,于是磁头从 143 道移动到 86 道上,移动磁道数为 143-86=57。再 从 86 道移动到 147 道,依此类推,进行调度的情况为: 下一磁道 移动磁道数 86 147 91 177 94 150 102 175 130 57 61 56 86 83 56 48 73 45

磁头移动总量为 565。 ② 采用最短寻道时间优先磁盘调度算法 SSTF, 当前磁头在 143 道上, 选择的下一个请 求距当前磁头所在位置应具有最小的寻道时间。 比较离 143 道最近的两个请求: 130 和 147,

可知,从 143 道移动到 147 道花费的时间最短,仅为 4,于是磁头移动到 147 道上。依此类 推,进行调度的情况为: 下一磁道 移动磁道数 147 150 130 102 94 91 86 175 177 4 3 20 28 8 3 5 89 2

磁头移动总量为 162。 ③ 采用电梯磁盘调度算法,要按照磁头移动的方向对请求进行扫描法,一侧的所有请 求完成后,才掉头回扫。题中的条件“当前磁头正在 143 道上服务,并且刚刚完成了 125 道的请求”说明磁头移动的方向是从 125 道到 143 道。根据电梯法,磁头要继续向数大的方 向扫描下去,于是先遇到 147 道的请求,然后是 150 道,…,直到 177 道请求处理完,这时 这一侧的请求全部完成了。于是磁头掉头回扫,首先碰到 130 道的请求,…,最后处理的是 86 道的请求。具体的调度情况为: 下一磁道 移动磁道数 147 150 175 177 130 102 4 3 25 2 47 28

94 91 86

8 3 5

磁头移动总量为 125。 6.3 练习题 一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 1. 下列设备中,不属于独占设备的是()。 A.打印机 B.磁盘 C.终端 D.磁带

2. 大多数低速设备都属于()设备。 A.独占 B.共享 C.虚拟 D.SPOOLing

3. 通过硬件和软件的功能扩充,把原来独占的设备改造成为能为若干用户共享的设备, 这种设备称为()。 A.存储设备 C.共享设备 B.块设备 D.虚拟设备

4. 计算机系统启动外围设备是按()启动的。 A.设备的绝对号 C.通道号 5. 通道是一种()。 A.I/O 端口 C.I/O 专用处理机 B.数据通道 D.软件工具 B.设备的相对号 D.设备名

6.下列操作系统常用的技术中,()是一种硬件机制。 A.交换技术 C.通道技术 B.SPOOLing 技术 D.缓冲区技术

7. CPU 启动通道后,设备的控制工作由()。

A.CPU 执行程序来控制 B.CPU 执行通道程序来控制 C.通道独立执行预先编好的通道程序来控制 D.通道执行用户程序来控制 8. 下列有关通道的叙述中,不正确的是()。 A.所有外围设备的启动工作都由系统统一来做 B.编制好的通道程序是存放在主存中的 C.通道是处理输入、输出的软件 D.来自通道的 I/O 中断事件由设备管理负责处理 9. 下列描述中,不是设备管理的功能的是()。 A.实现对缓冲区进行管理 B.实现虚拟设备 C.实现地址空间管理 D.实现对磁盘的驱动调度 10. 设备独立性是指()。 A.设备具有独立执行 I/O 功能的一种特性 B.设备驱动程序独立于具体使用的物理设备的一种特性 C.能独立实现设备共享的一种特性 D.用户程序使用的设备与实际使用哪台设备无关的一种特性 11. 采用脱机外围设备操作技术的计算机系统中, 计算机系统中至少需要 () 台计算机。 A.1 B.2 C.3 D.4

12. 采用假脱机外围设备操作技术(SPOOLing),计算机系统中至少需要()台计算 机。 A.1 B.2 C.3 D.4

13. 采用 SPOOLING 技术的目的是()。 A.提高独占设备的利用率 B.提高主机效率

C.减轻用户编程负担

D.提高程序的运行速度

14. SPOOLING 技术一般不适用于()。 A.实时系统 B.多道批处理系统 C.网络操作系统 D.多计算机系统 15. 操作系统中采用的以空间换取时间技术的是()。 A.SPOOLing 技术 C.覆盖与交换技术 B.虚拟存储技术 D.通道技术

16. 设备的打开、关闭、读、写等操作是由()完成的。 A.用户程序 C.设备分配程序 B.编译程序 D.设备驱动程序

17.引入缓冲技术的主要目的是()。 A.改善用户编程环境 C.提高 CPU 与设备之间的并行程度 B.提高 CPU 的处理速度 D.降低计算机的硬件成本

18. CPU 数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()。 A.并行技术 C.缓冲技术 B.通道技术 D.虚存技术

19. 下列通用缓冲技术中,对于一个具有信息的输入和输出速率相差不大的 I/O 系统比 较有效的是()。 A.双缓冲技术 C.多缓冲技术 B.环形缓冲技术 D.单缓冲技术

20. 为了使多个进程能有效地同时处理阵发性的输入和输出,最好使用()结构的缓冲 技术。 A.多缓冲 C.单缓冲区 B.SPOOLing D.双缓冲区

21. 一个含有 6 个盘片的双面硬盘,盘片每面有 100 条磁道,则该硬盘的柱面数为()。

A.12

B.250

C.100

D.1200

22. 设磁盘的转速为 3000 转/分, 盘面划分为 10 个扇区, 则读取一个扇区的时间是 () 。 A.20ms B.2ms C.3ms D.1ms

提示:1(m)分等于 60 秒(s),1 秒等于 1000 毫秒(ms)。 23. 下列关于 Linux 系统设备管理的描述中,不正确的是()。 A.Linux 系统利用设备文件方式统一管理硬件设备; B.Linux 系统将存储设备称为字符设备; C.Linux 系统特殊文件的 I 节点中包含主、次设备号; D.Linux 系统中使用了多重缓冲技术。 二、判断题(正确的划√,错误的划×。) 判断题(正确的划√ 错误的划× 1. 现代计算机系统中,外围设备的启动工作都是由系统和用户共同来做的。() 2. 用户程序应与实际使用的物理设备无关,这种特性就称作设备无关性。() 3. 一般的文件系统都是基于磁盘设备的,而磁带设备可以作为转储设备使用,以提高 系统的可靠性。() 4. 共享设备是指允许多个作业在同一时刻使用的设备。() 5. 计算机系统为每一台设备确定的一个用以标识它的编号,被称为设备的绝对号。() 6. 只有引入通道后,CPU 计算与 I/O 操作才能并行执行。() 7. 利用共享分配技术可以提高设备的利用率,使得打印机之类的独占设备成为可共享 的、快速 I/O 设备。() 8. SPOOLing 系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备。它由专 门负责 I/O 的常驻内存的进程以及输入、输出井组成。() 9. 在设备 I/O 中引入缓冲技术的目的是为了节省内存。() 10. 磁盘上同一柱面上存储的信息是连续的。() 三、简答题 四、应用题

请同学们解答参考教材 202 页的课后习题。 参考答案: 参考答案: 一、BADAC CCCCD CAAAA DCCAA CBB 二、2,3,5,8,10 是正确的。 1. (×)。现代计算机系统中,外围设备的启动工作由系统自动完成。 4. (×)。共享设备是指可由若干进程同时使用的设备,这里“同时”的含义是:一个进 程没有运行结束,另一个进程可以使用该设备,并非指同一时刻。 6. (×)。引入中断使 CPU 计算与 I/O 操作能够并行执行,引入通道后,CPU 计算与 I/O 操作的并行度大大提高了。 7. (×)。利用虚拟分配技术可以提高设备的利用率,使得打印机之类的独占设备成为可 共享的、快速 I/O 设备。 9. (×)。在设备 I/O 中引入缓冲技术的目的是为了改善 CPU 与 I/O 设备之间速度不匹配 的矛盾。 三和四、见本章教材习题解答。

第7章
7.1 本章知识点 21 世纪是信息时代。随着 Internet 的进一步发展,网络使资源共享无极限;Internet 技 术与信息家电、工业控制技术等的结合日益紧密,使得现代操作系统的发展趋于智能化。 本章的主要知识点为: (1)现代操作系统的发展 推动操作系统发展的因素很多,主要可归结为硬件技术更新和应用需求扩大两大方面。 未来的操作系统将与其他相关领域的技术紧密结合, 在人类活动中发挥更大作用。 未来 操作系统应具有的特征为:更强的分布式处理能力;更高的安全性和可靠性;符合开放式模 型;更方便的用户界面。 (2)嵌入式操作系统

嵌入式技术和人们的生活结合得越来越紧密, 因此, 嵌入式操作系统成为操作系统的热 门研究课题之一, 并得到迅速推广应用。 由于嵌入式操作系统的硬件平台和应用环境与一般 操作系统不同,所以它有自身的特点,其最大特点就是可定制性。 (3)分布式操作系统 分布式系统在整个计算机研究领域中是一个近年来颇受人们重视且发展迅速的新方向。 它把计算机技术和通信技术的综合应用推向新阶段。 它将计算功能分散化, 充分发挥各自治 处理机的效能,统一、协调地完成总目标。分布式系统应具备分布性、自治性、并行性和全 局性等基本特征。 分布式操作系统是配置在分布式系统上的共用操作系统。 分布式操作系统实施系统整体 控制,对分布在各节点上的资源进行统一管理,并且支持对远程进程的通信协议。分布式操 作系统要求实现用户面前的虚拟单处理机系统到具体的分布式系统的映射。 它有如下三个基 本功能:进程管理;通信管理和资源管理。 (4)4 种多机系统 多机系统包括四种类型:多处理器系统,多计算机系统,网络系统和分布式系统。它们 无论在对外接口上,还是内部的功能及实现方面,都有显著的区别。 分布式系统与多处理器系统有同有异。 其主要区别在于耦合方式和通信联系。 网络操作 系统和分布式操作系统都可在分散的计算机环境中运行, 两种技术的主要差别是如何看待和 管理局部/全局资源,分布式操作系统控制和管理资源是建立在单一系统策略基础上的。 7.2 练习题 一、选择题(选择一个正确答案的代码填入括号中) 选择题(选择一个正确答案的代码填入括号中) 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. 下面 4 种多机系统中,节点彼此耦合最紧密的是( )。 A.多处理器系统 B.多计算机系统 C.网络系统 D.分布式系统 7. 控制和管理资源建立在单一系统策略基础,将计算功能分散化,充分发挥网络互联 的各自治处理机性能的多机系统是( )。 A.多处理器系统

B.多计算机系统 C.网络系统 D.分布式系统 二、简答题 请同学们解答参考教材 211 页的课后习题。 补充练习题:未来操作系统大致应具有哪些特征? 参考答案: 参考答案: 一、CADCDAD 二、见本章教材习题解答。 补充练习题答案:未来操作系统大致应具有以下特征:更强的分布式处理能力;更高的 安全性和可靠性;符合开放式模型;更方便的用户界面。

教材习题解答
第一章 1. 基本概念和术语 . 计算机系统、多道程序设计、操作系统、系统调用、分时 一个完整的计算机系统 计算机系统是由硬件和软件两大部分组成的。 通常硬件是指计算机物理装置 计算机系统 本身;而软件是相对硬件而言的,简单地说,软件是计算机执行的程序。 在多道程序设计 多道程序设计技术下, 内存中能同时存放多道程序, 在管理程序的控制下交替地执行。 多道程序设计 这些作业共享 CPU 和系统中的其他资源。 操作系统是控制和管理计算机系统内各种硬件和软件资源、 有效地组织多道程序运行的 操作系统 系统软件(或程序集合),是用户与计算机之间的接口。 系统调用是操作系统内核与用户程序、应用程序之间的接口。 系统调用 分时主要是指若干并发程序对 CPU 时间的共享。 分时 2. 基本原理和技术 . (1)操作系统的基本特征是什么?

操作系统的基本特征是:并发、共享和异步性。并发是指两个或多个活动在同一给定的 时间间隔中进行。 共享是指计算机系统中的资源被多个任务所共用。 异步性是指在多道程序 环境下,各程序的执行过程有着“走走停停”的性质。 (2)操作系统的主要功能是什么? 操作系统的主要功能包括:存储管理,进程和处理机管理,文件管理,设备管理以及用 户接口管理。 (3)操作系统一般为用户提供了哪三种界面?各有什么特点? 操作系统一般为用户提供的三种界面是:图形用户接口、命令行接口和程序接口。 图形用户接口:用户利用鼠标、窗口、菜单、图标等图形界面工具,可以直观、方便、 有效地使用系统服务和各种应用程序及实用工具。 命令行接口: 在提示符之后用户从键盘上输入命令, 命令解释程序接收并解释这些命令, 然后把它们传递给操作系统内部的程序,执行相应的功能。 程序接口:也称系统调用接口。系统调用是操作系统内核与用户程序、应用程序之间的 接口。在 UNIX/Linux 系统中,系统调用以 C 函数的形式出现。 (4)操作系统主要有哪三种基本类型?各有什么特点? 操作系统主要有以下三种基本类型:多道批处理系统、分时系统和实时系统。 多道批处理系统的特点是多道和成批。 分时系统的特点是同时性、交互性、独立性和及时性。 实时系统一般为具有特殊用途的专用系统,其特点是交互能力较弱、响应时间更严格、 对可靠性要求更高。 (5)操作系统主要有哪些类型的体系结构?UNIX、Linux 系统各采用哪种结构? 一般说来,操作系统有如下四种结构:整体结构,层次结构,虚拟机结构和客户机-服 务器结构。UNIX 系统采用的是层次结构,Linux 系统采用的是整体结构。 (6)Linux 系统有什么特点? Linux 系统的主要特点有: ①与 UNIX 兼容。 ②自由软件,源码公开。

③性能高,安全性强。 ④便于定制和再开发。 ⑤互操作性高。 ⑥全面的多任务和真正的 32 位操作系统。 3. 思考题 . (1)在计算机系统中操作系统处于什么地位? 操作系统是裸机之上的第一层软件, 与硬件关系尤为密切。 它不仅对硬件资源直接实施 控制、管理,而且其很多功能的完成是与硬件动作配合实现的,如中断系统。操作系统的运 行需要有良好的硬件环境。这种硬件配置环境往往称作硬件平台。 操作系统是整个计算机系统的控制管理中心, 其他所有软件都建立在操作系统之上。 操 作系统对它们既具有支配权力,又为其运行建造必备环境。因此,在裸机之上每加一层软件 后, 用户看到的就是一台功能更强的机器, 通常把经过软件扩充功能后的机器称为 “虚拟机” 。 在裸机上安装了操作系统后, 就为其他软件的运行和用户使用提供了工作环境。 往往把这种 工作环境称作软件平台。 (2)你熟悉哪些操作系统?想一想你在使用计算机过程中,操作系统如何提供服务? 我们最熟悉的一般为 Windows 操作系统,它是由微软(Microsoft)公司推出的一个功 能强大的图形界面操作系统。常用的操作系统还有 Linux,UNIX 操作系统。 我们在使用计算机时,首先接触的是用户界面,我们可以通过键盘上输入命令,在桌面 上点击鼠标完成操作,这时系统就知道执行相应的功能。 然后,我们要在磁盘上建立新文件,打开已存储的文件,对文件进行读、写和修改等操 作,这是由操作系统的文件管理来帮助实现的。 我们要把程序装入内存, 系统中只有一个内存, 操作系统的存储管理功能需要为用户程 序来分配内存空间,并进行数据的保护。 我们从键盘上输入数据或命令,运行结果在屏幕上显示出来或者在打印机上打印出来。 当我们需要用到外部设备的时候,操作系统的设备管理可以解决设备分配和驱动的问题。 最后,我们来了解一下计算机的关键部件 CPU,每个程序都要在上面运行。让谁的程 序运行、 什么时候开始运行、 运行多长时间呢?程序在活动过程中如何与其他活动实体联系 呢?等等,这是进程和处理机管理问题。 (3)使用虚拟机,有什么优势和不足? 采用虚拟机的优点主要有:

①在一台机器上可同时运行多个操作系统,方便用户使用。 ②系统安全,有效地保护了系统资源。 ③为软件的研制、开发和调试提供了良好的环境。 ④组建虚拟网络,可以创造出多个理想的工作环境。 缺点是: ①对硬件的要求比较高,主要是 CPU、硬盘和内存。 ②本身非常复杂,另外,执行任务时的速度会受到一些影响。 第二章

1. 基本概念和术语 . 进程、进程互斥、进程同步、临界资源、临界区、死锁 进程是程序在并发环境中的执行过程。 进程 进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如 进程互斥 打印机、文件等)而发生相互制约。 进程同步:各个进程不知对方的名字,但通过对某些对象(如 I/O 缓冲区)的共同存取 进程同步 来协同完成一项任务。 临界资源:一次仅允许一个进程使用的资源。 临界资源 临界区:在每个进程中访问临界资源的那段程序。 临界区 死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发 死锁 的事件而无限期地僵持下去的局面。 2. 基本原理和技术 . (1) 在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么? 在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态, 因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停” 的新状态。 这些都是在程序的动态过程中发生的。 用程序这个静态概念已不能如实反映程序 并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的 性质。 进程与程序的主要区别是: ·进程是动态的;程序是静态的。 ·进程有独立性,能并发执行;程序不能并发执行。

·二者无一一对应关系。 ·进程异步运行,会相互制约;程序不具备此特征。 但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程 所要完成的动作。 (2) 进程的基本状态有哪几种? 通常在操作系统中,进程至少要有三种基本状态。这三种基本状态是:运行态、就绪 态和阻塞态(或等待态)。

(3) 用如图 3-23 所示的进程状态转换图能够 说明有关处理机管理的大量内容。试回答: ① 什么事件引起每次显著的状态变迁? ② 下述状态变迁因果关系能否发生?为什 么? (A)2→1 (B)3→2 (C)4→1 ① 就绪→运行:CPU空闲,就绪态进程被调度程序选中。 运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。 运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。 阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。 ② 下述状态变迁: (A)2→1:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中 选一个进程投入运行。 (B)3→2:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞 态,就不能再变为就绪态。 (C)4→1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进 程进入就绪队列后马上又被调度运行。 (4) PCB 的作用是什么?它是怎样描述进程的动态性质的? 进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统 根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是 进程存在的唯一标志。 PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态 信息来描述进程的动态性质。 (5) PCB 表的组织方式主要有哪几种?分别简要说明。 PCB表的组织方式主要有:线性方式、链接方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。 链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。
图 3-23 进程状态转换图

(6) 进程进入临界区的调度原则是什么? 一个进程进入临界区的调度原则是: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 ②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则 其它所有试图进入临界区的进程必须等待。 ③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。 ④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。 (7) 简述信号量的定义和作用。P、V 操作原语是如何定义的? 信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量 的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同 一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。 信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现 进程的同步和互斥。 P、V操作原语的定义: P(S):顺序执行下述两个动作: ①信号量的值减1,即S=S-1; ②如果S≥0,则该进程继续执行; 如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并 放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。 V(S):顺序执行下述两个动作: ①S值加1,即S=S+1; ②如果S>0,则该进程继续运行; 如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应 的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。 (8) 计算机系统中产生死锁的根本原因是什么? 计算机系统中产生死锁的根本原因是:资源有限且操作不当。此外,进程推进顺序不合 适也可以引发的死锁。 (9) 发生死锁的四个必要条件是什么? 发生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条 件。 (10) 一般解决死锁的方法有哪三种? 一般解决死锁的方法有:死锁的预防、死锁的避免、死锁的检测与恢复。 3. 思考题 . (1) 是否所有的共享资源都是临界资源?为什么? 不是所有的共享资源都是临界资源。 因为临界资源是一次仅允许一个进程使用的资源, 而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。 (2) 系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出 计算结果。 设每个用户程序对应一个进程。 这三个进程间有什么样的制约关系?试用 P、 问:

V 操作写出这些进程使用打印机的算法。 因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户 的计算结果打印完之后,另一个用户再打印。 设三个进程分别为A、B和C。 设一个互斥信号量mutex,其初值为1。 进程A 进程B 进程C

P(mutex) 使用打印机 V(mutex)

P(mutex) 使用打印机 V(mutex)

P(mutex) 使用打印机 V(mutex)

(3) 判断下列同步问题的算法是否正确?若有错,请指出错误原因并予以改正。 ① 设 A,B 两个进程共用一个缓冲区 Q,A 向 Q 写入信息,B 从 Q 读出信息,算法 框图如图 3-24 所示。 ② 设 A,B 为两个并发进程,它们共享一个临界资源。其运行临界区的算法框图如 图 3-25 所示。

图 3-24

进程 A, B 的算法框图

图 3-25

两个并发进程临界区的算法框图

① 这个算法不对。因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量 足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q 中读出完整的信息。 改正: A、B两进程要同步使用缓冲区Q。为此,设立两个信号量: empty表示缓冲区Q为空,初值为1; full表示缓冲区Q为满,初值为0。 算法框图如图1所示。 ② 这个算法不对。因为A、B两个进程是并发的,它们共享一个临界资源,所以二者 应互斥地使用该临界资源,在进入临界区时不存在先A后B的时序关系,而是哪个进程先到 一步就先进入自己的临界区。 改正: A、B两个进程应互斥地进入临界区。为此,设立一个信号量:互斥信号量mutex,其初 值为1。 算法框图如图2所示。 A进程 B进程 A进程 B进程

P(empty) 向Q写入信息 V(full)

P(full) 从Q中读出信息 V(empty)

P(mutex) 临界区代码CSa V(mutex)

P(mutex) 临界区代码CSb V(mutex)

图1

图 2

(4) 设有一台计算机,有两条 I/O 通道,分别接一台卡片输入机和一台打印机。卡片 机把一叠卡片逐一输入到缓冲区 B1 中,加工处理后再搬到缓冲区 B2 中,并在打印机上打 印结果。问: ① 系统要设几个进程来完成这个任务?各自的工作是什么? ② 这些进程间有什么样的相互制约关系? ③ 用 P、V 操作写出这些进程的同步算法。 ①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入 到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区 B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。 ②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走, 才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它 们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放 满后P进程才可从中取出它们,进行打印。 ③信号量含义及初值: B1full—— 缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full—— 缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0; R进程 C进程 P进程

输入信息写入缓冲区B1 V(B1full) P(B1empty)

P(B1full) 从B1中取出信息 加工信息 结果送入B2 V(B1empty) V(B2full) P(B2empty)

P(B2full) 从B2中取出信息进行打印 V(B2empty)

(5) 设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区 中取出信息。针对下述两种情况:

① 缓冲区是环形的,最多可容纳 n 个信息; ② 缓冲区是无穷大的。 试分别回答下列问题: ① 输入、输出两组进程读/写缓冲区需要什么条件? ② 用 P、V 操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。 ① 针对容量为 n 的环形缓冲区,输入、输出两组进程读/写缓冲区需要的条件为: 输入进程和输出进程需同步执行, 即输入进程写缓冲区后, 输出进程才可以读; 由于缓冲区容量有限, 因此任一时刻所有输入进程存放信息的单元数不能超过 缓冲区的总容量(n); 同理, 所有输出进程取出信息的总量不能超过所有输入进程当前写入信息的总 数。 设缓冲区的编号为 0~n-1,in 和 out 分别是输入进程和输出进程使用的指针,指向下面 可用的缓冲区,初值都是 0。 为使两类进程实行同步操作,应设置三个信号量:两个计数信号量 full 和 empty,一个 互斥信号量 mutex。 full:表示放有信息的缓冲区数,其初值为 0。 empty:表示可供使用的缓冲区数,其初值为 n。 mutex:互斥信号量,初值为 1,表示各进程互斥进入临界区,保证任何时候只有一个进 程使用缓冲区。 下面是解决这个问题的算法描述。 输入进程 输入进程 Input: : while (TRUE) { P(empty); P(mutex); 信息送往 buffer(in); in=(in+1)mod N; /*以 N 为模*/ V(mutex); V(full); } 输出进程 输出进程 Output: : while (TRUE){ P(full); P(mutex); 从 buffer(out)中取出信息; out=(out+1)mod N; /*以 N 为模*/ V(mutex); V(empty); } ② 当缓冲区是无穷大时,输入进程存放信息的单元数不再受缓冲区总容量的限制,因 此, 可以不设信号量 empty。 另外, 算法中的 in=(in+1)mod N; 和 out=(out+1)mod N; 修改为 in=in+1;和 out=out+1;即可,其余的算法不变。 输入进程 输入进程 Input: :

while (TRUE) { P(mutex); 信息送往 buffer(in); in=in+1; V(mutex); V(full); } 输出进程 输出进程 Output: : while (TRUE){ P(full); P(mutex); 从 buffer(out)中取出信息; out=out+1; V(mutex); } 第三章 4. 基本概念和术语 调度、作业调度、进程调度、吞吐量、周转时间、带权周转时间、中断 调度就是选出待分派的作业或进程。 调度 作业调度就是根据一定的算法, 从输入的一批作业中选出若干个作业, 分配必要的资源, 作业调度 如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出 进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作 业完成后作善后处理工作。 进程调度就是根据一定的算法将CPU分派给就绪队列中的一个进程。 进程调度 吞吐量:单位时间内CPU完成作业的数量。 吞吐量 周转时间: 周转时间:从作业提交到作业完成的时间间隔。 带权周转时间:定义为作业的周转时间除以其实际运行时间。 带权周转时间 中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序, 中断 保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则 返回断点继续执行被“打断”的程序。 5. 基本原理和技术 . (1) 处理机调度的主要目的是什么? 处理机调度的主要目的就是为了分配处理机。 。 (2) 高级调度与低级调度的主要功能是什么?为什么要引入中级调度?

高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必 要的资源, 如内存、 外设等, 为它建立相应的用户作业进程和为其服务的系统进程 (如输入、 输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作 业完成后作善后处理工作。 低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。 为了使内存中同时存放的进程数目不至于太多, 有时就需要把某些进程从内存中移到外 存上,以减少多道程序的数目,为此设立了中级调度。 (3) 作业在其存在过程中分为哪四种状态? 作业在其存在过程中分为提交、后备、执行和完成四种状态。 (4) 在操作系统中,引起进程调度的主要因素有哪些? 在操作系统中,引起进程调度的主要因素有:正在运行的进程完成任务,或等待资源, 或运行到时;核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。 (5) 作业调度与进程调度二者间如何协调工作? 作业调度和进程调度是CPU主要的两级调度。作业调度是宏观调度,它所选择的作业只 是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行。而进程调度是微 观调度,它根据一定的算法,动态地把处理机实际地分配给所选择的进程,使之真正活动起 来。 (6) 在确定调度方式和调度算法时,常用的评价准则有哪些? 在确定调度方式和调度算法时,常用的评价准则有:CPU利用率,吞吐量,周转时间, 就绪等待时间和响应时间。 (7) 简述先来先服务法、时间片轮转法和优先级调度算法的实现思想。 先来先服务调度算法(FCFS)的实现思想:按作业(或进程)到来的先后次序进行调 度,即先来的先得到执行。 时间片轮转法(RR)的实现思想:系统把所有就绪进程按先入先出的原则排成一个队 列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列 的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度程 序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进 程。 优先级调度算法的实现思想: 是从就绪队列中选出优先级最高的进程,把CPU分给它使 用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下 去, 直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占 用CPU。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列 中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。 (8) 中断响应主要做哪些工作?由谁来做? 中断响应主要做的工作是: ①中止当前程序的执行; ②保存原程序的断点信息(主要是程序计数器PC和程序状态寄存器PS的内容); ③转到相应的处理程序。

中断响应由硬件实施。 (9) 一般中断处理的主要步骤是什么? 一般中断处理的主要步骤是:保存被中断程序的现场,分析中断原因,转入相应处理程 序进行处理,恢复被中断程序现场(即中断返回)。 (10) 简述一条shell命令在Linux系统中的实现过程。 一条 shell 命令在 Linux 系统中的执行过程基本上按照如下步骤: ① 读取用户由键盘输入的命令行。 ② 分析命令,以命令名作为文件名,其他参数改造为系统调用 execve( )内部处理所要 求的形式。 ③ 终端进程调用 fork( )建立一个子进程。 ④ 终端进程本身用系统调用 wait4( )来等待子进程完成(如果是后台命令,则不等待) 。 当子进程运行时调用 execve( ),子进程根据文件名(即命令名)到目录中查找有关文件(这 是命令解释程序构成的文件) ,调入内存,执行这个程序(即执行这条命令) 。 ⑤ 如果命令末尾有&号(后台命令符号) ,则终端进程不用执行系统调用 wait4( ),而 是立即发提示符,让用户输入下一个命令,转步骤(1) 。如果命令末尾没有&号,则终端进 程要一直等待,当子进程(即运行命令的进程)完成工作后要终止,向父进程(终端进程) 报告,此时终端进程醒来,在做必要的判别等工作后,终端进程发提示符,让用户输入新的 命令,重复上述处理过程。 (11) Linux系统中,进程调度的方式和策略是什么?对用户进程和核心进程如何调 度? Linux系统的调度方式基本上采用“抢占式优先级”方式。 Linux系统针对不同类别的进程提供了三种不同的调度策略,即适合于短实时进程的 FIFO,适合于每次运行需要较长时间实时进程的时间片轮转法,适合于交互式的分时进程 传统的UNIX调度策略。 Linux 系统核心为每个进程计算出一个优先级,高优先级的进程优先得到运行。在运行 过程中,当前进程的优先级随时间递减,这样就实现了“负反馈”作用,即经过一段时间之 后,原来级别较低的进程就相对“提升”了级别,从而有机会得到运行。 Linux系统的调度方式基本上采用“抢占式优先级”方式, 当进程在用户模式下运行时, 不管它是否自愿,核心在一定条件下(如该进程的时间片用完或等待I/O)可以暂时中止其 运行,而调度其他进程运行。一旦进程切换到内核模式下运行时,就不受以上限制,而一直 运行下去,仅在重新回到用户模式之前才会发生进程调度。 6. 思考题 . (1) 处理机调度一般可分为哪三级?其中哪一级调度必不可少?为什么? 处理机调度一般可分为高级调度(作业调度) 、中级调度和低级调度(进程调度) 。其中 进程调度必不可少。 进程只有在得到CPU之后才能真正活动起来, 所有就绪进程经由进程调度才能获得CPU 的控制权; 实际上, 进程调度完成一台物理的CPU转变成多台虚拟 (或逻辑) 的CPU的工作; 进程调度的实现策略往往决定了操作系统的类型,其算法优劣直接影响整个系统的性能。

(2) 作业提交后是否马上放在内存中?为什么? 在批处理系统中,作业提交后并不是马上放在内存中。其原因是:内存容量有限,而提 交的作业数量可能很多,无法把它们都放入内存;即使都放入内存,当内存中可以同时运行 的作业太多时, 会影响系统的性能, 如使周转时间太长; 另外, 大量作业被收容在输入井 (磁 盘)中,可以选择对资源需求不同的作业进行合理搭配,再放在内存中,从而使得系统中各 部分资源都得到均衡利用。 (3) 假定在单CPU条件下有下列要执行的作业: 作业 1 2 3 4 5 运行时间 10 1 2 1 5 优先级 3 1 3 4 2

作业到来的时间是按作业编号顺序进行的 (即后面作业依次比前一个作业迟到一个时间 单位)。 ① 用一个执行时间图描述在下列算法时各自执行这些作业的情况:先来先服务法 FCFS、时间片轮转法RR(时间片=1)和非抢占式优先级。 ② 对于上述每种算法,各个作业的周转时间是多少?平均周转时间是多少? ③ 对于上述每种算法,各个作业的带权周转时间是多少?平均带权周转时间是多少? ① 先来先服务法(FCFS)
作业1 0 作业2 作业3 作业4 10 11 13 14 作业5 19 t

时间片轮转法(RR)
作业 0 1 1 2 2 3 1 3 4 5 4 6 1 5 7 8 3 1 5 1 5 1 5 1 15 5 16 1 17 1 18 1 19 t 9 10 11 12 13 14

非抢占式优先级:
作业1 0 作业4 作业3 10 11 13 作业5 作业2 18 19 t

②和 ③ 先来先服务法(FCFS) 作业 1 2 3 4 5 到达时间 0 1 2 3 4 运行时间 10 1 2 1 5 完成时间 10 11 13 14 19 11.4 6.1 周转时间 10 10 11 11 15 带权周转时间 1.0 10.0 5.5 11.0 3.0

平均周转时间 平均带权周转时

间 时间片轮转法(RR) 作业 1 2 3 4 5 到达时间 0 1 2 3 4 运行时间 10 1 2 1 5 完成时间 19 2 8 5 16 8.0 2.06 周转时间 19 1 6 2 12 带权周转时间 1.9 1.0 3.0 2.0 2.4

平均周转时间 平均带权周转时间

非抢占式优先级 作业 1 2 3 4 5 到达时间 0 1 2 3 4 运行时间 10 1 2 1 5 完成时间 10 19 13 11 18 12.2 7.06 周转时间 10 18 11 8 14 带权周转时间 1.0 18.0 5.5 8.0 2.8

平均周转时间 平均带权周转时间

注意:本教材按照 Linux 系统的约定,优先数小的优先级高。本试题给出的条件中直接 注意 给出的是优先级,数大的则优先级高。如果试题给出的是优先数,则数小的优先级高。 如果将本试题改为: 作业 1 2 3 4 5 运行时间 10 1 2 1 5 优先数 2 4 2 1 3

则作业 2-5 优先级从高到低次序为:作业 4、作业 3、作业 5、作业 2。上面 的解答仍然正确。
第四章 1. 基本概念和术语 . 逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、 碎片、碎片紧缩、虚拟存储器、快表、页面抖动

用户程序经编译之后的每个目标模块都以 0 为基地址顺序编址, 这种地址称为相对地址 相对地址 或逻辑地址 逻辑地址。 逻辑地址 内存中各物理存储单元的地址是从统一的基地址开始顺序编址的, 这种地址称为绝对地 绝对地 物理地址。 址或物理地址 物理地址 由程序中逻辑地址组成的地址范围叫做逻辑地址空间 逻辑地址空间,或简称为地址空间 地址空间。 逻辑地址空间 地址空间 由内存中一系列存储单元所限定的地址范围称作内存空间 内存空间,也称物理空间 绝对空间 物理空间或绝对空间 内存空间 物理空间 绝对空间。 程序和数据装入内存时, 需对目标程序中的地址进行修改。 这种把逻辑地址转变为内存 物理地址的过程称作重定位 重定位。 重定位 静态重定位是在目标程序装入内存时, 由装入程序对目标程序中的指令和数据的地址进 静态重定位 行修改,即把程序的逻辑地址都改成实际的内存地址。 动态重定位是在程序执行期间, 每次访问内存之前进行重定位。 这种变换是靠硬件地址 动态重定位 转换机构实现的。 内存中这种容量太小、无法被利用的小分区称作“碎片 碎片”或“零头”。 碎片 为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲 区留在另一端。这种技术称为紧缩 紧缩(或叫拼凑 拼凑)。 紧缩 拼凑 虚拟存储器是用户能作为可编址内存对待的虚拟存储空间, 它使用户逻辑存储器与物理 虚拟存储器 存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 为了解决在内存中放置页表带来存取速度下降的矛盾, 可以使用专用的、 高速小容量的 联想存储器,也称作快表。 快表。 快表 若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把 它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大 部分时间花费在页面的调度和传输上。此时,系统好像很忙,但实际效率却很低。这种现象 称为“抖动 抖动”。 抖动 2. 基本原理和技术 . (1) 存储器一般分为哪些层次?各有何特性? 存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。 CPU 内部寄存器,其速度与 CPU 一样快,但它的成本高,容量小。 高速缓存(Cache),它们大多由硬件控制。Cache 的速度很快,它们放在 CPU 内部或 非常靠近 CPU 的地方。但 Cache 的成本很高,容量较小。

内存(或称主存),它是存储器系统的主力,也称作 RAM(随机存取存储器)。CPU 可以直接存取内存及寄存器和 Cache 中的信息。然而,内存中存放的信息是易变的,当机器 电源被关闭后,内存中的信息就全部丢失了。 磁盘(即硬盘),称做辅助存储器(简称辅存或外存),它是对内存的扩展,但是 CPU 不能直接存取磁盘上的数据。磁盘上可以永久保留数据,而且容量特别大。磁盘上数据的存 取速度低于内存存取速度。 磁带保存的数据更持久,容量更大,但它的存取速度很慢,而且不适宜进行随机存取。 所以,磁带设备一般不能用做辅存。它的主要用途是作为文件系统的后备,存放不常用的信 息或用做系统间传送信息的介质。 (2) 装入程序的功能是什么?常用的装入方式有哪几种? 装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区 中。 程序装入内存的方式有三种, 分别是绝对装入方式、 可重定位装入方式和动态运行时装 入方式。 (3) 对程序进行重定位的方式分为哪两种?简述各自的实现方式。 对程序进行重定位的方式分为静态重定位和动态重定位。 静态重定位是在目标程序装入内存时, 由装入程序对目标程序中的指令和数据的地址进 行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序来说,这种地址变换只是 在装入时一次完成,在程序运行期间不再进行重定位。 动态重定位是在程序执行期间, 每次访问内存之前进行重定位。 这种变换是靠硬件地址 转换机构实现的。通常,采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间 中的起始地址,而地址空间中的代码在装入过程中不发生变化。 (4) 对换技术如何解决内存不足的问题? 在多道程序环境中可以采用对换技术。此时,内存中保留多个进程。当内存空间不足以 容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出 到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。 (5) 解释固定分区法和动态分区法的基本原理。 固定分区法——内存中分区的个数固定不变, 各个分区的大小也固定不变, 但不同分区 的大小可以不同。每个分区只可装入一道作业。 动态分区法——各个分区是在相应作业要进入内存时才建立的, 使其大小恰好适应作业 的大小。

(6) 动态重定位分区管理方式中如何实现虚-实地址映射? 进程装入内存时, 是将该其程序和数据原封不动地装入到内存中。 当调度该进程在 CPU 上执行时, 操作系统就自动将该进程在内存的起始地址装入基址寄存器, 将进程的大小装入 限长寄存器。当执行指令时,如果地址合法,则将相对地址与基址寄存器中的地址相加,所 得结果就是真正访问内存的地址;如果地址越界,则发出相应中断,进行处理。 (7) 分页存储管理的基本方法是什么? 分页存储管理的基本方法是:逻辑空间分页,内存空间分块,块与页的大小相等。页连 续而块离散,用页号查页表,由硬件作转换。 (8) 在分页系统中页面大小由谁决定?页表的作用是什么?如何将逻辑地址转换成 物理地址? 在分页系统中页面大小由硬件决定。 页表的作用是实现从页号到物理块号的地址映射。 逻辑地址转换成物理地址的过程是: 用页号 p 去检索页表, 从页表中得到该页的物理块 号 f,把它装入物理地址寄存器中。同时,将页内地址 d 直接送入物理地址寄存器的块内地 址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而 完成了从逻辑地址到物理地址的转换。 (9) 虚拟存储器有哪些基本特征? 虚拟存储器的基本特征是: 虚拟扩充——不是物理上,而是逻辑上扩充了内存容量; 部分装入——每个进程不是全部一次性地装入内存,而是只装入一部分; 离散分配——不必占用连续的内存空间,而是“见缝插针”; 多次对换——所需的全部程序和数据要分成多次调入内存。 (10) 页面抖动与什么有关? 好的页面置换算法能够适当降低页面更换频率,减少缺页率,尽量避免系统“抖动”。 此外,一般来说,随着可用内存块数的增加,缺页数也将减少。 3. 思考题 . (1) 为了提高内存的利用率,在可重定位分区分配方式中可通过什么技术来减少内 存碎片?

在可重定位分区分配方式中采用紧缩技术来减少内存碎片。 (2) 请求分页技术与简单分页技术之间的根本区别是什么? 请求分页技术与简单分页技术之间的根本区别是: 请求分页提供虚拟存储器, 而简单分 页系统并未提供虚拟存储器。 (3) 某虚拟存储器的用户编程空间共 32 个页面,每页为 1KB,内存为 16KB。假定 某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 页号 0 1 2 3 计算逻辑地址 0A5C(H)所对应的物理地址。 解: 页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共 32 个页面”,可知页号部分占 5 位;由“每页为 1KB”,1K=210,可知内页地址占 10 位。 由“内存为 16KB”,可知有 16 块,块号为 4 位。 逻辑地址 0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的 分析,下划线部分为页内地址,编码“000 10”为页号,表示该逻辑地址对应的页号为 2。 查页表, 得到物理块号是 4 (十进制) 即物理块地址为: 00 , , 01 拼接块内地址 10 0101 1100, 得 01 0010 0101 1100,即 125C(H)。 (4) 考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为 3,5 时,试问 LRU、FIFO、OPT 这三种置换算法的缺页次数各 是多少?(注意, 所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。 ) 淘 汰 算 法 内存块数 LRU 3 5 15 8 FIFO 16 10 OPT 11 7 物理块号 5 10 4 7

(5) 考虑下面存储访问序列,该程序大小为 460 字: 10,11,104,170,73,309,185,245,246,434,458,364 设页面大小是 100 字,请给出该访问序列的页面走向。又设该程序基本可用内存是 200 字,采用 FIFO 置换算法,求出其缺页率。如果采用 LRU 置换算法,缺页率是多少?如果 采用最优淘汰算法,其缺页率又是多少?(注:缺页率=缺页次数/访问页面总数) 解: 根据已知条件页面大小是 100 字,将页面访问序列简化为: 0,0,1,1,0,3,1,2,2,4,4,3 又因为该程序基本可用内存是 200 字,可知内存块数为 2。 采用先进先出置换算法(FIFO),总共有 6 次缺页,缺页率为 6/12=50%,具体算法如 下: 页面走向 块1 块2 缺页 缺 0 0 0 1 0 1 缺 1 0 3 3 1 缺 1 2 3 2 缺 2 4 4 2 缺 4 3 4 3 缺

采用最近最少使用置换算法(LRU),总共有 6 次缺页,缺页率为 6/12=50%,具体算 法如下: 页面走向 块1 块2 缺页 缺 0 0 0 1 0 1 缺 1 0 3 0 3 缺 1 1 3 缺 2 1 2 缺 2 4 4 2 缺 4 3 4 3 缺

采用最佳置换算法(OPT),总共有 5 次缺页,缺页率为 5/12=41.6%,具体算法如下: 页面走向 块1 块2 缺页 缺 0 0 0 1 0 1 缺 1 0 3 3 1 缺 1 2 3 2 缺 2 4 3 4 缺 4 3

第五章 1. 基本概念和术语 . (1) 解释下列概念:文件、文件系统、文件的逻辑组织、文件的物理组织、目录项、 目录文件、路径、当前目录。 文件是被命名的相关信息的集合体。 通常存放在外存上, 可以作为一个独立单位存放和 文件 实施相应的操作。 文件系统是操作系统中负责操纵和管理文件的一整套机制,它实现文件的共享和保护, 文件系统 方便用户“按名存取”。 文件的逻辑组织——用户对文件的观察和使用是从自身处理文件中数据时采用的组织 文件的逻辑组织 方式来看待文件组织形式。这种从用户观点出发所见到的文件组织形式称为文件的逻辑组 织。 文件的物理组织——文件在存储设备上的存储组织形式称为文件的物理组织。 文件的物理组织 目录项——为了加快对文件的检索, 往往把文件控制块集中在一起进行管理。 这种文件 目录项 控制块的有序集合就称为文件目录。当然,文件控制块也就是其中的目录项。 目录文件——全由目录项构成的文件就称为目录文件。 目录文件 路径——在树形目录结构中,从根出发、经由所需子目录、到达指定文件的通路。 路径 当前目录——为节省文件检索的时间,每个用户可以指定一个目录作为当前的工作目 当前目录 录,以后访问文件时,就从这个目录开始向下顺次检索。这个目录就称作当前目录。 2. 基本原理和技术 . (1) UNIX/Linux 系统中文件分为哪些类型? UNIX/Linux 系统中文件分为以下类型:普通文件,目录文件,特殊文件。 (2) 文件的逻辑组织有几种形式? 文件的逻辑组织有以下形式: 无结构文件和有结构文件。 无结构文件是指文件内部不再 划分记录,它是由一组相关信息组成的有序字符流,即流式文件。有结构文件又称为记录式 文件, 它在逻辑上可被看成一组连续顺序的记录的集合, 又可分为定长记录文件和变长记录 文件两种。 (3) 文件的物理组织形式主要有哪几种?各有什么优缺点? 文件的物理组织形式主要有:连续文件、链接文件、索引文件、多重索引文件。各自的 优缺点见下表:

优 点

缺 点 建文件时就确定它的长度很难实现; 它不便于文件的动态扩充; 可能出现 外部碎片,从而造成浪费。 一般仅适于顺序访问, 而不利于对文 件的随机存取; 每个物理块上增加一 个连接字, 为信息管理添加了一些麻 烦;可靠性差。

连续文件

顺序存取速度较快。

链接文件

克服了连续文件的缺点。

索引文件

需要增加索引表带来的空间开销。 往 除了具备链接文件的优点之外, 往以内存空间为代价来换取存取速 还克服了它的缺点。 度的改善。

除具有一般索引文件的优点外, 多重索引文件 还可满足对灵活性和节省内存 间接索引需要多次访盘而影响速度。 的要求。 (4) 一般说来,文件系统应具备哪些功能? 一般说来,文件系统应具备以下功能:文件管理;目录管理;文件存储空间的管理;文 件的共享和保护;提供方便的接口。 (5) 文件控制块与文件有何关系? 文件控制块——用于控制和管理文件的数据结构,其中包括文件名、文件类型、位置、 大小等信息。 文件控制块与文件一一对应, 即在文件系统内部, 给每个文件唯一地设置一个文件控制 块,核心利用这种结构对文件实施各种管理。 (6) 文件系统中的目录结构有哪几种基本形式?各有何优缺点?UNIX/Linux 系统中 采用哪种目录结构? 文件系统中的目录结构有:单级目录结构,二级目录结构,树形目录结构,非循环图目 录结构。各自的优缺点如下表: 目录结构 优 点 缺 点 查找速度慢;不允许重名; 单级目录 简单,能实现按名存取。 不便于共享。 二级目录 树形目录 允许重名;提高了检索目录的速度。 仍不利于文件共享。

文件的层次和隶属关系很清晰, 便于 只能在用户级对文件进行临时共享。

实现不同级别的存取保护和文件系 统的动态装卸。 非循环图目录 具有树形结构的优点, 而且实现对文 件的永久共享。 管理较复杂。

UNIX 系统中采用非循环图目录结构,即带链接的树形目录结构。 (7) 常用的磁盘空闲区管理技术有哪几种?试简要说明各自的实现思想。 常用的磁盘空闲区管理技术有:空闲盘块表法、空闲块链接法、位示图法、空闲块成组 链接法。 空闲盘块表法——所有连续的空闲盘块在表中占据一项, 其中标出第一个空闲块号和该 项中所包含的空闲块个数, 以及相应的物理块号。 利用该表进行盘块的分配和文件删除时盘 块的回收。 空闲块链接法——所有的空闲盘块链在一个队列中,用一个指针(空闲区头)指向第一 个空闲块,而各个空闲块中都含有下一个空闲区的块号,最后一块的指针项记为 NULL,表 示链尾。分配和释放盘块都在链头进行。 位示图法——利用一串二进位的值来反映磁盘空间的分配情况,每个盘块都对应一位。 如果盘块是空闲的,对应位是 0;如盘块已分出去,则对应位是 1。 空闲块成组链接——把所有空闲盘块按固定数量分组, 组与组之间形成链接关系, 最后 一组的块号(可能不满一组)通常放在内存的一个专用栈结构中。这样,平常对盘块的分配 和释放是在栈中进行(或构成新的一组)。 (8) 什么是文件的共享?文件链接如何实现文件共享? 文件的共享是指系统允许多个用户(进程)共同使用某个或某些文件。 文件链接是给文件起别名,即将该文件的目录项登记在链接目录中。这样,访问该文件 的路径就不只一条。不同的用户(或进程)就可以利用各自的路径来共享同一文件。 (9) 什么是文件保护?常用的保护机制有哪些? 文件保护——是指文件免遭文件主或其他用户由于错误的操作而使文件受到破坏。 常用的文件保护机制有: ① 命名——自己的文件名,不让他人知道; ② 口令——对上口令,才能存取; ③ 存取控制——有权才可存取,不同权限干不同的事;

④ 密码——信息加密,解密复原。 (10) 什么是文件的备份?数据备份的方法有哪几种?按时机分,备份分哪几种? 文件备份就是把硬盘上的文件在其它外部的存储介质(如磁带或软盘)上做一个副本。 数据备份的方法有完全备份、增量备份和更新备份三种。 按时机分,后备分为“定期备份”和“不定期备份”。 (11) 硬盘分区有哪三种类型?Linux 可以安装在哪些分区上? 硬盘分区有三种类型:主分区、扩展分区和逻辑分区。Linux 既可以安装在主分区上, 也可以安装在逻辑分区上。 (12) 在 Linux 系统中,ext2 文件系统的构造形式是什么?超级块的作用是什么? 在 Linux 系统中,ext2 文件系统的构造形式为引导块和一系列的块组。其中块组又包括 超级块、块组描述结构、块位示图、索引节点位示图、索引节点表和数据块。 超级块中包含有文件系统本身的大小和形式的基本信息。 文件系统管理员可以利用

操作系统期末复习指导1_!.doc

操作系统期末复习指导1_! - 操作系统(本科)期末复习指导 操作系统(本科)是

计算机操作系统期末复习指导1(本科).doc

计算机操作系统期末复习指导1(本科) - 1 一、 各章复习要点 第一章 计算机

操作系统期末复习指导(看完必过).pdf

操作系统期末复习指导(看完必过) - 《操作系统》期末复习指导( 第 1 部分

操作系统期末考试复习题(全)1.doc

操作系统期末考试复习题(全)1 隐藏>> 一 填空: 1.操作系统为

操作系统期末复习指导_图文.pdf

操作系统期末复习指导 - 操作系统期未复习指导 中央电大 1操作系统引论 1.1复习重点 袁 薇 异步性你走我停。 (5)掌握操作系统的主要类型:多道批处理系统...

操作系统期末考试复习资料1.pdf

操作系统期末考试复习资料1 - 计算机科学与技术(专升本) 操作系统期末考试复习

计算机操作系统期末复习题(答案最全).doc

计算机操作系统期末复习题(答案最全) - 计算机操作系统期末复习题 注:1-简单

操作系统期末复习题_非常完整资料.doc

操作系统期末复习题_非常完整资料 - 一、单项选择题(每题 1 分,共 20 分

计算机操作系统期末复习指导(新).doc

计算机操作系统期末复习指导(新) - 第1章 计算机操作系统概述 章 1、操作系

计算机操作系统期末复习指导打印版.doc

计算机操作系统期末复习指导打印版 - 1. 单项选择题 1)引入多道程序的目的是

操作系统期末复习题1.doc

操作系统期末复习题1 - 操作系统期末复习题 1、操作系统的主要功能及基本特征

计算机操作系统期末复习指导(本科).doc

计算机操作系统期末复习指导(本科) 摘要: 多道程序设计:即在系统内 内存 同时

#操作系统期末复习指导-2017.5.doc

#操作系统期末复习指导-2017.5 - 《操作系统》期末复习指导(2017 年

计算机操作系统期末复习题(带答案).doc

计算机操作系统期末复习题(带答案) - 57 计算机操作系统期末复习题 第一部分操作系统基本概念 一、选择题(选择最确切的一个答案,将其代码填入括号中) 多道程序...

操作系统(本科)期末复习指导.doc

操作系统(本科) 操作系统(本科)期末复习指导操作系统(本科)是中央广播电视大学计算机...【掌握】 1. 操作系统的概念 操作系统是控制和管理计算机系统内各种硬件和软件...

操作系统(本科)期末复习指导.txt

操作系统(本科)期末复习指导 - 操作系统 本文由刘樟丽贡献 操作系统(本科) 操作系统(本科)期末复习指导 、复习重点和要求 第 1操作系统概述 考核学生对...

《操作系统》期末复习指导.doc

操作系统期末复习指导(专科用) 操作系统期末复习指导(专科用)中央电大...学习重点: 学习重点: (1) 什么是操作系统; (2) 操作系统的主要功能; (3)...

my操作系统课程期末复习指导.doc

my操作系统课程期末复习指导 - 操作系统课程期末复习指导 、试题构成 1、单项选择题(本大题共 20 道小题,每小题 1 分,共 20 分) 2、判断题(本大题共 ...

计算机操作系统期末考试题及答案 (1).pdf

计算机操作系统期末考试题及答案 (1)_教育学_高等教育_教育专区。2006—2007 学年度第 二 学期一、单项选择题(每题1分,共20分) 1.操作系统的发展过程是( )...

电大操作系统课程期末复习指导.doc

电大操作系统课程期末复习指导_资格考试/认证_教育专区。电大期末考试资料 ...1 12. 为了使系统中所有的用户都能得到及时的响应,该操作系统应该是(B )。 ...