操作系统的开发与设计方案.docx_第1页
操作系统的开发与设计方案.docx_第2页
操作系统的开发与设计方案.docx_第3页
操作系统的开发与设计方案.docx_第4页
操作系统的开发与设计方案.docx_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统的开发与设计方案一、复习重点和要求第1章 操作系统概述考核学生对操作系统的定义、主要功能、主要类型、操作系统的特征以及分时概念等内容的学习情况。 【掌握】1. 操作系统的概念操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。记忆要点:操作系统是什么是系统软件;操作系统管什么控制和管理计算机系统内各种资源;操作系统有何用扩充硬件功能,方便用户使用。2. 操作系统的主要功能操作系统的五大主要功能:存储管理、进程和处理机管理、文件管理、设备管理、用户接口管理。【理解】1. 操作系统的特征:并发、共享和异步性。理解模拟:并发“大家都前进了”; 共享“一件东西大家用”; 异步性“你走我停”,“走走停停”。2. 操作系统的主要类型操作系统的主要类型有:多道批处理系统、分时系统、实时系统、网络操作系统、个人机操作系统、分布式系统和嵌入式操作系统。UNIX系统是著名的分时系统。3. 分时概念:主要是指若干并发程序对CPU时间的共享。【了解】1. 操作系统的形成;2. 分时和实时操作系统的特点;3. 操作系统在计算机系统中的地位:是裸机之上的第一层软件,是建立其他所有软件的基础。4. 操作系统结构设计:整体结构、层次结构、虚拟机结构和客户机-服务器结构。5. 操作系统为用户提供的三种用户接口:图形用户接口、命令行接口和程序接口。系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统,系统调用以C函数的形式出现。第2章 进程管理考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步与互斥、信号量和、操作及其一般应用、死锁的概念和产生死锁的必要条件等内容学习情况。【掌握】1. 进程的定义:进程是程序在并发环境中的执行过程。进程与程序的主要区别。进程最基本的属性是动态性和并发性。2. 进程的状态及其转换进程的3种基本状态是:运行态、就绪态和阻塞态。掌握教材38页的进程状态及其转换图。3. 进程的同步与互斥的概念。可以简单理解为:同步是协作,互斥是竞争。4. 信号量和、操作及其一般应用。运用信号量机制和、操作,解决并发进程一般的互斥和同步问题。解决此类问题的一般方式: 根据问题给出的条件,确定进程有几个或几类; 确定进程间的制约关系是互斥,还是同步; 各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值; 用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中断处理DCPU调度答案 B分析 教材中介绍操作系统的主要功能有存储管理、进程和处理机管理、文件管理、设备管理和用户接口管理,一般被认为是操作系统的五大功能。对于本题,A显然是操作系统的功能之一,C中断处理是操作系统实施并发的基础,对于操作系统非常重要,是实现多道程序设计的前提。它就像机器中的齿轮,驱动各部件的动作,因此,许多人称操作系统是由“中断驱动”的。C和D都属于操作系统的进程和处理机管理功能。只有B不是操作系统需要具备的主要功能,它一般是由应用软件提供的,如应用软件Windows Office的组件Word就提供了文档编辑功能。【例5】 操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为(1)、(2)、(3)、网络操作系统和分布式操作系统基本类型。其中1的主要目标是提高系统的吞吐率和效率,而2是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回。A单用户系统B批处理系统C分时系统D微机操作系统E实时系统答案 1B2E3C分析 解答此题需要理解三种传统操作系统类型的不同特点。批处理操作系统的主要特征可归纳为两点:“多道”和“成批”。“多道”是指内存中同时存在有多个正在处理的作业,并且外存上还存放有大量的尚待处理的后备作业。“成批”是指作业成批地进入系统,成批地处理,成批地离开系统;作业与作业之间的过渡由操作系统控制,不需用户的干预。批处理系统的主要优点是系统吞吐量大,资源利用率高;缺点是用户作业的等待时间长,用户与系统没有交互能力。(吞吐量:在一段给定的时间内,计算机所能完成的总工作量。)分时系统与实时系统的主要区别如下:(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. 操作系统内核与用户程序、应用程序之间的接口是()。Ashell命令B图形界面C系统调用DC语言函数8. 为了使系统中所有的用户都能得到及时的响应,该操作系统应该是()。A多道批处理系统B分时系统C实时系统D网络系统9. 在实时系统中,一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回。下面属于实时系统的是()。A计算机激光照排系统B办公自动化系统C计算机辅助设计系统D航空订票系统10.下面不属于分时系统特征的是()。A为多用户设计B需要中断机构及时钟系统的支持C方便用户与计算机的交互D可靠性比实时系统要求高11. 以下著名的操作系统中,属于多用户、分时系统的是()。ADOS系统BWindows NT系统 CUNIX系统DOS/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,该进程在系统中就不存在了。【例5】在执行V操作时,当信号量的值( ),应释放一个等待该信号量的进程。 A小于0 B大于0 C小于等于0 D大于等于0答案 C分析 P,V操作能够实现对临界区的管理要求。它由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):将信号量S的值减1,即S=S-1; 如果S0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。 V(S):将信号量S的值加1,即S=S+1; 如果S0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由P,V操作来改变。一般来说,信号量S0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。【例6】有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为( )。 A1 B6 C8 D9答案 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中取出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论