• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

计算机操作系统题库之存储管理(五)

极客题库 Geekerstar 10个月前 (06-09) 369次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

覆盖技术的基本思想是什么?

覆盖技术的基本思想是,若一个大的程序是由多个相对独立的程序模块组成,且有些模块是相互排斥的,即执行甲就不会执行乙,则在这种情况下,就没有必要将该程序的所有模块装入内存,而是将那些二者(或多者)执行时取其一的模块处理成”覆盖”,让它们共享内存的一个”覆盖区”。这样就可以大大节省内存空间,达到用小内存运行大程序的目的。

为什么要引入动态链接

引入动态链接的原因如下:

1、节约内存。在许多情况下,每次要运行的模块可能是不相同的,但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要允运行到的模块,全部链接在一起,每次执行时全部装入。显然这是低效的。因为装入的某些模块在运行过程中,根本就不用。比较典型的例子时错误处理模块,入彀程序在整个运行过程中,都不出现错误,便不会用到该模块。动态链接的方式可以解决这个问题。

2、便于软件版本的修改和更新。采用装入时动态链接方式,要修改或更新各个目标模块非常容易。但对于经静态链接装配在一起的模块,要修改或更新其中的某个目标模块则要求重新打开装入模块。这不仅是低效的,而且对于普通用户也是不可能的。

3、便于实现目标模块共享和构建程序。若采用装入时动态链接方式,OS能够将一个目标模块链接到几个应用程序中去,即事项多个应用程序对该模块的共享。然而,采用静态链接方式时每个应用模块都必须含有该目标模块的拷贝,否则无法实现共享。

影响缺页中断率有哪几个主要因素

影响缺页中断率的因素有四个:

① 分配给作业的主存块数多则缺页率低,反之缺页中断率就高。

② 页面大,缺页中断率低;页面小缺页中断率高。

③ 程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。

④ 页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。

何为页表和快表?它们各起什么作用?

页表指出逻辑地址中的页号与所占主存块号的对应关系。

作用:页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。

快表就是存放在高速缓冲存储器的部分页表。它起页表相同的作用。

由于采用页表做地址转换,读写内存数据时CPU要访问两次主存。

有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。

计算机系统怎样实现存储保护?

一般硬件设置了基址寄存器和限长寄存器。

中央处理器在目态下执行系统中,对每个访问主存的地址都进行核对,若能满足:基址寄存器值≤访问地址≤基址寄存器值+限长寄存值,则允许访问,否则不允许访问。

并且不允许用户程序随意修改这两个寄存器的值。这就实现了存储保护。

在虚存中,页面在内存与外存中频繁地调试,系统效率急剧下降,称为颠簸。试说明产生颠簸的原因。通过什么方式可以防止颠簸的发生?

颠簸是由缺页率高而引起的。

系统规定缺页率的上界和下界。

当运行进程缺页率高于上界时,表明所分给它的物理页面数过少,应当增加;

反之,当运行进行缺页率低于下界时,表明所分给它的物理页面数过多,可以减少。

这样,根据缺页率反馈可动态调整物理页面的分配,以防止颠簸的发生。

以虚拟页式存储管理为例介绍虚拟存储管理的实现过程

虚拟页式存储管理的基本思想是,在进程开始执行之前,不是装全部页面,而是只装一个(甚至0个)页面,然后根据进程执行的需要,动态地装入其它页面。1、页表 2、缺页中断处理3、页面淘汰。

虚拟存储技术的理论基础(局部性原理)是什么?

程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。

根据统计,进程运行时,在一段时间内,其程序的执行往往呈现出高度的局限性,包括时间局部性和空间局部性。

1、时间局部性:是指若一条指令被执行,则在不久,它可能再被执行。

2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

试述段页式存储管理的基本思想。

段页式存储管理的基本思想是:

1、用页式方法来分配和管理内存空间,即把内存划分成若干大小相等的页面;

2、用段式方法对用户程序按照其内在的逻辑关系划分成若干段;

3、再按照划分内存页面的大小,把每一段划分成若干大小相等的页面;

4、用户程序的逻辑地址由三部分组成,形式如下:段号页号页内地址

5、内存是以页为基本单位分配给每个用户程序的,在逻辑上相邻的页面内存不一定相邻。

为了提高存取速度,可以使用快表技术。试述这一技术是如何实现的?

快表技术是在地址映射机构中增加一个小容量的联想寄存器(相联存储器),它由高速寄存器组成,成为一张快表,快表用来存放当前访问最频繁的少数活动页的页号。

在快表中,除了逻辑页号、物理页号对应外,还增加了几位。特征位表示该行是否为空,用0表示空,用1表示有内容;

访问位表示该页是否被访问过,用0表示未访问,1表示已访问,这是为了淘汰那些用得很少甚至不用的页面而设置的。

快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。

当用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后拼接页内地址,以形成物理地址;

如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行,得到物理页号后须将该物理页号填到快表的空闲单元中。有无空闲单元,则根据淘汰算法淘汰某一行,再填入新得到的页号。

实际上查找快表和查找内存页表是并行进行的,一旦发现快表中有与所查页号一致的逻辑页号就停止查找内存页表。

试述页式存储管理的基本原理

① 内存划分。

② 逻辑地址空间划分。

③ 页面大小。

④ 内存分配。

什么是固定分区?什么是可变分区?各有什么优缺点?

固定分区:系统将内存划分为若干固定的分区,当作业申请内存时,系统为其选择一个适当的分区,并装入内存运行。

由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,浪费了一些存储空间。

可变分区:是指在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。

引入可变分区方法,使内存分配有较大的灵活性,也提高了内存利用率。但是可变分区会引起碎片的产生。

