1、第一章绪论I.什么是操作系统的幕本功能?答: 操作系统的职能是管理和控制汁算机系统中的所有硬、软们资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接 u.操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文们骡统管理 )和用户接 Ii 等.2.什么是批处理、分时和实时系统?各有什么特征?答: 批处理系统(batchprocess ingsystem) :操作员把用户提交的作收分类.把一批作收编成一个作业执行序列,由专门编制的监督程序(monitor) 自动依次处理 .其主要特征是:用户脱机使用计算机、成批处理、多道程序运行.分时系统(timcsharing
2、opcrationsystcm ):把处理机的运行时(fnJ 分成很短的时 fFIJ 片,按 I“t fnJ 片轮转的方式,把处理机分配给各进程使用.其主要特征是:交互性、多用户同时性、独立性。实时系统(rcaltimcsystcm):在被控对象允许时间范围内作出响应 .其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。3.多道程序(multiprogramming)和多爪处理(multiprocessing)有何区别?答: 多道程序(multiprogramming)是作收之间自动调度执行、共享系统资源.并不是真正地同时俏行多个作业:而多熏处 W. (multi
3、processing)系统配置多个 CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持.第二章作业管理和用户接口1.什么是作业?.作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务的处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。如.编辑愉入是一个作业步.它产生源程序文件:编译也是一个作业步.它产生目标代码文件.2.作业山几部分组成?各有什么功能?荞:作业山三部分组成: 程序、数据和作业说明书.程序和数
4、据完成用户所要求的业务处理工作.作业说明书则体现用户的控制愈图.3.作业的愉入方式有哪 JL 种 ?各有何特点谷:作业的输入方式有 5 种:联机输入方式、脱机袖入方式、直接棍合方式、 SPOOLING(Simultancous Peripheral OperationsOnlinc)系统和网络愉入方式 .各有如卜特点:(1)联机输入方式 :用户和系统通过交互式会话来怕入作业.(2)脱机输入方式,又称预输入方式,利用低档个人计甘机作为外幽处理极进行钧入处理,存储在后备存储器 I:.然后将此后援存储器连接到高速外围设备 1 二和上机相连。从而在较短的时间内完成作业的愉入工作。(3)直接祸合方式 :
5、把上机和外围低档机通过一个公用的人容量外存六接祸合起来,从而省去了在脱机愉入中那种依靠人工干预末传递后援存储雄的过程.(4)SPOOLING 系统 nl 译为外田设备同时联机摊作。在 SPOOLING 系统中.多台外团设备通好道或 DMA 器件和主机与外存连接起来作业的愉入愉出过程由土机中的掩作系统控翻。(5)网络怕入方式:网络愉入方式以上述几仲泊入方式为赞拙.当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另台主机上进行摊作成执行时.就构成了网络输入方式。4.试述 SPOOLING 系统的_I-作原理。答: 在 s 阳 OLIN6 系统巾,多台外围设备通过通逝或 DMA 器件和
6、主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制.操作系统中的输入程序包一含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区,另一个过程是写过程,负责把缓冲区中的信息送入到外存输入井巾。在系统输入模块收到作业输入请求后,输入管理模块中的读过积负责将信息从愉入装置读入缓冲区。当缓冲 V 满时,由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环.直到一个作业愉入完毕。当读过程读到一个硬件结束标志后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后系统为该作业建立作业控制块 JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后
7、进入内存。5.作业说明书和作业控制块有何异同?答: 作业说明书主要包含三方面内容:作业的基本描述、作业控制描述和资源要求描述.作业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等,而作业控制描述则大致包括作业在执行过程中的控制方式,例如是脱机控制还是联机控制、各作业步的操作顺序以及作业不能正常执行时的处理等.资源要求描述包括要求内存大小、外设种类和台数、处理机优先级、所需处理时间、所需库 A 数或实用程序等.而作业控制块是作业说明书在系统中生成的一张表格,该表格迁记该作业所要求的资源情况、预计执行时间和执行优先级等。从而,操作系统通过该表了解到作业要求,并分配资源和控制作
8、业中 R 序和数据的编译、链接、装入和执行等.6.操作系统为用户提供哪些接门?它们的区别是什么?答: 操作系统为用户提供两个接 l,一个是系统为用户提供的各种命令接口.用户利用这些操作命令来组织和控制作业的执行或管理计算机系统,另一个接门是系统调用,编程人员使用系统调用来请求 a 作系统提供服务。例如申请和释放外设等类资源、控制程序的执行速度等.。7.作业控制方式有哪几种?调查你周围的计算机的作业控制方式。答: 作业控制的主要方式有两种:脱机方式和联机方式。脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。作业控制语言的语句就是作业控制命令。不同的批处理系统提
9、供不同的作业控制语言。联机控制方式不同于脱机控制方式,它不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。用户使用操作系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。8.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?答: 系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中己有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序
10、的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的 I 一卜断处理机制来提供系统服务。9.简述系统调用的实现过程。答: 用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。10.为什么说分时系统没有作业的概念?答: 因为在分时系统中,每个用户得到的时问片有限,用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入执行,而不必 i序选择.因此,分时系统没有作业控制表,也没有作业调
11、度存输入并等待作业调度程11.试述 UNIX 的主要特点.答:UNIX 的主要特点是:(1)UNIX 系统是一个可供多用户同时操作的交互式分时操作系统,(2)为了向用厂提供交互式功能和使得用)”可以利用 UNIX 系统的功能,UNIX 系统向用户提供了两种友好的界面或接口:系统调用和命令;(3)UNIX 系统具有一个可装卸的分层树型结构文件系统,该文件系统使用方便、搜索简单,(4)UNIX 系统把所有外部设备都当成文件,并分别赋予它们对应的文件名。从而,用厂可以像使用文件那样使用任一设备而不必了解该设备的内部特性,这既简化了系统设计,又方便了用)” ,(5)UNIX 系统核心程序的绝大部分源代
12、码和系统_L 的支持软件都用 C 语言编写。且 UNIX系统是一个开放式系统,即具有统一的用户接口,使得 UNIX 用户的应用程序可在不同的执行环境下运行。正是由于 UNIX 具有.上述这些特点,使得 UNIX 系统得到了广泛的应用和发展.12. UNIX 操作系统为用户提供哪些接口?试举例说明.答;UNIX 系统为用户提供两个接口,即面向操作命令的接口 Shell 和面向编程用户的接口:系统调用。常见的 Shell 命令如 :login, logout, vi, ernacs.印,rm, Is, cc,link,adducer,chown, dbx, date 等;常见的系统调用如:ioct
13、l, read, write, open, close,crest, excel, flock, stat, mount, fork, wait, exit, socket 等.13在你周围装有 UNIX 系统的计算机上,练习使用后台命令,管道命令等 Shell 的基木命令。吞甘 k,二答: 例 1:用 Shell 谱言编制一 Shell 程序.该程序在用户输入年、月之后,自动打印输出该年该月的日历:echo“Please input the month:”read monthechoPlease input the year:”read year第三章用户 V 理和配置份理1.有 A 说,一
14、个进程是山伪处理机执行的一个程序,这话对吗?为什么?答: 对。因为伪处理机的概念只有在执行时刁存在,它表示多个进程在单处理机上并发执行的二个调度单位。因此,尽 V 进程是动态概念,是程序的执行过程,但是,在多个进程并行执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等待状态。这些并发进程就相当干由伪处理机执行的程序。2.试比较进程和程序的区别。答:(1)进程是一个动态概念。而程序是一个静态概念.积序是指令的有序集介.无执行含义.进程则强调执行的过程 (2)进程具有并行特征(独立性,异步性).程序则没有.(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。3
15、.我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗? 举例说明.答: 并非所有程序均成立。如:Beginlocal“ ZK:10print(x)End上述程序中 x 是内部变量,不可能被外部程序访问,因此这段程序的运行不会受外部环境影晌.4.试比较作业和进程的区别。答: 一个进程是一个程序对某个数据集的执行过程,是分配资源的摹本单位。作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交,作业收容、作业执行和作业完成 4 个阶段。而进程是己提交完毕的程序所执行过程的描述,足资源分配的 4 本单位.其主要区别关系如下 :(I)作业是用户向
16、计算机提交任务的任务实体.在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进积.只要它被创建,总有相应的部分存在于内存巾(2)一个作业可由多个进程组成.且必须至少由一个进积组成.但反过来不成立.(3)作业的概念主要用在批处理系统中.像 Unix 这样的分时系统中,则没有作日而进程的概念则用在几乎所有的多道程序系统巾。5. UNIXSystcm V 中.系统程序所对应的正文段未被考虑成进程一上下文的一部分,为什么 ?答: 因为系统程序的代码被用户程序所共享,因此如果每个进程在保存进程 I 下文时,都将系
17、统程序代码放到其进程上下文中.则大大浪费了资源.因此系统程序的代码不放在进程上下文中,而是统一放在核心程序所处的内存中.6.什么是临界区?试举一临界区的例子.答: 临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的.所以它又被称为访问公用数据的那段程序。例如:getspace:Begin local gtop=top- IEndrelease(ad):Begintop-top+1stacktop=adEnd7.并发进程间的制约有哪两种?引起制约的原因是什么?答: 并发进程所受的制约有两种:直接制约和间接制约。直接制约是由并发进程互相共
18、享对方的私有资源所引起的。间接制约是由竞争共有资源而引起的。8.什么是进程间的互斥?什么是进程间同步?答: 进程间的互斥是指: 一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以_L 的共李该资源的并发进程同时进入临界区。进程间的同步是指:异 jIIJF 境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程。9.试比较 P, V 原语法和加锁法实现进程间互斥的区别。答: 互斥的加锁实现是这样的:当某个进程进入临界 X 之后,它将锁土临界区,直到它退出临界区时为止。并发进程在申请进入临界区时.首
19、先测试该临界区是否是 I 几锁的.如果该临界区已被锁住.则该进 V 要等到该临界区开锁之后才有可能获得临界区。但是加锁法存在如下弊端:(1)循环测试锁定位将报耗较多的 CPU 计算时间:(2)产生不公平现象.为此,P,V 原语法采用信号量管理相应临界区的公有资源 .信号量的数值仅能由 PI V 原语操作改变而 P, V 原语执行期间不允许中断发生。其过程是这样的:当某个进程正在临界区内执行时.其他进程如果执行了 P 原语.则该进程并不像 lock 时那样因进不了临界区而返回到 lock 的起点. 等以后重新执行测试,而是在等待队列中等待山其他进程做 V 原语操作释放资源后,进入临界 V,这时
20、P 原语才算真正结束。若有多个进程做 P 原语操作而进入等待状态之后一旦有 V 原语释放资源,则等待进程中的一个进入临界区,其余的继续等待。总之,加锁法是采用反堑测试 lock 而实现互斥的。存在 CPU 浪费和不公平现像,P. V 原语使用了信号量,克服了加锁法的弊端r,14.设有 5 个哲学家.共享一张放有五把椅子的桌子,每人分得一把椅子。但是. 桌子总共只有 5 支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边抬起筷子就餐。条件:(I)只有拿到两支筷子时,哲学家才能吃饭.(2)如果筷子己在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。(3)任,哲学家在自己
21、未拿到两支筷子吃饭之前,决不放下自己手中的筷子。试(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法.(2 )描述一个既没有两邻座同时吃饭.又没有人饿死( 永远拿不到筷子 )的算法.(3 )在什么情况下.5 个哲学家全部吃不上饭?解答:(l)、设信号量 cOl-c41.初始值均为 1.分别表示 i 号筷子被拿(i=O.I.2.3.4).send(i):第 i 个哲学家要吃饭beginP(cil);P(ci+l mod 5):eat;V(cfi+I mod 51);V(ci):End;该过程能保证两邻座不同时吃饭.但会出规 5 个哲学家一人拿一只筷子 .谁也吃不.1 几饭的死倾情况。(2)
22、.解决的思路如下: 让奇数号的哲学家先取右手边的筷子,让偶数号的哲学家先取左手边的筷子.这样,任何一个哲学家拿到一只筷子之后,就己经阻止了他邻座的一个哲学家吃饭的企图,除非某个哲学家一直吃下去,否则不会有人会饿死.send(i):第 i 个哲学家要吃饭BeginIf i mod 2=0 thenP(ci),P(ci+1mod5)eat;V(ci,ci+l mod 5)Else考P(ci+1 mod 5)P(ci)EatV(ci+l mod 5)V(ciI)End15.什么是线程?试述线程与进程的区别,答: 线程是在进程内用于调度和占有处理机的笨本单位.它山线程控制表、存储线程上下文的用户栈以及
23、核心栈组成.线程可分为用户级线程、核心级线程以及用户,/核心混合型线程等类型。其巾用户级线程在用户态下执行,CPU 调度算法和各线程优先级都由用户设置,与操作系统内核无关。核心级线程的调度算法及线程优先级的控制权在操作系统内核。混合型线程的控制权则在用户和操作系统内核二者。线程与进程的主要区别有:(1)进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部没备等了线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,胆自己没有任何资源。(2)以进积为单位进行处理机切换和调度时,山于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。以线程为
24、单位进行处理机切换和调度时,由于不发生资源变化,特别是地)II 空 H7 的变化,处理机切换的时间较短,从而处理机效率也较高。(3)对用户米说,多线程可减少用户的等待时间。提高系统的响应速度。例如,当一个进程需要对两个不同的服务器进行远程过程调用时,对一无线程系统的操作系统米说 AWN 序等待两个不同调用返回结果后才能继续执行,月.在等待巾容易发生进程调度.对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时间。(4)线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的数据和程序空间,因此,线程不能像进程的数据与程序那样.交换到
25、外存存储空间.从而线程没有挂起状态。(5)进程的调度、同步等控制大多山操作系统内核完成,而线程的控制既可以 Ill 操作系统内核进行,也可以山用户控制进行.第四章进程管理1 什么是分级调度?分时系统中有作业调度的概念吗?如果没有,为什么?答: 处理机调度问趣实际上也是处理机的分配问题。显然只有那些参与竞争处理及所必需的资源都己得到满足的进程才能享有竞争处理机的资格。这时它们处于内存就绪状态.这些必需的资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调1 变程序必须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作业.为它们分配资
26、源和创建进程.使它们获得竞争处理机的资格.另外,由于处于执行状态下的作业一般包括多个进程,而在单机系统中.每一时刻只能有一个进程占有处理机.这样,在外存中,除了处于后备状态的作业外,还存在处于就绪状态而等待得到内存的作业。我们需要有一定的方法和策略为这部分作业分配空间。因此处理机调度需要分级.一般来说.处理机调度可分为 4 级:(I)作业调度:又称宏观调度,或高级调度。(2)交换调度:又称中级调度.其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪态或等待状态或内存等待状态的进程交换到外存交换区。交换调度主要涉及到内存管理与扩充。因此在有些书本中也把它归入内存管理部分。(3)进程调度:
27、又称微观调度或低级调度.共主要任务是按照某种策略和方法选取一个处干就绪状态的进程占用处理机。在确立了占用处理机的进程之后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。(4)线程调度:进积中相关堆找和控制表等的调度.在分时系统中,一般不存在作业调度,而只有线程调度、进程调度和交换调度。这是因为在分时系统中,为了缩短响应时间,作业不是建立在外存.而是直接建立在内存中.在分时系统中,一旦用户和系统的交互开始,用户马上要进行控制。因此,分时系鱿 g,没有作业提交状态和后备状态。分时系统的输入信息经过终端缓冲区为系统直接接收,或立即处理,或经交换调度暂存外存中.2.试述作业调度的主
28、要功能。答: 作业调度的主要功能是: 按一定的原则对外存输入井上的大量后备作业进行选择.给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获褥竟争处理机的权利。 “另外,当作业执行完毕时,还负责回收系统资源.3.作业调度的性能评价标准有哪些?这些性能评价标准在任何悄况下都能反映调度策略的优劣吗?答: 对于批处理系统.山于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统米说,平均响应时间又被用来衡量调度策略的优劣.对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容
29、忍的响应时间.因此,在分时系统中.仅仅用周转时间或带权周转时间来衡量调度性能是不够的。对于实时系统,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。4.进积调度的功能有哪些?答: 进程调度的功能有:(1)tid nRR4 系统中所有进程的执行情况;(2 )选择占有处理机的进程;(3)进行进程_L 下文切换。5.进 V 调度的时机有哪几种?答: 进程调度的时机有:(1)正在执行的进程执行完毕.这时如果不选择新的就绪进程执行,将浪费处理机资源.(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态.(3)执行中进程调用了 P 原语操作.从而因资源不足而被阻塞:或调用了 V 原语操作激
30、活了等待资源的进程队列。(4)执行中进程提出 I/O 请求后被阻塞 .(5)在分时系统中时间片己经用完。(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进积执行。(7)在 CPU 执行方式是可剥夺时,还有:就绪队列巾的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度.6.进积上下文切换山哪几部分组成?描述进程上下文切换过程。答: 进 49 上下文切换 .I以下 4-7 步骤组成:(1)决定是否作上下文切换以及是否允许作上下文切换.包括对进程调度原因的检六分析,以及当前执行进程的资格和 CPU 执行方式的检查等.在操作系统中,上下文
31、切换程序并不是每时侮刻都在检查和分析是否可作上下文切换,它们设置有适当的时机。(2)保存当前执行进程的上下文.这里所说的当前执行进程,实际上是指调用一 L 下文切换程序之前的执行进程。如果_L 下文切换不是被那个当前执行进程所调用 .且不属于该进程.则所保存的上下文应是先前执行进程的上下文.或称为“老”进程上下文。显然.上下文切换程序不能破坏,.老”进程的_L 下文结构。(3)使用进程调度算法,选择一处于就绪状态的进程。(4)恢父或装配所选进程的上下文.将 CPU 控制权交到所选进程手中。7.为什么说在进程上下文切换过程巾.上下文切换程序不能破坏“老“进程的上下文结构?:因为如果在进程上下文切
32、换中破坏了老的进程上下文,等到 CPU 调度到该老进程执行,就不能正确地恢复其停止执行前的状态了。第五章处理器管理1.存储管理的主要功能是什么?答: 存储管理的主要功能包括以下几点:(1)在硬件的支持下完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储(2)将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性地(3)控制内外存之间的数据传输。(4)实现内存的分配和回收.(5)实现内存信息的共享与保护.2.什么是虚拟存储器?其特点是什么?答: 进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器不考虑物理存储器的大小和信息存放的实际位置.只规定每个进
33、n 中相互关联信息的相对位置。每个进程都拥有自己的虚拟存储器.且虚拟存储器的容量是山计算机的地址结构和寻址方式来确定。实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址:另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调抬令入内存。3.实现地址重定位的方法有哪几类?答: 实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。(1)静态地址重定位是在虚空间程序执行之前!Li 装配程序完成地址映射工作。静态重定位的优点是不需要硬件支持,但是 Q 静态地址重定位方法进行地址变换无法实现虚拟存储器。静态重定位的另一个缺点是必须占用连续的内存空间
34、和难以做到程序和数据的共享。(2)动态地址重定位是在程序执行过程中,在 CPU 访问内存之前山硬件地址变换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有:可以对内存进行非连续分配.动态重定位提供了实现虚拟存储器的基础.动态重定位有利于程序段的共享。形式化描述:略。4.常用的内存信怠保护方法有哪几种?它们各自的特点是什么?答: 常用的内存保护方法有硬件法、软件法和软硬件结合保护法三种.上下界保护法是一种常用的硬件保护法。上下界存储保护技术要求为每个进程设置对上下界寄存器.上下界寄存器巾装有被保护程序和数据段的起始地址和终止地址.在程序执行过积中,在对内存进行访问操作时首先
35、进行访问地址合法性检介,即检卉经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的:否则是非法的,并产生访问越界中断。保护键法也是一种常用的软件存储保护法。保护键法为每一个被保护存储块分配一个单独的保护键.在程序状态字中则设置相应的保护键开关字段.对不同的进程赋予不同的开关代码以和被保护的存储块中的保护键匹配。保护键可以没臂成对读写同时保护的或只对读写进行单项保护的。如果开关字段与保护键匹配或存储块未受到保护。则访问该存储块是允许的,否则将产生访问出错中断。另外一种常用的硬软件内存保护方式是:界限存储器与 CPU 的用户态,核心态相结合的保护方式.在
36、这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范困内的内存部分.而核心态进程则可以访问整个内存地址空间。5如果把 DOS 的执行模式改为保护模式,起码应做怎样的修改? ,答: 如果要把 DOS 的执行模式改成保护模式,起码要为每一个进程设置一对上下界寄存器._L 下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程中,在对内存进行访问操作时首先进行访问地址合法性检查.即检查经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的;否则是非法的,并产生访问越界中断。另外,还应该把指令的访问内存模式由访问实际物理地址改为山逻粗地址变换为物理地址的方式。6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。答;动态分区式竹理的常用内存分配算法有最先适应法(FF).最佳适应法(BF)和最坏适应法