• 操作系统——内存管理の选择题整理


    内存管理概念

    1、在使用交换技术时,若一个进程正在(),则不能交换出内存。
    A、创建
    B、I/O操作
    C、处于临界段
    D、死锁

    解析:选B
    进程正在进行I/O操作时不能换出主存,否则其I/O数据区将被新换入的进程占用,导致错误。
    创建的时候换出就会创建失败,等到再有内存分配给它时,再重新创建。
    如果进入临界区的时候关中断了,进程在临界区内不会失去对CPU的控制,不可能被换出内存。如果没有关中断,进程可能被挂起,也就有可能会被换出内存。
    死锁时就应该交换出内存,让其他的进程快点执行,别“占着茅坑不拉屎😀”

    2、存储管理方案中,()可采用覆盖技术
    A、单一连续存储管理
    B、可变分区存储管理
    C、段式存储管理
    D、段页式存储管理

    解析:选A
    覆盖技术就是原先这个存储空间已经放上内容了,但是现在重新再写入一个新的内容,将原先就的内容覆盖掉。
    覆盖技术主要运用在单一连续存储管理和固定式分区分配存储管理中。

    3、动态重定位是在作业的()中进行的。
    A、编译过程
    B、装入过程
    C、链接过程
    D、执行过程

    解析:选D
    静态装入是在编程阶段就把物理地址计算好。
    可重定位是在装入时就把逻辑地址转化成物理地址,但装入后不能改变。
    动态重定位是在执行时再决定装入的地址并装入,装入后有可能会换出,所以同一个模块在内存中的物理地址是有可能不一样的。
    动态重定位是指在作业运行过程中执行到一条访存指令时,再把逻辑地址转换为主存中的物理地址,实际上是通过硬件地址转换机制实现的。

    4、在一页式存储管理系统中,页表内容见下表。若页的大小为4KB,则地址转换机构将逻辑地址0转换成物理地址为(块号从0开始计算)()

    页号块号
    02
    11
    33
    47

    A、8192
    B、4096
    C、2048
    D、1024

    解析:选A
    物理地址=块号 * 页的大小+页内偏移量
    逻辑地址为0,因此页号为0,页内偏移量为0,查表可知,页号为0时对应的块号为2,页的大小为4KB,因此物理地址为2*4K=8192

    5、采用分页或分段管理后,提供给用户的物理地址空间()
    A、分页支持更大的物理地址空间
    B、分段支持更大的物理地址空间
    C、不能确定
    D、一样大

    解析:选C
    采用分页管理需要建立页表,采用分段管理需要建立段表,两者都需要占用内存,提供给用户的物理地址空间大小就等于总的地址空间减去页表或段表占用的内存空间,因此不知道页表和段表谁大谁小,因此不能确定谁提供给用户的物理地址空间更大一点。

    6、分页系统中的页面是为()
    A、用户所感知的
    B、操作系统所感知的
    C、编译系统所感知的
    D、连接装配程序所感知的

    解析:选B
    内存分页管理是在硬件和操作系统层面实现的,对用户、编译系统、连接装配程序等上层是不可见的。

    7、对重定位存储管理方式,应()
    A、在整个系统中设置一个重定位寄存器
    B、为每道程序设置一个重定位寄存器
    C、为每道程序设置两个重定位寄存器
    D、为每道程序和数据都设置一个重定位寄存器

    解析:选A
    为了使指令转换不影响执行的速度,必须有硬件地址变换结构的支持(专门的硬件速度会比较快),既需要在系统中增设一个重定位寄存器,用来存放程序(数据)在内存中的初址,在执行程序或访问数据时,真正访问的内存地址由相对地址与重定位寄存器中的地址相加而成,这是将始址存入重定位寄存器,之后地址访问即可通过硬件变换实现。因为系统处理器每次只能处理一条指令,因此没有必要为每条指令设置一个重定位寄存器(比较贵)。

    8、下面的()方法有利于程序的动态链接
    A、分段存储管理
    B、分页存储管理
    C、可变式分区管理
    D、固定式分区管理

    解析:选A
    程序的动态链接与程序的逻辑结构有关,分段式存储管理系统按照程序的逻辑结构进行分段,因此有利于其动态链接,其他的内存管理方式与程序的逻辑结构无关。

    9、操作系统实现()存储管理的代价最小
    A、分区
    B、分页
    C、分段
    D、段页式

    解析:选A
    分区:将一整个内存划分为一个区一个区,不需要其他的信息记录区的信息,不需要其他记录信息占内存。
    分页:将整个内存划分为固定大小的一页一页的存储空间,需要设置页表记录分页情况,需要记录其他信息占内存。
    分段,根据用户需要的地址大小将内存划分出段供其使用,需要设置段表记录分段情况,需要记录其他信息占内存
    段页式:根据用户需要的地址大小将内存划分为段,在段内在划分成一页一页的存储空间,需要段表和页表,用于记录分段和分页情况,需要记录其他信息占内存。

    10、在页式存储管理中选择页面的大小,需要考虑下列()因素
    a.页面大的好处是页表比较小
    b.页面小的好处是可以减少由内部碎片引起的内存浪费
    c.影响磁盘访问时间的主要因素通常不是页面大小,所以使用时优先考虑较大的页面
    A、a和c
    B、b和c
    C、a和b
    D、a、b和c

    解析:选C
    对于a,假设整体的逻辑地址空间为210B,若页面大小为29B,此时页表大小为2B,若页面大小为28B,此时页表大小为4B,因此页面大的好处就是页表会比较小,但是也容易造成内部碎片。
    对于b,页面小的好处是减少内部碎片造成的内存浪费,只要能放下,页面越小,浪费的越少。假设一个页面大小为4B,此时要存放一个3B的内容,产生1B的内部碎片,若页面大小为10B,存放同样的内容,此时会产生7B的内部碎片。
    对于c,使用时优先考虑什么页面取决于采用什么算法。如果采用最坏适应算法,则优先考虑较大的页面,若采用最佳适应算法,则优先考虑能装下的最小的页面。

    11、某个操作系统对内存的管理采用页式存储管理方法,所划分的页面大小()
    A、要根据内存大小确定
    B、必须相同
    C、要根据CPU的地址结构确定
    D、要依据外村和内存的大小确定

    解析:选B
    分页的思想:把主存空间划分为大小相等且固定的块,块相对较小,作为主存的基本单位。

    12、在分页存储管理中,主存的分配()
    A、以物理块为单位进行
    B、以作业的大小进行
    C、以物理段进行
    D、以逻辑记录大小进行

    解析:选A
    在分页存储系统中,逻辑地址分配是按页为单位进行分配的,而主存的分配是以物理块为单位进行分配的。

    13、段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即()
    A、用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间
    B、用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间C、用分段方法来分配和管理主存空间,用分页方法来管理辅存空间
    D、用分段方法来分配和管理辅存空间,用分页方法来管理主存空间

    解析:选B
    根据用户地址的实际情况分段,根据物理存储空间进行分页分配。
    段页式管理的就是内存空间,因此是主存空间。

    14、以下存储管理方式中,会产生内部碎片的是()
    a.分段虚拟存储管理
    b.分页虚拟存储管理
    c.段页式分区管理
    d.固定式分区管理
    A、a、b、c
    B、c、d
    C、仅b
    D、b、c、d

    解析:选D
    产生内部碎片的:分页式、段页式、固定式
    产生外部碎片的:分段式、段页式
    分段式:一段一段的,一段需要多少就给多少,段与段之间产生的不能利用的碎片称为外部碎片。
    分页式:一页一页的,先分好页,再将地址分进去,页与页之间没有碎片,但是页内部会产生碎片,称为内部碎片。
    段页式:先分段,在段内再分页,因此分段的时候可能会产生外部碎片,分页的时候可能会产生内部碎片。
    固定式:将内存分配成固定的大小块,如果分配的有剩余,就产生内部碎片,如果分配的不够,再多给一点。

    15、某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210B,页表项大小为2B,逻辑地址结构为

    页目录号页号页内偏移量

    逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是()
    A、64
    B、128
    C、256
    D、512

    解析:选B
    “页目录表”:用来记录页的一个表,里面的每一个表项表示一个表。因此该提是求“整个逻辑地址空间有多少页”
    “页大小为210B,页表项大小为2B”=>每一页有210B/2B=29个页表项。
    “逻辑地址空间大小为216页”=>逻辑地址空间一共需要216个页表项,因此一共需要216/29=27页,因此整个逻辑地址空间的页目录表中包含表项的个数至少是27=128

    16、在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是()
    A、编辑
    B、编译
    C、链接
    D、装载

    解析:选C
    编译后的程序需要经过链接才能装载,而链接后形成的目标程序中的地址就是逻辑地址。
    编辑是用户操作的,编辑后形成的地址还是逻辑地址。
    编译是由操作系统完成的,把高级语言变成计算机可以识别的2进制语言,编译后形成的地址是二进制地址。
    链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。在各个模块之间传递需要物理地址去定位。
    装载是将程序执行所需要的指令和数据装入内存中的过程,不会进行地址转化。


    虚拟内存管理

    1、请求分页存储管理中,若把页面尺寸增大一倍而且可容纳的最大页数不变,则在程序顺利执行时缺页中断次数会()
    A、增加
    B、减少
    C、不变
    D、可能增加也可能减少

    解析:选B
    “页面尺寸增大一倍”=>要放入的页帧数减少=>队列变短=>缺页次数减少
    假设现在页面尺寸为2,将一段程序划分后分成6页,可容纳的最大页数为6,此时缺页次数为6。
    若页面尺寸增大一倍,变为4,同样一段程序,划分后会分成3页,可容纳的最大页数为6不变,此时缺页次数为3。可见缺页次数减少。

    2、设主存容量为1MB,外存容量为400MB,计算机系统的地址寄存器有32位,那么虚拟存储器的最大容量是()
    A、1 MB
    B、401 MB
    C、1MB+232 MB
    D、232 B

    解析:选D
    虚拟存储器的容量由计算机地址结构决定,与内外存容量无关。
    计算机系统的地址寄存器有32位,因此虚拟存储器的最大容量为232 B=4GB

    3、导致LRU算法实现起来耗费高的原因是()
    A、需要硬件的特殊支持
    B、需要特殊的中断处理程序
    C、需要在页表中标明特殊的页类型
    D、需要对所有的页进行排序

    解析:选D
    LRU算法,最近最久未使用置换算法,每次访问操作完一次后,就需要对其进行重新排序,确定谁为最近最久未使用的页,下次置换,将把它置换出去。其余选项均未涉及。

    4、在页面置换策略中,()策略可能引起抖动
    A、FIFO
    B、LRU
    C、没有一种
    D、所有

    解析:选D
    抖动(颠簸)是指在进程的页面置换过程中,频繁的页面调度(缺页中断)行为,所有的调度策略都不可能完全避免。

    5、提供虚拟存储技术的存储管理方法有()
    A、动态分区存储管理
    B、页式存储管理
    C、请求段式存储管理
    D、存储覆盖技术

    解析:选C
    虚拟存储技术是基于页或段从内存的调入/调出实现的,需要有请求机制的支持。

    6、在计算机系统中,快表用于()
    A、存储文件信息
    B、与主存交换信息
    C、地址变换
    D、存储通道程序

    解析:选C
    快表:计算机系统种,为了提高系统的存取速度,在地址映射机制中增加的一个小容量的硬件部件,用来存放当前访问最怕频繁的少数活动页面的页号。即在快表中,页号对应的就是物理地址,不需要再进一步计算,是从逻辑地址转化为物理地址的快速方法,用于地址变换。

    7、测得某个采用按需调页策略的计算机系统的部分状态数据为:CPU利用率为20%,用于交换空间的磁盘利用率为97.7%,其他设备的利用率为5%。由此判断系统出现异常,这种情况下,()能提高系统性能。
    A、安装一个更快的硬盘
    B、通过扩大硬盘容量增加交换空间
    C、增加运行进程数
    D、加内存条来增加物理空间容量

    解析:选D
    通过题目中给的数据可以看出,CPU利用率很低,磁盘交换区的利用率很高,因此不需要对磁盘进行什么修改操作,其他I/O设备的利用率属于一个正常水平,也不需要做什么修改操作。因此只需要就CPU效率进行改进。
    对于CPU利用率低的问题,主要从两个方面解决:①增大内存;②减少进程数量。

    8、假定有一个请求分页存储管理系统,测得系统各相关设备的利用率为:CPU的利用率为10%,磁盘交换区的利用率为99.7%,其他I/O设备的利用率为5%。下面()措施将可能改进CPU的利用率。
    a.增大内存的容量
    b.增大磁盘交换区的容量
    c.减少多道程序的度数
    d.增加多道程序的度数
    e.使用更快速的磁盘交换区
    f.使用更快速的CPU
    A、a、b、c、d
    B、a、c
    C、b、c、e
    D、a、b和f

    解析:选B
    通过题目中给的数据可以看出,CPU利用率很低,磁盘交换区的利用率很高,因此不需要对磁盘进行什么修改操作,其他I/O设备的利用率属于一个正常水平,也不需要做什么修改操作。因此只需要就CPU效率进行改进。
    CPU效率低可能是因为内存太小,导致不停的在进行置换操作,CPU处理时间比较少,时间都用在置换页面上了,因此扩大内存容量可以改善这种情况,(be like:原先页容量最大是2,2345623456按照FIFO进行置换缺页置换次数为10次,页容量最大是5时,2345623456按照FIFO进行置换缺页置换次数是5次,明显降低,CPU利用率上升)。【扩大内存】
    因为此时系统正处于频繁的换入换出过程中,因此可以通过减少多道程序的度数,来减少用户进程数,从而降低系统换入换出的频率,提高CPU效率。【减少进程】
    对于f,CPU利用率低的原因不是因为它处理的慢,而是因为它需要频繁的换入换出,它本身有效的处理时间就很短了,用再快的CPU,只能更加缩短处理时间,CPU利用率反而下降了

    9、当系统发生抖动时,可以采取的有效措施是()
    a.撤销部分进程
    b.增加磁盘交换区的容量
    c.提高用户进程的优先级
    A、仅a
    B、仅b
    C、仅c
    D、仅a、b

    解析:选A
    系统发生抖动是指频繁的换进换出,是内存容量不够,可以扩大内容容量或者减少进程数量,因此撤销部分进程是合适的处理方法。磁盘交换区只是用来存放内存中换出的进程,换的频率与它的大小无关。提高用户进程的优先级也不能改变什么,缺少的就是需要换进去,优先级再小,也要换进去(真🐂哈哈哈哈哈)

    10、若用户进程访问内存时缺页,则下列选项中,操作系统可能执行的操作是()
    a.处理越界错
    b.置换页
    c.分配内存
    A、仅a、b
    B、仅b、c
    C、仅a、c
    D、a、b和c

    解析:选B
    只有产生越界错误时,才会处理越界错,而在缺页时,并不会产生越界错误,因此不会执行处理越界错的操作。
    缺页时,如果页容量已经达到最大值,则根据页面置换算法选择出要置换的页面,执行置换页操作。
    缺页时,如果页容量还未达到最大值,则会分配内存,将页面调入。
    假设访问队列为2324536,页容量为2,则前两次缺页,即访问2和3时,系统会分配内存,后面的缺页,则系统会执行置换操作。

    11、在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()
    A、可变分配、全局置换
    B、可变分配、局部置换
    C、固定分配、全局置换
    D、固定分配、局部置换

    解析:选C
    内存分配策略:
    ①固定分配局部置换,为每个进程分配一定数量的物理块,在进程运行期间都不改变,如果缺页,只能在该进程分配的内存页面中选择一页置换,别的进程就算有空这的,也不能占用。
    ②可变分配局部置换,为每个进程分配一定数量的物理块,运行期间如果缺页,就从该进程分配的内存页面中选择一页置换,如果该进程频繁的进行置换操作,可能是因为刚开始分给它的物理块数量太少了,因此可以再给它分一点,相反,如果有的进程有冗余的物理块,也可以分给别人。
    ③可变分配全局置换,为每个进程分配一定数量的物理块,运行期间如果缺页,为其分配空闲的页面,不管是哪个进程的,大家一起用的意思。

    12、某请求分页存储系统的页大小为4KB,按字节编址。系统给进程P分配2个固定的页框,并采用改进型Clock置换算法,进程P页表的部分内容见下表。
    在这里插入图片描述
    若P访问虚拟地址为02A01H的存储单元,则经过地址变换后得到的物理地址是()
    A、00A01H
    B、20A01H
    C、60A01H
    D、80A01H

    解析:选C
    页大小为4KB=212,因此A01H保持不变,虚拟地址中的02H表示页号为2,查表可知页号为2的页表项存在位为0,即不存在,因此顺延往后找,页号为3,4的页表项都存在,其中页号为3的页表项被访问过但没有被修改过,页号为4的页表项被访问过也被修改过,优先选择没有被修改过的页号为3的页表项,因此页框为60H,变换后得到的物理地址为60A01H。

    13、下列选项中,通过系统调用完成的操作是()
    A、页置换
    B、进程调度
    C、创建新进程
    D、生成随机整数

    解析:选C
    系统调用是操作系统为了避免用户直接调用计算机资源而提供给用户使用的接口,因此涉及用户请求。
    页置换和进程调度对用户都是透明的,不涉及用户请求,因此不是系统调用完成的。
    创建新进程是可以通过系统调用完成。
    生成随机整数不涉及调用计算机内核资源,用户态就可以实现,只需要普通的函数即可,不需要系统调用

  • 相关阅读:
    如何避免输入中文拼音时触发input事件
    Microsoft Visual Studio—常用快捷键
    解决CondaHTTPError HTTP 000 CONNECTION FAILED for url解决方法
    C++获取程勋代码执行的时间
    C语言习题---(数组)
    gitlab runner
    小程序的开发与应用|软件定制开发|APP网站搭建
    k8s集群证书过期解决
    NISP证书有什么用?NISP证书就业方向?
    JavaScript WebGL 绘制顺序
  • 原文地址:https://blog.csdn.net/qq_45741986/article/details/126439648