![操作系统 习题及答案汇 机工版自考 第1-8章 操作系统概论-进程同步机制与死锁_第1页](http://file4.renrendoc.com/view8/M01/1E/19/wKhkGWckNCCAFqyAAAKg40Ylmbg517.jpg)
![操作系统 习题及答案汇 机工版自考 第1-8章 操作系统概论-进程同步机制与死锁_第2页](http://file4.renrendoc.com/view8/M01/1E/19/wKhkGWckNCCAFqyAAAKg40Ylmbg5172.jpg)
![操作系统 习题及答案汇 机工版自考 第1-8章 操作系统概论-进程同步机制与死锁_第3页](http://file4.renrendoc.com/view8/M01/1E/19/wKhkGWckNCCAFqyAAAKg40Ylmbg5173.jpg)
![操作系统 习题及答案汇 机工版自考 第1-8章 操作系统概论-进程同步机制与死锁_第4页](http://file4.renrendoc.com/view8/M01/1E/19/wKhkGWckNCCAFqyAAAKg40Ylmbg5174.jpg)
![操作系统 习题及答案汇 机工版自考 第1-8章 操作系统概论-进程同步机制与死锁_第5页](http://file4.renrendoc.com/view8/M01/1E/19/wKhkGWckNCCAFqyAAAKg40Ylmbg5175.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章操作系统概论习题什么是计算机系统?计算机系统是怎样构成的?计算机系统是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。计算机系统是由硬件系统和软件系统构成的。硬件系统是计算机系统赖以工作的实体。软件系统保证计算机系统按用户指定的要求协调地工作。什么是操作系统?请说明操作系统在计算机系统中的作用和地位。操作系统是计算机系统中的一个系统软件,它能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。操作系统管理计算机系统的哪些资源?操作系统组织和管理计算机系统中的硬件及软件资源。在计算机系统中的硬件和软件资源可以分成以下几部分:中央处理器(CPU)、存储器(内存和外存)、外部设备和信息(文件)。为了掌握整个计算机系统的硬件和软件资源,操作系统设计了各种不同类型的表格或数据结构,将所有的硬件和软件资源一一加以登记,资源的名称、类型、数量、用途、完好状态以及目前使用状态等所有信息,均在有关数据结构中保存,并动态地、实时地不断更新着这些数据。从而让操作系统根据用户对各种资源的需求情况,资源的当前分配和使用情况以及有关的资源调度策略,对资源进行有效的组织和管理。请从资源管理的角度说明操作系统的主要功能。现代计算机系统支持多个用户、多道作业。面对众多的用户程序、作业争夺处理器、存储器、设备和共享软件资源,操作系统需要登记谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的要求,以及收回哪些不再使用的资源等。操作系统要提供一些机制去协调程序间的竞争与同步,提供机制对资源进行合理使用,施加保护,以及采取虚拟技术来“扩充”资源。操作系统有哪些基本特征?操作系统的基本特征有并发性、共享性、虚拟性、异步性。并发性:并发性是指计算机系统中同时存在多个运行的程序,从宏观上看,这些程序似乎是在同时运行,尽管在单处理器系统中,从微观上看,CPU是通过快速切换来交替执行多个程序的。共享性:共享性是指系统中的资源可以被多个并发执行的进程共同使用。这种共享分为互斥共享和同时共享两种。互斥共享意味着资源一次只能被一个进程使用,而同时共享则表示一个资源可以同时被多个进程访问。虚拟性:虚拟性是通过某种技术把一个物理实体转换为若干个逻辑上的对应物。例如,虚拟存储器可以将较小的物理内存虚拟为更大的逻辑存储器,使得用户看到的内存空间大于实际的物理内存空间。异步性:异步性是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是以不可预知的速度向前推进的。这要求操作系统具有调度和协调各个进程执行的能力。请叙述各类操作系统的工作方式及特点。操作系统类型主要包括批处理操作系统,分时操作系统,实时操作系统,网络操作系统,分布式操作系统和嵌入式操作系统。批处理操作系统:工作方式:用户将作业提交给操作系统,操作系统将多个作业组织成批量,并自动逐一执行,无需用户干预。特点:自动性和顺序性强,用户无法与正在执行的作业直接交互,适合大量独立的作业处理,效率相对高,但响应时间长,不适合需要频繁交互的任务。分时操作系统:工作方式:允许多个用户通过终端同时使用计算机,操作系统分时处理各个用户的请求,每个用户轮流获得处理器时间片。特点:交互性强,响应时间短,适合多用户环境,用户可以实时地输入命令并得到响应,但单个任务的执行时间可能会受到影响。实时操作系统:工作方式:要求在严格的时间限制内响应外部事件或数据的输入,确保关键任务优先执行,并在规定时间内完成。特点:响应速度快,时间可预测性强,适用于对时间要求苛刻的场景,如嵌入式系统、工业控制等,但系统资源管理相对复杂。网络操作系统:工作方式:管理网络资源,支持网络中的计算机进行数据和资源共享,提供网络通信、数据管理等功能。特点:便于资源共享和通信,增强了计算机网络的功能和效率,但对网络安全和数据完整性提出了更高的要求。分布式操作系统:工作方式:将多台计算机的资源整合,使用户感觉像是在使用单一的、一致的系统资源,系统中的计算资源可以分布在不同地点。特点:资源利用率高,系统可扩展性强,计算能力强大,但系统设计和管理复杂,需要有效的通信和同步机制。嵌入式操作系统:工作方式:专门用于管理嵌入式系统中的硬件和应用程序,通常为特定的应用定制,运行在资源受限的环境中。特点:资源占用小,运行效率高,响应时间快,适合在资源受限的嵌入式设备上运行,如智能家居、移动设备等。请比较批处理系统、分时系统以及实时操作系统之间的相同点和不同点。相同点:资源管理:所有这三种类型的操作系统都负责管理计算机的资源,包括CPU、内存、存储、I/O设备等。任务调度:它们都具有任务调度功能,负责安排和管理任务或进程的执行。接口提供:它们为用户或程序员提供接口,使得用户能够与计算机系统交互。隔离性:它们提供一定程度的隔离性,确保系统的稳定运行,防止程序间相互干扰。不同点:响应方式:批处理系统不需要实时响应用户请求,作业按照批次顺序执行。分时系统需要较快地响应用户的交互请求,确保用户可以实时地与系统交互。实时操作系统需保证对实时事件的快速响应,并满足严格的时间约束。交互性:批处理系统交互性较差,用户提交作业后需等待结果输出,不能即时干预。分时系统交互性强,多个用户可以同时与系统交互,系统以时间片轮转的方式服务于多个用户。实时操作系统的交互性依赖于应用,关键在于能够及时响应外部事件。任务管理:批处理系统中的任务按批次顺序执行,不需要频繁切换上下文。分时系统需要频繁切换上下文,以便在多个用户或任务间共享计算机资源。实时操作系统中任务按照优先级执行,对任务的调度和管理要求能满足实时性要求。适用场景:批处理系统适用于大量数据处理和批量作业处理的场景。分时系统适用于需要多用户同时使用计算机资源的场景,如教育、研究等领域。实时操作系统适用于对时间要求严格的场景,如工业控制、航空航天、医疗设备等领域。请描述分时系统下响应时间的含义。用户从终端发出命令到系统给予回答所经历的时间。在什么情况下应该采用批处理方式?在什么情况下应该考虑分时策略?对于需要批量处理大量数据任务而不需要用户交互的应用,比如大数据分析,适合采用批处理方式。而对于需要处理多用户并发,响应时间重要性相对较高的应用,如在线游戏或在线事务处理,应该考虑使用分时策略。现代的通用操作系统把批处理方式和分时方式二者结合起来,为什么要这样做?这样的结合有什么特点?现代通用操作系统结合批处理方式和分时方式,主要是为了兼顾不同类型应用的需求,提高系统的灵活性和资源利用效率。这种结合方式的特点和优势如下:灵活性和通用性:通过结合两种方式,操作系统可以同时支持需要长时间运行而不需用户交互的批处理任务,以及需要实时用户交互的分时任务。这使得操作系统更加通用,能够适应更广泛的应用场景。资源利用效率提高:在分时系统中,当用户交互式任务不多时,系统资源可能会出现闲置。结合批处理方式,可以在系统资源较空闲时执行批处理任务,提高资源的利用率。增强系统性能:在一些情况下,批处理任务可以在系统负载较低时执行,减少对实时交互性能的影响,从而在保证分时任务响应性的同时,也确保了批处理任务的高效执行。优化任务调度:结合两种方式使得操作系统的任务调度更加灵活,能够根据当前系统的负载情况和任务的优先级动态调整资源分配,优化任务执行顺序,从而提高整体的系统性能和响应速度。实时操作系统的有什么主要特征?实时操作系统具有实时时钟管理、过载防护和高可靠性。实时时钟管理:实时系统的主要设计目标是对实时任务能够进行实时处理。而绝大多数实时任务均与时间相关,良好的实时时钟管理能力就成为实时系统的一个关键能力。过载防护:实时系统在出现过载现象时,要有能力在大量突发的实时任务中,迅速分析判断并找出最重要的实时任务,然后通过抛弃或者延后次要任务以保证最重要任务成功的执行。高可靠性:实时系统需要在各种情况下都能稳定运行,因为它们通常用于控制关键的工业过程、医疗设备或安全系统。因此,其具有很强的健壮性和坚固性。在如下的应用场合中,应该选用什么类型的操作系统呢,并请说明为什么?(1)导弹控制;实时操作系统,因为对于导弹控制来说实时性要求很高。(2)国家统计局软件;批处理系统,因为可能要处理大量数据,且不需要用户交互。(3)汽车发动机点火控制;实时操作系统,因为对于发动机控制来说,响应速度要求高。(4)火车订票系统;分时系统,因为需要响应客户要求,且可能有大量客户同时操作。(5)互联网电子游戏。分时系统,因为可能有大量用户同时操作且对响应速度有要求。请说明什么是SPOOLing技术?在现代操作系统中有没有使用SPOOLing技术?SPOOLing技术全称是“同时的外部设备联机操作”,用于实现输入输出设备和计算机主处理器之间的缓冲操作。这种技术的基本思想是用磁盘设备作为主机的直接输入输出设备,主机直接从磁盘上选取作业运行,作业的执行结果也存在磁盘上;相应地,通道则负责将用户作业从卡片机上动态写入磁盘,而这一操作与主机并行。现代操作系统中,打印任务就是使用SPOOLing技术进行管理的。当用户提交打印任务时,任务首先被放入一个打印队列中。操作系统或打印服务器管理这个队列,并按顺序将打印任务发送到打印机。这样,用户不必等待一个打印任务完成后再提交另一个任务,提高了用户和系统的效率。网络操作系统和分布式操作系统都是配置在计算机网络上的操作系统,它们之间有什么本质上的不同?网络操作系统主要强调资源共享和通信。在网络操作系统中,每台计算机都有自己的操作系统,它们通过网络相互连接,共享资源如文件、打印机、应用程序等。在网络操作系统中,资源管理主要是各个独立计算机自行负责,网络仅用于资源共享和通信。分布式操作系统则将整个网络系统视为一个统一的系统。在这种系统中,资源和服务是分布在多台计算机上的,但对用户来说,这些资源看起来就像是单个系统中的资源一样。分布式操作系统需要在多台计算机间协调资源管理,实现负载均衡、任务调度等,确保系统作为一个整体高效运行。操作系统设计的过程包括哪些方面,在每个方面都要考虑什么问题?设计过程包括功能设计、算法设计、结构设计:功能设计:指的是根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能,以及操作系统的类型。算法设计:是根据计算机的性能和操作系统的功能,来选择和设计满足系统功能的算法和策略,并分析和估算其效能。结构设计:是按照系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改,而且使用方便,适应性强。操作系统开发过程中面临的主要问题是什么?操作系统开发过程中可能遇到的问题包括设计复杂程度高、正确性难以保证和研制周期长等问题等:程序复杂程度高:第一,操作系统要提供用户之间共享信息和资源的机制,同时还要保证共享的安全;第二,操作系统的设计者必须考虑到将来硬件等情况的变化,并为这些变化做好准备,同时还要解决可能出现的硬件冲突问题;第三,操作系统必须有一定的通用性和对以前版本的兼容性;第四,操作系统要具有一定的适应性,来保证每个用户的需要;第五,操作系统需要采取措施防止来自外部的入侵。正确性难以保证:操作系统包含的功能成分很多,各种外部设备的接口复杂。导致操作系统源代码的正确性较难以保证。研制周期长:一般的软件研制开发周期包括:需求分析,由用户提供软件的需求,并根据需求制作软件规格说明书;设计者根据软件规格说明书进行软件设计;实现者编写程序,调试、测试并整理各种开发文档,然后提交给用户使用,在应用的过程中不断改进和提高软件的品质。操作系统的研发也基本遵从这样的过程范式,但是因为上述两个原因,操作系统的研制周期比较长。操作系统的设计目标是什么?一个高质量的操作系统应具有可靠性、高效性、易维护性、易移植性、安全性和简明性等特征。可靠性:操作系统应能稳定运行,即便是发生硬件故障或某种意外的环境下,操作系统应该仍能做出适当的处理,避免造成严重损失。高效性:操作系统需要有效管理各类资源,以确保资源的最优利用。它应该提高系统中各种资源的利用率,即提高系统的运行效率。易维护性:操作系统的设计应当考虑到可能的升级和维护。代码应该具有良好的结构和文档,使得维护人员可以容易地理解系统的工作原理和代码结构,进行修复和升级。易移植性:操作系统的设计应尽可能独立于硬件,这样当系统需要在新的硬件平台上运行时,仅需修改操作系统与硬件有关的底层。安全性:操作系统应提供机制来保护用户数据和系统资源不受未经授权的访问和修改。简明性:操作系统的设计应该追求简洁,避免不必要的复杂性。这有助于减少错误,提高系统的可靠性和易维护性。影响操作系统正确性的因素有哪些?操作系统包含的功能成分很多,各种外部设备的接口复杂,因此影响操作系统正确性的因素有硬件稳定性,软件的错误处理能力,以及系统对于不同工况的应对能力等。另外,由于操作系统是一个大型软件,参与开发的人员的基数也较大,也加大了保证整个软件的正确性的难度。在进行操作系统结构设计时应考虑哪些问题?进行操作系统结构设计时,应考虑系统模块化、模块标准化、通信规范化。系统模块化:将操作系统分解为独立、定义明确的模块或构件,每个模块负责系统中的一个特定功能。其有助于降低系统的复杂性,因为每个模块可以独立开发、测试和优化。此外,模块化还有利于错误隔离,即在一个模块中出现的错误不会轻易影响到其他模块。模块标准化:即遵循一定的编码和接口标准,使得模块之间能够更容易地交互,并且可以替换或更新单个模块而不影响整个系统。通信规范化:即定义模块间交互的明确协议和接口,确保模块间通信的一致性和有效性。通过规范化通信,可以确保即使在模块内部实现发生变化时,不同模块之间也能够有效协作。这有助于减少系统间的耦合度,提高系统的灵活性和可扩展性。请说明模块组合法、层次式结构和客户/服务器结构的基本思想以及优缺点。模块组合法基于“分治”思想,将系统划分为多个模块,每个模块内部高度集成,模块间交互最小,优点在于清晰的模块划分和方便的模块替换,缺点在于模块边界定义和模块间通信的复杂性。层次式结构按照功能层次依次实现,上层依赖下层但下层不依赖上层,优点在于逻辑清晰和容易实现,缺点在于定义层次的困难和执行效率的问题。客户/服务器结构中,部分模块充当服务提供者(服务器),其余模块则是服务使用者(客户),优点是强调模块间的并发性,提供了良好的并行处理和分布式处理能力,缺点是并发处理带来的同步和死锁问题。第二章操作系统运行环境习题1.请简述处理器的组成和工作原理。你认为哪些部分和操作系统密切相关,为什么?处理器由运算器、存储器、控制器组成,其中运算器负责算数运算、存储器负责数据存储、控制器负责流程控制。每一个部分都和操作系统密切相关。2.为了支持操作系统,现代处理器一般都提供哪两种工作状态,以隔离操作系统和普通程序?两种状态各有什么特点?现代处理器一般都提供管态和目态等两种工作状态。用户程序在目态下运行,只能使用非特权指令,具有较低的特权级别。操作系统在管态下运行,可以使用特权指令和非特权指令,具有较高的特权级别。3.计算机系统中既有操作系统程序,又有用户程序,在什么情况下操作系统程序才能占用中央处理器?当用户程序占用CPU时,CPU在目态下运行,只能使用非特权指令,当需要使用特权指令时,将引起一次处理器状态的切换,此时处理器通过中断机制,将目态转换为管态,然后将处理权移交给操作系统中的一段代码,操作系统才能占用CPU。从目态变为管态其转换的唯一途径是通过中断。4.为什么要把“启动I/O”等指令定义为特权指令?一个程序可以在其它程序等待外围设备传送信息时占用处理器执行,在执行中如果它也使用启动指令去启动一台正在工作的外围设备,那么就会造成冲突。为保护输入输出的完整性,把“启动I/O”等的一类可能影响系统安全的指令定义为特权指令。特权指令只允许操作系统使用,用户程序不能使用特权指令。用户程序若要启动I/O,必须请求操作系统代为启动,这种方式不但可以保证安全地使用外围设备,正确地传送信息,而且可减少用户为启动设备而必须了解外围设备特性以及启动等工作,大大方便了用户。5.怎样限制用户程序中使用特权指令?为了保证正确的操作,应该限制用户程序使用特权指令,为此,中央处理器设置了两种工作方式,管态和目态。在管态下,中央处理器可执行包含特权指令在内的一切指令;在目态下,中央处理器不准执行特权指令。操作系统在管态下工作,用户程序在目态下工作。如果中央处理器在目态下取到了特权指令,中央处理器就拒绝执行该指令,并产生“非法操作”事件经中断装置和操作系统通知用户修改。6.什么是分级的存储体系结构?它主要解决了什么问题?从整个系统上来看,在计算机系统中层次化的储存体系是由寄存器、高速缓存、内存储器、硬盘存储器、磁带机和光盘存储器等装置构成。容量、速度和成本这三个目标不可能同时到最优。存取的速度与价格相反,为了解决这一问题,可采用层次化的存储体系结构。由于现代的程序设计技术很注重代码的复用,一旦进入这样的程序段就会重复存取相同的指令集合。基于这一原理,充分有理由设计出多级存储结构,并使得存取级别较低的比率小于存储级别较高的存储器比率。7.请简述程序局部性原理。由于现代的程序设计技术很注重代码的复用,程序内中会有很多的循环和子程序调用。一旦进入这样的程序段就会重复存取相同的指令集合。对数据的存取也有类似的局部性现象。一段时间后,使用的代码和数据的集合会改变,但在较短时间里能稳定的保持在一个存储的局部区域中,处理器也主要和这个局部打交道。8.什么是存储保护?有哪些方法实现存储保护?保护存储在内存中的用户程序和操作系统,以及它们的数据。界地址寄存器:在处理器中设置一对界限寄存器来存储该用户作业在内存中的上限和下限地址。将一个寄存器作为基址寄存器,另一个寄存器作为限长寄存器(指示存储区域的长度)来指出程序在内存中的存储区域。9.操作系统与硬件如何配合来实现存储保护的?操作系统通过与硬件中的界地址寄存器实现存储保护。其方法是在CPU中设置一对界限寄存器来存放某个作业在内存中的下限和上限地址,或者一个寄存器作为基址寄存器,另一个作为限长寄存器。每当CPU访问内存时,硬件自动将被访问的内存地址与界限寄存器的内容进行比较,以判断是否越界。如果未越界,则按此地址访问内存,否则将产生越界中断。10.什么是中断?为什么说中断对现代计算机很重要?所谓中断是指CPU对系统中或系统外所发生的异步事件的响应。异步事件是指无一定时序关系的随机发生的事件。中断是所有要打断CPU的正常工作次序,并要求其去处理某一事件的一种常用手段。中断技术解决了主机和外设并行工作的问题,消除了因外设的慢速而使得主机等待的现象,为多机操作和实时处理提供了硬件基础。充分发挥处理器的使用效率。提高系统的实时能力。11.中断的作用是什么?中断的作用有两个方面:首先是使CPU能充分发挥使用效率,让I/O设备用中断的方式用CPU通信,报告其完成CPU所要求的数据传输的情况和问题,以免除CPU不断地查询和等待,从而大大提高CPU的效率。其次是提高系统的实时能力,当系统要求实时处理某些事件时,可以通过中断请求及时处理,从而使CPU立即作出响应。12.中断向量是什么?其作用是什么?引起中断的事件称为中断事件或中断源,计算机系统提供的中断源的有序集合称为中断字。处理某一种中断事件的程序称为中断处理程序。为了使中断装置便于找到所需的中断处理程序,专门设计了中断处理程序入口地址映射表,称为中断向量表,表中的每一项称为中断向量,主要由程序状态字PSW和程序计数器PC的值组成。中断向量的作用是通过它可以找到中断处理程序在内存中的存储位置。13.中断响应主要做哪些工作?中断响应主要包括5个工作:1)处理器接收中断信号;2)保护现场,将中断断点的PSW和程序计数器PC的值存入系统堆栈;3)分析中断向量,取得中断处理程序的入口地址;4)将处理器的PC值置为中断处理程序的入口地址;5)调用中断处理程序。14.中断处理的主要步骤是什么?中断处理指中断信号已经被中断系统的硬件中断装置接收和响应之后,相应的中断处理程序进行中断处理的步骤。包括检查I/O相关的状态信息,操纵1/0设备或者在设备和内存之间传送数据等。在中断处理程序结束工作之后,处理器会检测到一条中断返回指令。处理器执行此指令,恢复中断时所保护的中断断点现场,处理器也从管态恢复成被中断时的目态。整个中断处理结束。15.为什么要对中断进行屏蔽?屏蔽掉不够紧急或不够重要的中断信号,使系统优先处理最紧急或最重要的中断信号。16.多个中断同时发生时,系统是怎样处理的?多级中断与中断优先级1)中断信号依据紧急程度和重要性划分等级,在需要处理的各类中断信号中,它们的紧急程度和重要性是不同的。系统当然要优先处理最紧急的或者最重要的中断信号。而中断信号本身的重要性或紧急性,则由该中断的级别的高低来表时。2)当同一中断等级的多个接口中同时都有中断请求时,一般有两种方式;固定的优先数:给每个设备接口安排一个不同的、固定的优先顺序。轮转法:用一个表格,依次轮转响应,这是一个较为公平合理的方法。中断嵌套中断按照优先级分级,允许优先级较高的中断打断优先级较低的中断处理过程,于是引发中断嵌套。17.阐述硬件的中断装置的作用。中断是计算机系统结构一个重要的组成部分。在中断机制中的硬件部分(中断装置)的作用就是在CPU每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU继续执行;若有事件发生,中断装置中断原先占用CPU的程序的执行,把被中断程序的断点保存起来,让操作系统的处理服务程序占用CPU对事件进行处理,处理完后,再让被中断的程序继续占用CPU执行下去。所以中断装置的作用总的来说就是使操作系统可以控制各个程序的执行,为用户提共各种服务。18.常用的I/O控制技术有哪些?各有什么特点?DMA方式:通过DMA控制器成块的控制数据在内存和IO设备之间的移动。通道方式:独立的对IO数据进行处理,和CPU并行,不需要CPU干预。19.缓冲技术在计算机系统中起着什么样的作用?它是如何工作的?缓冲技术:匹配计算机中高速设备和低速设备的交互。解决了设备之间速度不一样的问题工作:每当用户输入数据时,现在缓冲区中寻找,如果已经在缓冲区,直接使用,否则由内存输入到缓冲区在由用户使用。20.时钟对操作系统有什么重要作用?防止系统死循环,实现作业按时间片轮转。21.硬件时钟怎样实现?其作用是什么?在电路中的晶体振荡器每隔一段时间产生固定的脉冲频率,时钟电路中的时钟寄存器根据时钟电路产生的脉冲数对时钟寄存器加1,作用是防止系统死循环,实现作业按时间片轮转。22.软件时钟怎样实现?其作用是什么?由操作系统维护,常用作相对时钟。作用是防止系统死循环,实现作业按时间片轮转。23.系统调用和一般过程调用的区别是什么?运行的状态不同。在程序中的过程一般或者都是用户程序,或者都是系统程序,即都是运行在同一个系统状态的(用户态或系统态)。进入的方式不同。一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的状态,因而不允许由调用过程直接转向被调用过程,通常是通过访管中断(即软中断)进入,先进入操作系统,经分析后,才能转向相应的命令处理程序。返回方式的不同。一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行。但是,在采用抢占式调度方式的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。24.系统调用的主要处理过程是什么?当用户使用操作系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构;该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。由于在系统调用处理结束之后,用户程序还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理之前,陷入处理机构还需保存处理机现场。再者,在系统调用处理结束之后,还要恢复处理机现场。第三章进程线程模型习题操作系统中为什么要引入“进程”?进程和程序有什么区别?操作系统引入进程作为资源分配和调度的一个独立单位。区别是程序是静态的,而进程是动态的。进程是程序的一个执行过程。程序的存在是永久的。而进程是为了程序的一次执行而暂时存在的。进程有生命周期,有诞生,亦有消亡。一个进程可以包括若干程序的执行,而一个程序亦可以产生多个进程。进程具有创建其他进程的功能。被创建的进程称为子进程,而创建者称为父进程,从而构成了进程家族。程序的并发执行有什么特点?并发和并行有什么区别?并发执行的特点是一个进程可以同其他进程一道向前推进,即一个进程的第一个动作可以在另一个进程的最后一个动作结束之前就开始。并行是在不同实体上的多个事件;并发是在同一实体上的多个事件。并行是指在同一时刻,有多条指令在多个处理器上同时执行;并发是指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。可再入程序有什么特性?一个能够被多个用户同时调用的程序称作是“可再入”的程序。可再入程序必须是“纯”代码的程序,程序在执行中不会修改自身的代码。换句话说,可再入程序必须和有关的数据区分离。可再入程序的操作对象,即数据,是与程序相分离的,要求调用者提供专用工作区,以保证程序以同样方式为各用户服务。进程有哪些基本状态?它们的变化关系是怎样的?运行状态,就绪状态和阻塞状态。就绪状态的进程被进程调度程序分配给处理器时,该进程转换为运行状态。运行状态的进程在时间片用完后被中断处理程序切换为就绪状态。云兴状态的进程因等待文件输入等因素不能继续运行时,切换为阻塞状态。阻塞状态的进程在其被阻塞的原因解除后切换为就绪状态。一个单CPU的操作系统共有n个进程,不考虑进程状态过渡时的情况,也不考虑空转进程:(1)给出运行进程的个数最少0个,最多1个(2)给出就绪进程的个数最少0个,最多n-1个(3)给出等待进程的个数最少0个,最多n个系统中有n(n>1)个进程,在任一时刻,处于运行、就绪和等待状态的进程最多、最少各有几个?假设系统有m个CPU,则运行状态的进程最少0个,最多m个;就绪状态的进程最少0个,最多n-m个;等待状态的进程最少0个,最多n个。进程控制块的作用是什么?其主要内容有哪些?操作系统利用进程控制块来描述进程的基本情况以及进程的运行变化过程。进程控制块是进程存在的唯一标志,当系统创建一个进程时,为进程设置一个进程控制块,再利用进程控制块对进程进行控制和管理。撤销进程时,系统收回它的进程控制块,进程也随之消亡。进程控制块的内容可以分成调度信息和现场信息两大部分。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件等。现场信息刻画了进程的运行情况,如程序状态字、时钟、界地址寄存器等等。进程能否修改访问自己的进程控制块内容?不能何谓与时间有关的错误?举例说明之。并发进程执行时一定会产生与时间有关的错误吗?为什么?并发程序中共享了公共变量,使得程序的计算结果与程序执行的顺序有关。这种错误由程序执行的顺序不同导致,与时间有关,所以把它称作与时间有关的错误。不一定会,一方面并发执行的程序有可能是无关进程,另一方面并发进程即使有相关进程,其执行也有多种可能,会存在按预期执行的情况发生。为什么要引入线程?线程和进程之间的区别和联系是什么?为了能使多个程序更好地并发执行,同时又尽量减少任务切换时系统的开销。进程是调度的基本单位而且还是独立分配资源的单位。如果能够把这两个基本单位的功能分开,那么就有可能实现进一步提高并发程度,同时又避免消耗过多的系统资源的目标。正是在这种思想的指导下,产生了线程的概念。联系:一个程序可以由多个进程共用,一个进程可以执行多个程序,进程存在的意义就是执行程序,进程可以看成程序在并发过程中的执行过程。区别:进程是动态的概念,程序是静态的概念;程序是指令代码的有序组合,进程是程序的执行过程,由程序、数据和进程控制块组成;进程是暂时的,程序是永久的;进程可以作为一个独立运行的单位,能与其他进程并发执行;程序不能在多道程序环境下独立运行;一个程序可以由多个进程共用,一个进程可以执行多个程序用进程概念说明操作系统的并发性和不确定性是怎样体现出来的?进程具有两个基本属性。首先,进程是一个可拥有资源的独立单位;其次,进程同时又是一个可以独立调度和分派的基本单位。正是由于进程具有这两个基本属性,才使之成为一个能独立运行的基本单位,从而也构成了进程并发执行的基础。并发性:一个进程可以同其他进程一道向前推进,即一个进程的第一个动作可以在另一个进程的最后一个动作结束之前就开始。不确定性:每个进程按照各自独立的、不可预知的速度向前推进。不同的执行顺序可能导致不同的结果,因此具有不确定性。PCB的作用是什么?它是怎样描述进程的动态性质的?概念及作用:PCB是进程控制快,它是进程组成中最关键的部分,包含进程的描述信息和控制信息,如进程名、进程状态信息、调度优先级、通信信息、资源需求等。是操作系统感知进程的存在,以及管理和控制进程执行的唯一依据。如何描述:PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。进程的三个基本状态转换如图3-10所示。图中1,2,3,4表示某种类型的状态变迁,请分别回答下述问题:图3-10习题13(1)什么“事件”引起某一种类型的状态变迁?1:调度程序从就绪队列中选取一个进程执行时;2:正在执行的进程时间片用完;3:正在执行的进程因等待发生某事件而无法执行下去;4:当进程阻塞的原因解除。(2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断在下述情况下,如果有的话,将发生什么因果变迁?3→1,2→1,3→2,4→1,3→43→1:如果就绪队列非空,则当一个进程发生变迁3时,会立即引起另一个进程发生变迁1。2→1:当发生变迁2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取,即发生变迁1。3→2:当前执行进程从执行状态变为阻塞状态,不可能同时又从执行状态变为就绪状态,,没有因果变迁。4→1:一个进程从等待状态转换为就绪状态是因为等待的事件发生,不会导致其他进程状态发生改变,没有因果变迁。3→4:一个进程阻塞是因为进程自身原因,和其他进程无关,没有因果变迁。(3)在什么情况下,如果有的话,下述变迁中哪些将不立即引起其他变迁?1,2,3,44(4)引起进程状态发生变迁的根本原因是什么?进程具有动态性,在从创建到终止的全过程中一直处于一个不断变化的过程。试列举出进程状态转换的典型原因和引起进程调度的因素。就绪→运行:进程被调度程序选中运行→就绪:时间片用完运行→阻塞:等待某事件发生阻塞→就绪:等待的时间已经发生运行的进程用完了时间片;运行的进程等待某一事件开始阻塞在一个进程中使用多个线程有以下两个优点:(1)在一个已有进程中创建一个新线程比创建一个新进程所需的工作量少;(2)在同一个进程中的线程间的通信比较简单。请问,同一个进程中的两个线程间的模式切换与不同进程中的两个线程间的模式切换相比,所需的工作量是否要少?是,因为进程切换时需要保存更多状态信息。在比较用户级线程和内核级线程时曾指出用户级线程的一个缺点是,当一个用户级线程执行系统调用时,不仅这个线程被阻塞,进程中的所有线程都被阻塞。请问这是为什么?当用户进程调用一个系统调用时,要由用户态管态转入第二章中主要用“管态”及“目态”的描述,也解释了“用户态“及”内核态”,没有“核心态”的描述,建议全部采用“管态”及“目态”。核心态目态,用户进程将被封锁。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。而在用户级线程调用一个系统调用时,由于内核并不知道有该用户级线程的存在,因而把系统调用看作是整个进程的行为,于是使该进程等待,而调度另一个进程执行。同样是在内核完成系统调用而返回的,进程才能继续执行。如果系统中设置的是内核支持线程,则调度是以线程为单位。当一个线程调用一个系统调用时,内核把系统调用只看作是该线程的行为,因而封锁该线程,于是可以再调度该进程中的其他线程执行。第二章中主要用“管态”及“目态”的描述,也解释了“用户态“及”内核态”,没有“核心态”的描述,建议全部采用“管态”及“目态”。考虑这样一个环境,用户级线程和内核级线程呈一对一的映射关系,并且允许进程中的一个或多个线程产生会引发阻塞的系统调用,而其他线程可以继续运行。解释为什么在单处理器机器上,这个模型可以使多线程程序比相应的单线程程序运行速度更快。在一个多线程程序中,一个内核级线程会产生引发阻塞的系统调用,而其他内核级线程可以继续执行。而在单处理器机器上,进程则必须阻塞直到所有的系统调用都可以继续运行,而等待I/O操作的时间可能很长。如果一个进程退出时,该进程的某些线程仍在运行,请问它们会继续运行吗?不会第四章进程线程调度习题1.试述进程调度的主要任务。为什么说它把一台物理机变成多台逻辑上的处理机?进程调度的主要任务是使CPU运行能够在多个进程之间高效切换,以实现并发执行和有效使用处理器。进程调度把一台物理机变成多台逻辑上的处理机,因为调度程序能使计算机同时处理多个进程,让每个进程都认为自己独占了处理器。2.抢占式进程调度是指系统能够强制性地使执行进程放弃处理机。试问分时系统采用的是抢占式还是非抢占式进程调度?实时系统呢?分时系统采用的是抢占式进程调度。因为在分时系统中,所有用户共享计算机,系统要保证各个用户能公平地使用到计算资源,因此需要事先设定一个时间片,时间片结束后强行抢占资源。实时系统如硬实时系统或软实时系统,一般也采用抢占式调度,以保证高优先级的任务能及时响应。3.在CPU按优先级调度的系统中:(1)没有运行进程是否一定就没有就绪进程?没有运行进程并不意味着就没有就绪进程,因为有可能所有就绪进程正处于等待状态。(死锁不存在就绪进程处于等待状态,等待状态就不是就绪状态)不存在就绪进程处于等待状态,等待状态就不是就绪状态(2)没有运行进程,没有就绪进程或两者都没有是否可能?各是什么情况?没有运行进程:等待外设或其他资源的响应;没有就绪进程:恰好满负载,均在运行;都没有:参见(1)(3)运行进程是否一定是自由进程中优先数最高的?不一定,在动态优先级调度中可能存在调度后其他进程优先级提升的情况。4.对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。一次进程切换需要的时间为S,这里S实际上就是开销。对于采用时间片长度为Q的时间片轮转法,请给出以下各种情况的CPU利用率的计算公式。(1)Q=∞100%T/(T+S)(2)Q>T100%T/(T+S)(3)S<Q<TQ/(Q+S)(4)Q=S50%(5)Q趋近于00%5.大多数时间片轮转调度程序使用一个固定大小的时间片,请给出选择小时间片的理由。然后,再给出选择大时间片的理由。选择小的时间片可以减少响应时间并提高交互性;而选择大的时间片可以减少调度开销。6.有5个批处理作业A到E几乎同时到达一计算中心。它们的估计运行时间分别为10,6,2,4和8分钟。其优先数(由外部设定)分别为3,5,2,1和4,其中5级为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。(1)时间片轮转法假设q=2:进程到达时间运行时间开始时间完成时间周转时间A0100101824283030B06212202222C02466D046141616E0881622262828avg=20.4102/5(2)优先级调度进程到达时间运行时间开始时间完成时间周转时间A010142424B06066C02242626D04263030E0861414avg=20100/5(3)先来先服务(按照次序10,6,2,4,8运行)进程到达时间运行时间开始时间完成时间周转时间A01001010B06101616C02161818D04182222E08223030avg=19.296/5(4)最短作业优先进程到达时间运行时间开始时间完成时间周转时间A010203030B0661212C02022D04266E08122020avg=1470/5对(1),假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对(2)到(4)假设任一时刻只有一个作业运行,直到结束。所有的作业都是CPU密集型作业。7.有5个待运行作业,它们的估计运行时间分别是9,6,3,5和X。采用哪种次序运行各作业将得到最短的平均响应如果是响应时间的话,假设作业一旦得到调度就有响应,那么,适用时间片轮转,且时间片越小越好。本题的解法是适用平均周转时间。时间?(答案依赖于X)如果是响应时间的话,假设作业一旦得到调度就有响应,那么,适用时间片轮转,且时间片越小越好。本题的解法是适用平均周转时间。采用SJF(短作业优先)的方式:如果X>9,则运行顺序为3→5→6→9→X。如果6<X<=9,运行顺序为3→5→6→X→9。如果5<X<=6,运行顺序为3→5→X→6→9。如果3<X<=5,运行顺序为3→X→5→6→9。如果X<=3,运行顺序为X→3→5→6→9。8.列出并简单定义线程调度的四种技术。负载分配:系统维护一个就绪进程的全局队列,每个处理器只要空闲就从队列中选择一个线程。组调度:一组相关的线程基于一对一的原则,同时调度到一组处理器上运行。专用处理器分配:通过把线程指定到处理器来定义隐式的调度。在程序执行过程中,每个程序被分配给一组处理器,处理器的数目与程序中线程的数目相等。当程序终止时,处理器返回到总的处理器池中,可供分配给另一个程序。动态调度:在执行期间,进程中线程的数目可以改变。9.列出并简单定义四类实时调度算法。静态表驱动调度算法:执行关于可行调度的静态分析。分析的结果是一个调度,它用于确定在运行时一个任务何时必须开始执行。静态优先级驱动抢占调度算法:同样,执行一个静态分析,但是没有指定调度,而且用于给任务指定优先级,使得可以使用传统的优先级驱动的抢占式调度器。基于动态规划调度调度算法:在运行时动态地确定可行性,而不是在开始运行前离线地确定。一个到达的任务,只有当能够满足它的时间约束时,才可以被接受执行。可行性分析的结果是一个调度或规划,可用于确定何时分派这个任务。动态尽力调度调度算法:不执行可行性分析。系统试图满足所有的最后期限,并终止任何已经开始运行但错过最后期限的进程。10.关于一个任务的哪些信息在实时调度时非常有用?在实时调度时通常需要任务的最坏情况执行时间,任务的截止时间,任务的到达时间或周期,以及任务的优先级等信息。这些信息都可以影响任务的调度决策。第五章存储管理习题1.存储管理的主要功能有哪些?存储管理的主要功能是管理内存,协调内存、外存的使用,主要功能包括:内存管理方法、内存的分配和释放算法、虚拟存储器的管理、控制内存和外存之间的数据流动方法、地址变换技术和内存数据保护与共享技术等。2.解释下列术语:逻辑地址、绝对地址、地址重定位。逻辑地址:在多道程序设计的系统中,内存中同时存放了多个用户程序。操作系统根据内存的使用情况为用户分配内存空间。因此,每个用户不能预先知道他的程序将被存放到内存的什么位置。这样,用户程序中就不能使用内存的绝对地址。为了方便用户,每个用户都可认为自己的程序和数据存放在一块“0”地址开始的连续空间中。用户程序中使用的地址称为“逻辑地址”。绝对地址指硬件编址的地址,CPU能够寻址,通常是从0开始连续的,也可以是不连续的:存储器以字节(每个字节为8个二进制位)为编址单位,假定存储器的容量为n个字节,其地址编号顺序为0,1,2,…,n-1。这些地址称为内存的“绝对地址”。指硬件编址的地址,CPU能够寻址,通常是从0开始连续的,也可以是不连续的地址重定位:把逻辑地址转换成绝对地址3.在可变分区管理方式下,什么是“碎片”?如何解决“碎片”问题?在可变分区管理方式下,内存分配链表中有记录,可以分配但区域很小的空闲空间称为碎片。解决碎片问题的办法是在适当时刻进行碎片整理,通过移动内存中的进程,把所有空闲碎片合并成一个连续的大空闲区,这种方法称之为“内存紧缩”。4.采用紧缩技术有什么优点?移动一道程序时操作系统要做哪些工作?紧缩技术可以集中分散的空闲区,提高内存的利用率,便于动态扩充内存。移动一道程序时操作系统需要进行数据块移动,还要进行地址重定位,修改内存分配表和进程控制块。5.设在内存中按地址递增次序有三个不连续的空闲区F1、F2、F3,它们的容量分别是60K、130K、20K。请给出一个后备进程序列,使得实施存储分配时(1)采用最优适应算法将取得好的效果,而采用最坏适应算法和最先适应算法效果都不好;(2)采用最优适应算法效果不好,而采用最坏适应算法和最先适应算法都可取得好的效果;(3)采用最坏适应算法将取得好的效果,而采用最先适应算法和最优适应算法效果都不好;(4)采用这三种算法都可取得好效果;(5)采用这三种算法效果都不好。(1)20K,60K,130K(2)10K,50K,70K,60K,20K(3)50K,60K,20K,60K(4)10K,10个20K(5)50K,70K,50K,30K6.用可变分区方式管理内存时,假定内存中按地址顺序依次有五个空闲区,空闲区的大小依次为32K,10K,5K,228K,100K。现有五个程序J1,J2,J3,J4和J5。它们各需内存1K,10K,108K,28K和115K。若采用最先适应分配算法能把这五个程序按J1~J5的次序全部装入内存吗?你认为按怎样的次序装入这五个程序可使内存空间利用率最高。不能,最优适应算法7.解释页式存储管理中为什么要设置页表和TLB。页式存储管理中设置页表和TLB的主要目的是加速地址转换过程,并提高系统的性能和效率。页表的作用是实现地址转换,将逻辑地址转换为物理地址,从而使程序能够正常运行。TLB是一种高速缓存,用于存储最近使用的页表项,可以加快页表的访问速度。设置页表和TLB的好处包括:通过TLB的缓存机制可以避免每次访问内存都需要访问主存中的页表,从而提高了地址转换的速度;减少了CPU访问内存的延迟时间,使得系统的响应速度更快,提高了整体的系统性能;通过修改页表项或TLB的内容,操作系统可以动态地改变逻辑地址和物理地址之间的映射关系,从而实现灵活的存储管理策略。8.设计一个页表应考虑哪些因素?设计一个页表时需要考虑以下因素:①页表大小:页表的大小取决于系统的地址空间大小和页面大小。需要确保页表足够大以容纳所有可能的页表项,但又不能太大以至于消耗过多的内存空间。②页表项的结构:每个页表项应该包含哪些信息,例如物理页框号、访问权限、脏位(用于标记页面是否被修改过)、有效位(表示该页是否有效)、其他控制位等。③页表的组织方式:页表可以使用单级结构、多级结构或者倒排页表等方式组织。不同的组织方式会影响页表的访问效率和空间利用率。④页表的访问速度:需要考虑如何快速地查找页表中的页表项。可以通过使用TLB、多级页表、哈希表等技术来提高页表的访问速度。⑤页面替换算法:如果内存不足时需要进行页面替换,需要选择合适的页面替换算法,例如LRU(最近最少使用)、FIFO(先进先出)、Clock等算法。⑥支持的特性:页表是否支持虚拟内存、内存保护、共享内存、写时复制等特性。⑦页表的更新策略:页表的更新策略包括页面调入(页面缺失时将页面从磁盘调入内存)、页面替换(当内存不足时选择哪些页面进行替换)、页面写回(当页面被修改时将页面写回磁盘)等。⑧空闲页框管理:需要考虑如何管理空闲的物理页框,以便于在需要时分配给进程使用。综上所述,设计一个页表需要考虑页表大小、页表项的结构、页表的组织方式、页表的访问速度、页面替换算法、支持的特性、页表的更新策略以及空闲页框管理等多个因素。9.请叙述页式存储管理中地址转换的过程。页式存储管理中的地址转换过程如下:①生成逻辑地址:当程序需要访问内存中的数据时,CPU会生成一个逻辑地址。逻辑地址由两部分组成:页号(PageNumber)和页内偏移量(Offset)。页号指示所需数据所在的页,页内偏移量指示数据在页内的具体位置。②TLB查找:CPU首先会在TLB中查找逻辑地址对应的页表项。如果在TLB中找到了对应的页表项,则说明该页表项已经缓存了最近的地址映射信息,CPU可以直接使用TLB中存储的物理地址页框号,完成物理地址转换。③TLB未命中:如果在TLB中未找到对应的页表项(TLB未命中),则需要访问页表。CPU将逻辑地址的页号发送给内存管理单元(MMU),MMU将该页号发送给内存中的页表。④页表查找:内存中的页表是操作系统维护的数据结构,用于存储逻辑页号到物理页框号的映射关系。根据逻辑页号在页表中查找对应的页表项。如果找到了,就得到了对应的物理页框号。⑤生成物理地址:根据页表项中存储的物理页框号和逻辑地址中的页内偏移量,CPU可以计算出所需数据在物理内存中的确切地址。物理地址由两部分组成:物理页框号和页内偏移量。物理页框号指示数据所在的物理页框,页内偏移量指示数据在页内的具体位置。10.某采用页式存储管理的系统地址结构长度为16位,页面大小为210。当前进程的页表如下:0618210312414519图5-22习题10图假设虚拟地址为0000110010101100,试画出地址转换图并计算相应的物理地址。物理地址:001100001010110011.考虑一个使用单级页表的分页系统。假设所需的页表总在内存中。(1)如果一次物理内存访问耗时200ns,那么一次逻辑内存访问耗时多少?400ns200ns×2(2)现添加一个MMU,对每次命中或缺页MMU造成20ns开销。假设85%的内存访问都命中MMUTLB。有效访问时间(EMAT)是多少?250ns20ns×100%+200ns×0.15+200ns(3)解释TLB命中率是如何影响EMAT的。TLB命中率越高,表示越多的逻辑地址转换可以直接通过TLB完成,减少了访问页表的需要,从而减少了内存访问次数和总体访问时间。相反,TLB命中率低意味着更多的地址转换需要访问页表,增加了内存访问次数和总体访问时间,从而增加了EMAT。假设页面大小为4KB,页表项大小4B。要映射64位的地址空间,如果顶级页表能在一页中存储,需要多少级页表?画出地址转换图,并详细描述从虚拟地址到物理地址的转换过程。对于一个64位地址空间,如果页面大小为4KB(即2^12字节),页表项大小为4B,则每个页面可以存储2^12/2^2=2^10(也就是1024)个页表项。每个页表项对应一个页面,所以一个单级页表可以映射2^10×2^12字节(即4MB)的地址不是地址空间,是次级页表个数这个题有点问题,64位系统,页表项4B是不足的,次级页表只能存放在内存低段,且最末级页表项4B不够不是地址空间,是次级页表个数这个题有点问题,64位系统,页表项4B是不足的,次级页表只能存放在内存低段,且最末级页表项4B不够计算所需的页表级数:要映射整个64位地址空间,我们需要确定足够的页表级数n以便满足以下条件:(2^10)^n×2^12≥2^64。我们之前已经计算过这个问题,得出所需的页表级数为6级。地址转换图:对于具有6级页表的地址转换,64位虚拟地址被分为7部分:6个部分用于页表级别的索引(每部分10位),最后部分用于页内偏移(12位)。虚拟地址的最高10位用于索引顶级页表,接下来的10位用于索引第二级页表,随后的10位用于索引第三级页表,以此类推,第51~60位用于索引第六级页表。虚拟地址的最低12位表示页内偏移,这部分在所有级别的页表中是相同的,用于在找到的物理页面中定位具体的数据。虚拟地址到物理地址的转换过程:使用虚拟地址的最高10位在顶级页表中找到第二级页表的地址。使用虚拟地址的接下来的10位在第二级页表中找到第三级页表的地址。这个过程一直继续,直到第六级页表。在第六级页表中,使用虚拟地址的倒数第二个10位段找到物理页框号。最后,将物理页框号与虚拟地址的最后12位(页内偏移)结合,形成完整的物理地址。13.考虑一个分页式的虚拟地址空间(由32个2KB的页组成),将它映射到一个1MB的物理内存空间。(1)该处理器的虚拟地址格式是什么?虚拟地址由5位的页号和11位的页内地址组成(2)页表的长度和宽度是多少?(忽略“访问权限”位)页表长度为32,宽度为9(3)若物理内存空间减少一半,则会对页表有何影响?物理地址空间大小减半:由于物理内存空间减少到512KB,即2^19字节,所以物理地址空间的大小变为了19位。每个页表项宽度变化:每个页表项仍然需要能够表示物理地址的偏移量,这个偏移量需要19-11=8位,因为页面大小仍然是2KB。页表长度不变:虚拟地址空间大小并未改变,因此虚拟地址空间仍然需要32个页表项。14.页式存储管理系统中程序的地址空间是一维的还是二维的?请说明理由。【?】页式是一维的。理由:在页式存储管理中,程序的地址空间被划分为固定大小的页,同时物理内存也被划分为相同大小的物理页框。程序的逻辑地址由页号(PageNumber)和页内偏移量(Offset)组成,页号用于指示程序中的哪一页,页内偏移量用于指示页内的具体位置。当程序访问内存时,操作系统将页号映射到物理内存中相应的页框上,然后使用页内偏移量来确定具体的地址。由于页式存储管理系统中,页号对应于物理内存中的页框号,因此程序的地址空间在逻辑上是一维的,即通过页号和页内偏移量来唯一确定内存中的地址。15.FIFO和时钟页面置换算法有何联系?时钟页面置换算法是对FIFO算法的改进,它引入了一个“时钟指针”,并根据页面的访问情况来决定是否置换页面。当需要进行页面置换时,时钟算法检查指针所指向的页面是否被访问过。如果该页面已经被访问过,就将其访问位清零,并将指针指向下一个页面;如果该页面未被访问过,则选择该页面进行替换,并将指针指向下一个页面。这样时钟算法能够更好地反映页面的实际使用情况,从而减少"“Belady异常"”的发生。16.简述什么是覆盖技术,什么是交换技术?它们之间的区别是什么?覆盖技术:是指把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构使那些不会同时执行的程序段共享同一块内存区域,未执行的程序段先保存在磁盘上,当有关程序段的前一部分执行结束后,把后续程序段调入内存,覆盖前面的程序段。覆盖技术可以完全由用户实现,也可以由编译程序提供支持。交换技术:由操作系统控制,将那些不在运行中的进程或其一部分调出内存,暂时存放在外存上的磁盘交换区中,以腾出内存空间给现在需要内存空间的进程,后者可能需要从外存换入内存,以后再将换出的进程调入内存继续执行。主要区别:①内存管理的粒度和方式:覆盖技术是基于模块或段的内存管理方式,而交换技术是基于进程的内存管理方式。②覆盖技术通常用于解决单一连续分配内存管理方式下的内存不足问题,而交换技术通常用于解决分页式和分段式内存管理方式下的内存不足问题。17.何谓程序局部性原理,请举出三个例子。程序局部性原理是指在计算机程序执行过程中,访问数据和指令的趋势会表现出一定的集中性,即在一段时间内,程序倾向于重复访问相同的数据或者执行相邻的指令。举例:①时间局部性:指程序在一段时间内对同一数据的反复访问。例如循环结构中的变量,每次迭代都会重复使用,因此具有时间局部性。②空间局部性:指程序在一段时间内对相邻内存地址中的数据进行访问。例如数组或者矩阵的访问。③缓存局部性:指程序访问的数据往往会被缓存在高速缓存中,从而提高数据的访问速度。例如,如果一个循环中的数据可以被缓存到CPU的缓存中,那么循环的执行速度将会更快。18.虚拟存储器是什么?为什么要引入虚拟存储器?虚拟存储器是一种计算机内存管理技术,它通过将部分存储器内容暂时保存在磁盘上,以扩展可用的物理内存空间。这种技术使得程序能够使用比物理内存更大的地址空间。虚拟存储器的主要目标是允许程序在有限的物理内存下运行,同时提供了以下几个优点:第一,更大的地址空间。虚拟存储器使得每个进程拥有一个巨大的地址空间,远远大于实际的物理内存大小。这样,即使物理内存有限,也能够运行大型程序。第二,更好的内存管理。虚拟存储器提供了更灵活的内存管理机制,使得操作系统能够更好地管理内存,包括内存分配、回收和保护等方面。第三,更高的性能。虚拟存储器通过将不常用的数据暂时存储在磁盘上,释放物理内存空间供其他程序使用,从而提高了系统的整体性能。19.叙述虚拟页式存储管理方案的基本思想。为了实现虚拟页式存储管理,系统必须提供的硬件支持有哪些?虚拟存储技术的基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,简称虚存,以便能够有效地支持多道程序系统的实现和大型程序运行的需要,从而增强系统的处理能力。虚拟存储管理是由操作系统在硬件支持下把两级存储器(内存和外存)统一实施管理,达到“扩充”内存的目的,呈现给用户的是一个远远大于物理内存容量的编程空间,即虚存。程序、数据、堆栈的大小可以超过物理内存的大小,操作系统把程序当前使用的部分保留在物理内存,而把其他部分保存在磁盘上,并在需要时在内存和磁盘之间动态交换。虚拟存储管理支持多道程序设计技术。实现虚拟存储器需要以下的硬件支持:①系统有容量足够大的外存;②系统有一定容量的内存;③硬件提供实现虚-实地址映射的机制。20.某采用页式虚拟存储管理的系统,接收了一个共7页的程序,程序执行时依次访问的页为1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。若采用最近最少用(LRU)调度算法,程序在得到两块内存空间和四块内存空间时各会产生多少次缺页异常?如果采用先进先出(FIFO)调度算法又会有怎样的结果?采用LRU:2块内存空间:18次;4块内存空间:10次1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,61,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6#,1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3x,x,x,x,x,x,x,x,x,x,o,x,x,x,x,x,x,o,x,x1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,61,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6#,1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3#,#,1,2,3,4,2,1,5,6,6,1,2,3,7,6,3,3,1,2#,#,#,1,1,3,4,2,1,5,5,6,1,2,2,7,6,6,6,1x,x,x,x,o,o,x,x,o,o,o,x,x,x,o,o,x,o,o,o采用FIFO:2块内存空间:18次;4块内存空间:14次1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,61,2,3,4,2,1,5,6,2,1,1,3,7,6,3,2,1,1,3,6#,1,2,3,4,2,1,5,6,2,2,1,3,7,6,3,2,2,1,3x,x,x,x,x,x,x,x,x,x,o,x,x,x,x,x,x,o,x,x1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,61,2,3,4,4,4,5,6,2,1,1,3,7,6,6,2,1,1,3,3#,1,2,3,3,3,4,5,6,2,2,1,3,7,7,6,2,2,1,1#,#,1,2,2,2,3,4,5,6,6,2,1,3,3,7,6,6,2,2#,#,#,1,1,1,2,3,4,5,5,6,2,1,1,3,7,7,6,6x,x,x,x,o,o,x,x,x,x,o,x,x,x,o,x,x,o,x,o21.有一个虚拟存储系统。分配给某进程3页内存,开始时内存为空,页面访问序列如下:6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5(1)若采用先进先出页面置换算法(FIFO),缺页次数为多少?176,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,56,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5#,6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6#,#,6,5,4,3,2,1,5,4,3,6,5,4,3,2,1x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x(2)若采用最近最少使用页面置换算法(LRU),缺页次数为多少?176,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,56,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5#,6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6#,#,6,5,4,3,2,1,5,4,3,6,5,4,3,2,1x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x(3)若采用理想页面置换算法呢?126,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,56,5,4,3,2,1,5,5,5,6,5,5,5,5,5,5,5#,6,5,4,3,3,3,3,3,3,3,3,3,2,2,6,6#,#,6,5,4,4,4,4,4,4,4,4,4,4,1,2,2x,x,x,x,x,x,x,o,o,x,x,o,o,x,x,x,o22.有一个虚拟存储系统采用最近最少使用(LRU)页面置换算法,每个程序占3页内存,其中一页用来存放程序和变量i,j(不作他用)。每一页可存放150个整数变量。程序A和程序B如下: 程序A: VARC:ARRAY[1..150,1..100]OFinteger; i,j:integer; FORi:=1to150DO FORj:=1to100DO C[i,j]:=0;程序B: VARC:ARRAY[1..150,1..100]OFinteger; i,j:integer; FORj:=1to100DO FORi:=1to150DO C[i,j]:=0; 设变量i,j放在程序页中,初始时,程序及变量i,j已在内存,其余两页为空。矩阵C按行序存放。(1)试问当程序A和程序B执行完后,分别缺页多少次?程序A执行完后,缺页50次。程序B执行完后,缺页5000次。(2)最后留在内存中的各是矩阵C的哪一部分?程序A、B执行完后,留在内存中的是C的最后三行;23.什么是异常现象(或称Belady现象)?你能找出一个异常现象的例子吗?例子:某程序在内存中分配m页,初始为空,页面走向为1,2,3,4,1,2,5,1,2,3,4,5,采用FIFO算法替换策略,通过计算得到当m=3时,缺页异常9次;m=4时,缺页异常10次。在这个例子中,当分配给进程的物理页面数增加时,缺页次数不仅不减少,反而增加。这一现象称为异常现象(Belady异常现象),而FIFO页面置换算法会产生这一异常现象。24.虚拟页式存储管理中,页面置换算法所花的时间属于系统开销,这种说法对吗?【?】这种说法是对的,在虚拟页式存储管理系统中,页面置换算法的执行属于系统开销的一部分。(书上暂时没找到相关内容)25.缺页异常的处理过程是软硬件配合完成的,请叙述缺页异常处理过程。整个缺页异常处理过程简单阐述如下:1)根据当前执行指令中的逻辑地址查页表的有效位,判断该页是否在内存。2)该页标志为“0”,形成缺页异常。保留现场。中断装置通过交换PSW让操作系统的缺页中断处理程序占用处理器。3)操作系统处理缺页异常,寻找一个空闲的物理页面。4)若有空闲页,则把磁盘上读出的信息装入该页面中。5)修改页表及内存分配表,表示该页已在内存。6)如果内存中无空闲页,则按某种算法选择一个已在内存的页面,把它暂时调出内存。若在执行中该页面已被修改过,则要把该页信息重新写回到磁盘上(否则不必重新写回磁盘)。当一页被暂时调出内存后,让出的内存空间用来存放当前需要使用的页面。页面被调出或装入之后都要对页表及内存分配表作修改。7)恢复现场,重新执行被中断的指令。当重新执行该指令时,由于要访问的页面已被装入内存,所以可正常执行下去。26.试述缺页与一般中断的主要区别。处理缺页的主要目的是将缺失的页面从外部存储加载到物理内存中,然后恢复程序的执行。处理一般中断的目的是响应和处理中断请求,完成请求后再继续之前被中断的任务。此外,缺页异常引起的中断与普通中断不同,它可以在指令中间发生,而普通中断只能在指令之间发生。27.何谓系统的“颠簸”现象?为什么会出现这一现象?当系统发生“颠簸”时,应该采取什么措施来加以克服?如果页面置换算法设计不当,导致刚被调出的页面又立即要用,因而又要把它装入,而装入不久又被选中调出,调出不久又被装入,如此反复,使调度非常频繁。这种现象称为“抖动”或称“颠簸”。所以选择不常使用的页面置换出去会使系统性能好得多。措施:减少并发进程数量;增加可用内存容量;改变页面置换算法。28.什么是工作集?它的作用是什么?颠簸是由缺页率高引起的,对于给定的进程访页序列,在时刻(t-Δ)到时刻t之间所访问页面的集合,称为该进程的工作集。操作系统采用工作集模型,为每个进程保持一个工作集,通过动态调整,使该进程获得与工作集相等的物理页面数,可以解决颠簸问题。29.比较各种存储管理方式的特征(包括内存空间的分配方式、是否要有硬件的地址转换机构作支撑、适合单道或多道系统等)、重定位方式、地址转换的实现(操作系统和硬件怎样配合)、存储保护的实现(操作系统和硬件各自做些什么工作)。【?】内存空间的分配方式:连续内存分配:将内存空间分为若干连续的区域,每个区域可以被分配给一个进程。主要有单一连续分配和多道连续分配两种方式。非连续内存分配:将内存空间分为多个不连续的区域,每个区域可以分配给一个进程。主要有分页式和分段式两种方式。硬件的地址转换机构支撑:需要硬件支持:如分页式和分段式内存管理方式,需要硬件支持地址转换机构,用于将逻辑地址映射到物理地址。不需要硬件支持:如单一连续分配和多道连续分配,通常不需要硬件支持地址转换机构,内存的分配由操作系统控制。适合单道或多道系统:单道系统:单一连续分配适合单道系统,因为它只允许一个进程占用整个内存空间。多道系统:多道连续分配、分页式和分段式内存管理方式适合多道系统,因为它们允许多个进程共享内存空间。重定位方式:绝对重定位:在装入时就确定了程序在内存中的绝对地址,适用于静态重定位。相对重定位:在程序执行过程中进行重定位,通常使用基址寄存器+限长寄存器的方式。地址转换的实现:操作系统配合硬件:操作系统负责管理页面表或段表,硬件负责实际的地址转换,如分页式和分段式内存管理方式。操作系统独立实现:如单一连续分配和多道连续分配,操作系统自身负责地址转换。存储保护的实现:操作系统与硬件合作:操作系统通过设置页表项或段表项中的保护位来实现存储保护,硬件在访问内存时检查这些保护位,如果违反了存储保护规则,则产生异常。硬件独立实现:如单一连续分配和多道连续分配,由于不涉及地址转换,存储保护通常由操作系统自行实现。30.请描述图5-23中的地址转换过程(提示:要指出各种可能出现的情况)。图5-23习题30虚拟地址与内存、辅存的映射关系图中描述的是带有TLB的地址转换过程。1.虚拟地址生成:处理器生成一个虚拟地址,该地址被分为两部分,页号和页内偏移。2.TLB查找:首先,在TLB中根据页号进行查找。如果页号在TLB中找到,这意味着TLB命中,TLB会直接提供对应的帧号。然后,帧号和虚拟地址中的页内偏移组合成物理地址,直接访问物理内存中的数据。如果页号在TLB中未找到,即TLB未命中,那么系统需要访问页表。3.页表访问:在TLB未命中的情况下,系统使用页号去页表中进行查找。页表通常存储在内存中。如果在页表中找到对应页号的页表项,系统将获得帧号,并将此页表项加载到TLB中以便将来快速访问。接着,帧号和虚拟地址中的页内偏移组合,形成物理地址,并访问物理内存。如果页表中也找不到对应的页号,这意味着发生了缺页(PageFault)。在这种情况下,操作系统必须从磁盘中找到所需的页,并将其加载到物理内存中,同时更新页表和TLB。4.物理内存访问:一旦物理地址被确定,数据就可以从物理内存中读取或写入。第六章文件系统习题1.什么是文件和文件系统?文件系统的功能是什么?文件是一组带标识的、在逻辑上有完整意义的信息项的序列。这里所谓“标识”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国EV/EA发泡成型机行业投资前景及策略咨询研究报告
- 跨境支付系统服务合同
- 消防维保技术服务合同
- 生态园土地承包合同
- 家具租赁合同标准版
- 技术转让合同书
- 担保合同特征及合同
- 第1课 认识FrontPage软件(说课稿)2023-2024学年五年级下册信息技术陕教版
- 《中国古代文化》课件
- 汽车抵押贷款合同协议样本
- 海底捞员工手册
- 2024CSCO小细胞肺癌诊疗指南解读
- 立春气象与生活影响模板
- 2024年广东省公需课《新质生产力与高质量发展》考核答案
- 2024年广东公务员考试申论试题(公安卷)
- 期末 (试题) -2024-2025学年人教PEP版英语五年级上册
- 第14课-丝绸之路的开通与经营西域【课件】2
- 初一英语阅读理解100篇七年级上册英语阅读理解及答案
- 2024年广东省深圳市中考道德与法治试题卷
- 专题17 物质结构与性质综合题-五年(2020-2024)高考化学真题分类汇编(解析版)
- 富血小板血浆(PRP)临床实践与病例分享课件
评论
0/150
提交评论