您好、欢迎来到现金彩票网!
当前位置:ds视讯 > 分区存取法 >

操作系统复习例题doc

发布时间:2019-06-18 19:26 来源:未知 编辑:admin

  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操作系统是采用微内核方法实现结构设计的。() 三、简答题 请同学们解答参考教材26页的课后习题。 参考答案: 一、CBDDB BCBDD C 二、1、4、5是正确的。 2、(╳)安装操作系统时必须先安装操作系统,然后再安装其它软件 3、(╳)其它软件建立在操作系统之上。 6、(╳)UNIX操作系统采用的是层次结构 三、四见教材习题解答 第2章 进程管理 辅导与自测 2.1 本章知识点 进程是操作系统中最基本、最重要的概念之一,在计算机系统中,进程不仅是最基本的并发执行的单位,而且也是分配资源的基本单位。引入进程这个概念,对于我们理解、描述和设计操作系统具有重要意义。 本章的主要知识点为: (1)进程的概念 进程是程序在并发环境中的执行过程。进程最根本的属性是动态性和并发性。要注意进程与程序的区别。进程的五个基本特征是:动态性、并发性、独立性、制约性、结构性。 一个进程实体通常由程序、数据、栈和进程控制块(PCB)这四部分组成。进程控制块是进程组成中最关键的部分。每个进程有唯一的进程控制块。操作系统根据PCB对进程实施控制和管理。进程的动态、并发等特征是利用PCB表现出来的。 为了对所有进程进行有效地管理,常将各进程的PCB用适当的方式组织起来。一般说来,进程队列有以下几种方式:线性方式、链接方式和索引方式。 进程有三个基本状态:运行态、就绪态和阻塞态。在一定的条件下,进程的状态将发生转换。下图所示为进程的状态及其转换。 图 进程状态及其转换 (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是不正确的。 图 进程状态及其转换 如果有的同学记不住这张图,那就从理解的角度进行思考。首先要理解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; ②如果S?0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由P,V操作来改变。 一般来说,信号量S?0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个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操作,出临界区。若有多个分支,要认线)互斥信号量的初值一般为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操作写出这些进程的同步算法。 分析 我们画一个草图来帮助我们理解这道题: 从图中可以看出,从“卡片机”到“打印机”共需要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 练习题 一、选择题(选择一个正确答案的代码填入括号中) 顺序程序和并发程序的执行相比,( )。 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.动态性 某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( )。 从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪 一个进程被唤醒意味着( )。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首 在单处理机系统中,处于运行状态的进程( )。 A.只有一个 B.可以有多个 C.不能被挂起 D.必须在执行完后才能被撤下 已经获得除( )以外的所有运行所需资源的进程处于就绪状态。 A.存储器 B.打印机 C.CPU 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.控制模块 操作系统中利用信号量和P、V操作,( )。 A.只能实现进程的互斥 B.只能实现进程的同步 C.可实现进程的互斥和同步 D.可完成进程调度 如果进程Pa对信号量S执行P操作,则信号量S的值应( )。 A.加1 B.减1 C.等于0 D.小于0 如果信号量S的值是0 , 此时进程A执行P(S)操作,那么,进程A会( )。 A.继续运行 B.进入阻塞态,让出CPU C.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程 在操作系统中,对信号量S的P操作原语的定义中,使进程进入相应阻塞队列等待的条件是( )。 A.S0 B.S=0 C.S0 D.S?0 信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( )。 A.10 B.8 C.6 D.4 若P、V操作的信号量S初值为2,当前值为 ?1,则表示有( )个等待进程。 A.0 B.l C.2 D.3 在进程通信中,使用信箱方式交换信息的是( )。 A.低级进程通信 B.高级进程通信 C.共享内存方式 D.管道文件方式 系统出现死锁的原因是( )。 A.计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C.若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源 D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数 两个进程争夺同一个资源( )。 A.一定死锁 B.不一定死锁 C.不会死锁 D.以上说法都不对 二、判断题(正确的划√,错误的划×。) 简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。( ) 进程和程序是两个截然不同的概念。( ) 程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分配系统资源。( ) 进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。( ) 进程执行的相对速度不能由进程自己来控制。( ) 进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。( ) 信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。( ) V操作是对信号量执行加1操作,意味着释放一个单位资源,如果加1后信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为阻塞状态,否则现进程继续进行。( ) 利用信号量的P,V操作,进程之间可以交换大量信息。( ) 系统产生死锁的根本原因是资源有限且操作不当。因此,当系统提供的资源少于并发进程的需求时,系统就产生死锁。( ) 三、简答题 四、应用题 请同学们解答参考教材68页的课后习题。操作系统以为单位分配系统资源PCB)是为系统中各个进程设置的私有数据结构。 第章 辅导与自测 .1 本章知识点 调度是操作系统的基本功能,几乎所有的计算机资源在使用之前都要经过调度。CPU计算机最主要的资源,CPU是操作系统中最核心的调度,其调度策略决定了操作系统的类型,其算法优劣直接影响整个系统的性能。所以,调度问题是操作系统设计的一个中心问题。一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和低级调度这是按调度层次进行分类的。作业调度是选择有权竞争CPU的作业。资源的分配策略(特别是内存管理)对作业调度有很大影响。为了使内存中同时存放的进程数目太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程调度是从就绪队列中选择一个进程,并把CPU分配给它。三级调度 通过理解这个图,理解作业的4种状态:提交、后备、执行和完成,作业调度的功能,进程调度的功能,进程调度的时机,以及这两级调度如何协调工作完成了处理机调度。 (2)常用调度算法 针对不同的系统目标,会采取不同的调度策略。确定调度策略是件复杂的工作,往往要兼顾多种因素的影响。CPU利用率、吞吐量、周转时间、等待时间和响应时间等是通常评价性能时都要考虑的几个指标。 先来先服务转法优先级法先来先服务法(FCFS)是最简单的调度算法,它的实现思想就是“排队买票”的办法。时间片轮转法RR)的设计实现思想是系统把所有就绪进程按先入先出的原则排成一个队列。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程。轮转于分时系统。其主要问题是时间片如何选择:时间片太长了,就成为FCFS调度;时间片太短了,频繁调度,开销太大。CPU分给它使用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下去,直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占用CPU。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。 其它常用的调度算法还有:短作业优先法、最短剩余时间优先法、多级队列法、多级反馈队列法。 并发是现代计算机系统的重要特性,它允许多个进程同时在系统中活动。而实施并发的基础是由硬件和软件结合而成的中断机制。中断是现代计算机系统中的重要概念之一,它是指CPU对系统发生的某个事件出的处理过程。硬件对中断请求出响应:中止当前程序的执行,保存断点信息,转到相应的处理程序。软件对中断进行相应的处理:保存现场,分析原因,处理中断,中断返回。各中断处理程序是操作系统的重要组成部分。对中断的处理是在核心态下进行的。 Linux系统提供给用户的最重要的系统程序是shell命令语言解释程序。其基本功能是解释并执行用户输入的各种命令,实现用户与Linux核心的接口。shell解释程序的工作过程基本上是读入命令行、分析命令行和构成命令树,创建子进程来执行命令树等步骤。Linux系统的进程调度机制主要涉及调度方式、调度策略、调度时机和调度算法。Linux系统对进程采用两级调度:中级调度(对换进程,解决内存分配)和低级调度(解决CPU分配)。进程调度基本上采用抢占式优先级算法。而针对不同类型的进程又采用相应的调度策略。 本章还介绍了Linux系统中常用的调度命令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. B. C.D.1 2 3 0.0 0.4 1.0 8.0 4.0 1.0 分析 解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时间图来表示作业的执行情况,帮助我们理解此题。 采用先来先服务调度策略,其作业执行时间图如下: 采用短作业优先调度策略,其作业执行时间图如下: 另外,作业i的周转时间Ti=作业完成时间-作业提交时间 系统中n个作业的平均周转时间,其中Ti为作业i的周转时间。 解:采用先来先服务调度策略,则调度次序为l、2、3。 作业号 提交时间 运行时间 开始时间 完成时间 周转时间 1 0.0 8.0 0.0 8.0 8.0 2 0.4 4.0 8.0 12.0 11.6 3 1.0 1.0 12.0 13.0 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 1.0 1.0 8.0 9.0 8.0 2 0.4 4.0 9.0 13.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是什么作业调度算法? 分析 作业的周转时间=作业完成时间-作业提交时间作业完成时间:00-作业提交时间1: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暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。C语言的普通函数调用那样出现在程序中。但是,一般的函数调用序列并不能把进程的运行模式从用户态变为核心态,而系统调用却可以做到这一点,即从用户空间转入系统空间。 trap指令是实现系统调用的汇编代码,trap指令有这样一种性质:当CPU执行到trap指令时,CPU的状态就从用户态变为核心态。本题正好说反了,因此是错误的。 【例9】UNIX/Linux系统中的shell是负责( )的模块。 A. B.C. D.shell命令语言解释程序是Linux系统提供给用户的最重要的系统程序。它不属于内核部分,而是在核心之外以用户态方式运行。其基本功能是解释并执行用户输入的各种命令,实现用户与Linux核心的接口。命令分为内部命令和外部命令两种,内部命令最简单最常用的命令,在shell启动时进入内存,Linux外部命令是一个独立的可执行程序一、选择题() 在操作系统中,JCB是指( )。 A.文件控制块 B.进程控制块 C.作业控制块 D.程序控制块 进程调度根据一定的调度算法,从()队列中挑选出合适的进程。 A.阻塞 B.就绪 C.运行 D.等待 ....A. B. C. D.........CPU状态分为核心态和用户态,从用户态转换到核心态的途径是( )。 A.运行进程修改程序状态字 B.中断屏蔽 C.系统调用 D.进程调度程序 二、题(正确的划√,错的划×) 处理机调度可分为三级:高级、中级和低级。在所有的系统中,都必须具备这三级调度。()()()三、简答题 四、应用题 请同学们解答参考教材页的课后习题。 第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中。 静态重定位的优点是无须增加硬件地址转换机构,便于实现程序的静态连接。在早期计算机系统中大多采用这种方案。它的主要缺点是程序的存储空间只能是连续的一片区域,而且在重定位之后就不能再移动,这不利于内存空间的有效使用;另外各个用户进程很难共享内存中的同一程序的副本。 动态重定位是在程序执行期间每次访问内存之前进行重定位。这种变换是靠硬件地址变换机构实现的。通常采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。动态重定位的过程如图4.2所示。这时,操作对象的绝对地址就是重定位寄存器中的内容+操作对象的相对地址。 动态重定位的主要优点是程序占用的内存空间动态可变,也不必连续存放在一处;比较容易实现几个进程对同一程序副本的共享使用。它的主要缺点是需要附加的硬件支持,增加了机器成本,而且实现存储管理的软件算法比较复杂。 与静态重定位相比,动态重定位的优点突出。所以现在一般计算机系统中都采用动态重定位方法。 【例2】动态分区分配按进程的需求量分配内存分区,所以( )。 A.分区的长度是固定的 B.分区的个数是确定的 C.分区的长度和个数都是确定的 D.分区的长度不是预先固定的,分区的个数是不确定的 答案 D 分析 分区法分为固定分区和动态分区。其中,固定分区内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。动态分区在最初时,除了操作系统占用的分区外,全部内存对用户进程都是可用的。分区是在进程要进入内存时才建立的,按照进程的需求量划分内存分区,根本无法预测分区的长度和个数。本题的选项A、B、C是针对固定分区而言的,只有选项D是描述动态分区的。 【例3】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问: (1)逻辑地址需要多少二进制位表示? (2)物理地址需要多少二进制位表示? 解 因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)。 (1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。 (2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。 分析 在分页存储管理中,逻辑地址结构如下图所示。 它由两个部分组成:前一部分表示该地址所在页面的页号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显示了页式管理系统的地址转换机构。 页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址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 练习题 一、选择题(选择一个正确答案的代码填入括号中) 通常,用户编写的程序中所使用的地址是( )。 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.若干不连续的页面 固定分区中各分区的大小是( )。 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位地址,则它的虚拟地址空间为( )。 A.100K B.640K C.2G D.4G 在请求分页虚拟存储管理中,若所需页面不在内存中,则会引起( )。 A.输入输出中断 B.时钟中断 C.越界中断 D.缺页中断 下列存储管理方案中,不要求将进程全部调入并且也不要求连续存储空间的是( )。 A.固定分区 B.可变分区 C.页式存储管理 D.请求分页式存储管理 存储管理中,页面抖动是指( )。 使用机器时,屏幕闪烁的现象 被调出的页面又立刻被调入所形成的频繁调入调出现象 系统盘有问题,致使系统不稳定的现象 由于主存分配不当,偶然造成主存不够的现象 在页式虚拟存储管理系统中,LRU算法是指( )。 最早进入内存的页先淘汰 近期最长时间以来没被访问的页先淘汰 近期被访问次数最少的页先淘汰 以后再也不用的也先淘汰 二、判断题(正确的划√,错误的划×。) 在现代操作系统中,不允许用户干预内存的分配。( ) CPU可以直接访问外存(如磁盘)上的数据。( ) 固定分区存储管理的各分区的大小不可变化,这种管理方式不适合多道程序设计系统。( ) 可重定位分区存储管理可以对作业分配不连续的内存单元。( ) 采用动态重定位技术的系统,目标程序可以不经任何改动,而装入物理内存。( ) 动态存储分配时,要靠硬件地址变换机构实现重定位。( ) 在页式存储管理方案中,为了提高内存的利用效率,允许同时使用不同大小的页面。( ) 虚拟存储器是利用操作系统产生的一个假想的特大存储器,是逻辑上扩充了内存容量,而物理内存的容量并未增加。( ) 虚拟存储方式下,程序员编制程序时不必考虑主存的容量,但系统的吞吐量在很大程度上依赖于主存储器的容量。( ) 虚拟存储空间实际上就是辅存空间。( ) 在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。因此,用户地址空间的大小可以不受任何限制。( ) 页式存储管理系统不利于页面的共享和保护。( ) 三、简答题 四、应用题 请同学们解答参考教材137页的课后习题。CPU不能直接访问外存上的数据固定分区管理方式多道程序设计分区存储管理对作业分配连续的内存单元页式存储管理虚拟存储空间 操作系统管理的资源有硬资源和软资源,软资源的一个重要方面指的是文件。我们的程序和数据等都要以文件的形式存放在系统中,所以文件系统与用户的关系也最为密切。 操作系统通过管理多种存储设备来执行抽象的文件概念。由于计算机系统需要处理的信息量太大,不可能把所有的信息全部保存到内存中,而往往将其中的绝大部分保存在外存,通常是保存在磁盘中,只有那些相对稳定(即不经常使用与修改)的信息才保存在磁带中。然而,在多用户系统中,既要保证各用户的信息存放位置不冲突,又要防止任一用户大量占用外存空间而不使用;既要保证用户的信息不被非法窃取或破坏,又要允许在许可的情况下多个用户共享。显然,这一切都是单个用户无法胜任的,需要有一个公共的管理机构来负责统一使用

  “原创力文档”前称为“文档投稿赚钱网”,本网站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】

http://isttp.com/fenqucunqufa/517.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有