什么叫碎片? 怎样解决碎片问题?。

所谓碎片是指内存中出现的一些零散的小空闲区域。

解决碎片的方法是移动所有占用区域,使所有的空闲区合并成一片连续区域。

这一过程称为紧凑,这一技术就是紧凑技术。

什么叫物理地址?什么叫逻辑地址?什么叫地址映射?地址映射分哪几类?

物理地址是内存中各存储单元的编号,即存储单元的真实地址,它是可识别、可寻址并实际存在的。

用户程序经过编译或汇编形成的目标代码,通常采用相对地址形式,其首地址为零,其余指令中的地址都是相对首地址而定。

这个相对地址就称为逻辑地址或虚拟地址。

逻辑地址不是内存中的物理地址,不能根据逻辑地址到内存中存取信息。

为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程序中的逻辑地址转运行时可由机器直接寻址的物理地址,这一过程称为地址映射或地址重定位。

地址映射可分为两类:1、静态地址映射2、动态地址映射

一个逻辑空间最多可有64个页,每页1KB字节。若把它映射到由32个物理块组成的存储器。问:(1)有效的逻辑地址由多少位?(2)有效的物理地址由多少位?

一个逻辑空间有64个页,每页1KB字节。

若把它映射到由32个物理块组成的存储嚣。64=26,

则:(1)逻辑地址有16位。(2)物理地址有15位。

说明:解此题的关键是要知道在分页管理中,”页”和”块”是一样大小的,这样才知道物理存储器是32KB。

对访问串:1,2,3,4,1,2,5,1,2,3,4,5,指出在驻留集大小分别为3,4时,使用FIFO和LRU替换算法的缺页次数。结果说明了什么?

首先采用FIFO,当m=3时,缺页次数=9,当m=4时,缺页次数=10。

采用LRU算法,当m=3时,缺页次数=10;当m=4时,缺页次数=8。

结果说明:FIFO有Belady奇异现象,即不满足驻留集增大,缺页次数一定减小的规律;另外在m=3时,LRU的缺页次数比FIFO要多,所以LRU算法并不总优于FIFO,还要看当前访问串的特点。

在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理内存块数M分别为3和4时,分别计算在访问过程中所发生的缺页次数和缺页率,并画出页面置换图。

当M=3时,缺页次数为10次,缺页率为10/12=0.83=83%。

当M=4时,缺页次数为8次,缺页率为8/12=0.66=66%。

可见,增加分配给作业的内存块数可以减少缺页次数,从而降低缺页率。

对于一个使用快表的页式虚存,设快表的命中率为70%,内存的存取周期为1ns;缺页处理时,若内存有可用空间或被置换的页面在内存未被修改过,则处理一个缺页中断需8000ns,否则需20000ns。假定被置换的页面60%是属于后一种情况,为了保证有效存取时间不超过2ns,问可接受的最大缺页率是多少?

设可接受的最大缺页率位p,则有1ns×0.7+2ns×(1-0.7-p)+0.4p×8000ns+0.6p×20000ns=2ns

即 0.7+0.6-2p+3200p+12000p=215198p=0.7P=0.000046

在分页存储管理系统中,存取一次内存的时间是8ns,查询一次快表的时间是1ns,缺页中断的时间是20ns。假设页表的查询与快表的查询同时进行,当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表。一个作业最多可保留3个页面在内存。现在开始执行一作业,系统连续对作业的2,4,5,2,7,6,4,8页面的数据进行一次存取,如分别采用FIFO算法和最优页面置换算法,求每种上存取这些数据需要的总时间。

1)FIFO
第2页面:20+8×3
第4页面:20+8×3
第5页面:20+8×3
第2页面:8+1
第7页面:20+8×3
第6页面:20+8×3
第4页面:20+8×3
第8页面:20+8×3
因此总的时间是(20+8×3)×7+(8+1)ns

2) OPT
第2页面:20+8×3
第4页面:20+8×3
第5页面:20+8×3
第2页面:8+1
第7页面:20+8×3
第6页面:20+8×3
第4页面:8+1
第8页面:8+1
因此总的时间是(20+8×3)×5+(8+1)×3ns

在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为1、3、2、1、1、3、5、1、3、2、1、5,当分配给该作业的物理内存块数M分别为3和4时,分别计算在访问过程中所发生的缺页次数和缺页率,并画出页面置换图。

当M=3时,缺页次数为6次,缺页率为6/12=0.5=50%。

当M=4时,缺页次数为4次,缺页率为4/12=0.33=33%。

可见,增加分配给作业的内存块数可以减少缺页次数,从而降低缺页率。

在一个请求分页系统中,采用OPT页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理内存块数M分别为3和4时,分别计算在访问过程中所发生的缺页次数和缺页率,并画出页面置换图。


当M=3时,缺页次数为7次,缺页率为7/12=0.583=58.3%。

当M=4时,缺页次数为8次,缺页率为6/12=0.5=50%。

可见,增加分配给作业的内存块数可以减少缺页次数,从而降低缺页率。

根据如下段表:
段号 基地址 长度 合法(0)/非法(1)
0 300 200
1 7500 540
2 3000 1010
3 2000 100
(1)求出逻辑地址为0,100的物理地址并将其的合法性填入上表适当位置;
(2)求出逻辑地址为3,100的物理地址并将其的合法性填入上表适当位置;

1、答:物理地址为:300+100=400

2、答:物理地址为:2000+100=2100

段号 基地址 长度 合法(0)/非法(1)
0 300 200 0
1 7500 540
2 3000 1010
3 2000 100 1


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:计算机操作系统题库之存储管理(五)
喜欢 (0)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00