一、内存管理
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),
缺页中断处理是操作系统中的一种异常情况处理方式,用于处理程序访问不存在或者未分配的内存页的情况。产生缺页中断请求调页
由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。
常规存储器管理方式的特征
- 一次性。
- 驻留性。
虚拟存储器的特征
- 多次性
- 对换性
- 虚拟性
1.(单选题, 0.5分)在虚拟分页存储管理系统中,若进程访间的页面不在主存,且主存中没有可用的空闲帧时,系统正确的处理顺序为( )。
- A. 缺页中断→決定淘汰页→页面调出→页面调入
- B. 缺页中断→决定淘汰页→页面调入→页面调出
- C. 决定淘汰页→页面调入→缺页中断→页面调出
- D. 決定淘汰页→页面调出→缺页中断→页面调入
在虚拟分页存储管理系统中,如果进程访问的页面不在主存中,并且主存中没有可用的空闲帧,会发生缺页中断。系统接着会决定淘汰哪一页来腾出空闲帧。然后,系统会将要调入的页面从外存中调入到主存中,然后将要调出的页面从主存中调出到外存中。因此,正确的处理顺序是缺页中断→决定淘汰页→页面调出→页面调入
2. (单选题)解决“碎片”问题最好的存储管理方法是___________。
- A. 页式管理
- B. 可变分区管理
- C. 段式管理
- D. 固定分区管理
页式管理是最有效的解决碎片方式,它将内存划分为固定大小的页,每个页的大小通常与计算机系统的页面大小相同。这样,内部碎片最多也只会有一个页有内部碎片,而外部碎片可能大到无法分配一块大数据(但是把所有间隙都拼接在一起可以分配这个大数据),所以分页解决碎片最好。
- 页式管理是一种内存管理方式,它将内存划分为固定大小的页,每个页的大小通常与计算机系统的页面大小相同。页式管理的优点是易于实现和理解,但缺点是内存利用率较低,因为只有当程序运行到一个完整的页时,才能将其全部装入内存。
- 可变分区管理是一种内存管理方式,它允许操作系统根据需要动态地改变进程的存储空间大小。这种管理方式的优点是可以提高内存的利用率,但缺点是实现起来较为复杂,需要额外的硬件支持。
- 段式管理是一种更复杂的内存管理方式,它将内存划分为多个逻辑段,每个段可以包含不同的类型和大小的数据。段式管理的优点是可以更好地满足程序的存储需求,但缺点是实现起来更为复杂。
- 固定分区管理是一种最简单的内存管理方式,它将内存划分为固定大小的分区,每个分区只能分配给一个进程使用。这种管理方式的优点是简单易懂,但缺点是内存利用率较低。
补充
(单选题)采用紧凑法消除碎片的存储方法是( )。
- A. 可重定位分区
- B. 固定分区
- C. 对换
- D. 动态分区
采用紧凑法消除碎片的存储方法是动态分区。这种方法可以在程序执行过程中不立即回收用户释放的存储块,而是等到可利用空间不足或堆指针指向了可利用存储区的最高地址时才进行存储紧缩。具体来说,解决碎片问题的方法是拼接,即当无法分配内存时,向一个方向(例如向低地址端)移动已分配的作业,使那些零碎的小空闲区在另一个方向连成一片,形成连续区域。
补充
可重定位内存分区分配目的为____。
- A. 回收空白区方便
- B. 解决碎片问题
- C. 摆脱用户干预
- D. 便于多作业共享内存
解析:可重定位内存分区分配的主要目的是将内存中执行的程序集中,从而避免浪费内存。这种分配方式可以更好地利用内存空间,但需要注意的是,由于一个进程可能被分配到多个不连续的区域,所以需要进行地址重定位,这会增加系统的开销。
空白区是指没有被分配给进程使用的内存区域。这些区域可能由于内存碎片等原因而无法被利用。可重定位内存分区分配的主要目的是将内存中执行的程序集中,从而避免浪费内存。
3. (单选题)在页式分配中,CPU从内存中取一次数据需要( )次访问内存。
- A. 1
- B. 3
- C. 根据数据量决定
- D. 2
在页式分配中,CPU从内存中取一次数据需要两次访问内存。第一次是从内存中找到页表,然后找到页面的物理块号,加上页内偏移得到实际物理地址;第二次根据第一次得到的物理地址访问内存取出数据。
补充
(单选题)在段页式管理中,每取一次数据,要访问( )次内存。
- A. 2
- B. 4
- C. 1
- D. 3
在段页式存储管理中,每取一次数据需要访问内存三次。首次访问内存中的段表,以查找到页表的起始地址;第二次访问内存中的页表,找到页帧号,形成物理地址;第三次得到物理地址后,再次访问内存,进行指令或数据的存取。
4. (单选题)在动态分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是( )。
- A. 有下邻空闲区,但无上邻空闲区
- B. 有上邻空闲区,也有下邻空闲区
- C. 无上邻空闲区,也无下邻空闲区
- D. 有上邻空闲区,但无下邻空闲区
在动态分区分配方案中,当某一作业完成后,系统会收回其主存空间,并与相邻空闲区合并。如果有上邻空闲区和下邻空闲区,那么合并后,空闲区数会减2(因为原来的两个空闲区变成了一个)。
5.(单选题)在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与相邻空闲区合并,修改空闲区表,使空闲区数加1的情况是( )。
- A. 有上邻空闲区无下邻空闲区
- B. 有下邻空闲区无上邻空闲区
- C. 有上邻空闲区有下邻空闲区
- D. 无上邻空闲区无下邻空闲区
6.在可变分区分配中,首次适应分配算法要求对空闲区表项按_______排列。
- A. 尺寸从大到小
- B. 地址从小到大
- C. 地址从大到小
- D. 尺寸从小到大
在可变分区分配中,首次适应分配算法总是顺序查找未分配表,直到找到第一个满足长度要求的空闲区。因此,空闲区表项需要按地址从小到大排列。
补充分区管理中采用“最佳适应”分配算法时,宜把空闲区按( )次序登记在空闲区
- A. 地址递减
- B. 地址递增
- C. 大小递减
- D. 大小递增
在分区管理中,当采用“最佳适应”分配算法时,宜把空闲区按大小递增次序登记在空闲区表中。这是因为最佳适应算法会从最小的空闲区开始查找,以满足内存需求。
补充
(单选题)动态分区存储管理方法采用最坏适应分配算法时,将空闲区按______顺序登记到空闲区表中。
- A. 地址递减
- B. 容量递减
- C. 地址递增
- D. 容量递增
在进行动态分区存储管理时,最坏适应分配算法会选择最大的空闲区进行分配。因此,在将空闲区登记到空闲区表时,需要按照容量递减的顺序进行排序。这样,最坏适应算法可以找到满足作业要求的足够大的空闲区,避免因为选择较小的空闲区而导致的不连续碎片问题,
7.以下页面置换算法中,( )可能会产生Belady现象。
- A. 时钟置换算法
- B. 最近最久未使用算法
- C. 最佳置换算法
- D. 先进先出算法
Belady现象指的是在页面置换算法中,增加物理页面数并不一定能够减少页面缺失次数的现象。
在页面置换算法中,当物理页面数不足时,会发生页面置换,将物理页面中的某一页替换出去,然后将新的页面调入物理页面中。
Belady现象的发生是指,当物理页面数增加时,页面置换算法的性能反而变差,即页面缺失次数反而增加。
这个现象在FIFO(先进先出)页面置换算法中特别明显。
8.(单选题, 0.5分)在存储管理中,把目标程序中的逻辑地址转换成主存空间的物理地址的过程称为 ( )。
- A. 程序移动
- B. 地址重定位
- C. 存储分配
- D. 地址保护
在存储管理中,把目标程序中的逻辑地址转换成主存空间的物理地址的过程称为地址重定位。这个过程是通过使用页表来实现的,页表的作用就是实现从页号到物理块号的地址映射。
补充
(单选题)若操作系统使用( )技术,目标程序可不经任何改动而装入物理内存。
- A. 静态重定位
- B. 存储扩充
- C. 动态重定位
- D. 编译或汇编
9.(单选题)支持程序浮动的地址转换机制是( )。
- A. 静态重定位
- B. 段式地址转换
- C. 页式地址转换
- D. 动态重定位
支持程序浮动的地址转换机制是动态重定位。这是因为在程序执行期间,随着每条指令或数据的访问,它需要自动进行地址转换。与此不同的是,静态重定位是一种不支持程序浮动的地址转换机制,它在程序执行前由连接装入程序实现逻辑地址到物理地址的转换。而页式地址转换、段式地址转换和段页式地址转换等都是进程在运行过程中完成的地址重定位,它们都属于“动态重定位”的范畴。
10.(单选题)在段页式存储管理中,地址映像表是( )。
- A. 每个作业或进程的一张段表、每个段一张页表
- B. 每个作业或进程的每个段一张段表、一张页表
- C. 每个作业或进程的一张段表、两张页表
- D. 每个作业或进程的一张页表,每个段一张段表
在段页式存储管理中,地址映像表是由每个作业或进程的一张段表和每张段对应的一张页表组成的。
11.分页式存储管理系统中的分页是由( )完成的。
- A. 系统和用户
- B. 用户
- C. 不确定
- D. 系统
分页式存储管理系统中的分页是由操作系统完成的。具体来说,操作系统会将内存空间分为一个个大小相等的分区,称为“页框”,并将用户进程的地址空间也分为与页框大小相等的一个个区域,称为“页”或“页面”。每个页面有一个编号,即“页号”,页号也是从0开始。操作系统以页框为单位为各个进程分配内存空间。这种管理对于上层用户和应用程序都是完全透明的,应用程序的开发者看到的只是一段连续的地址空间罢了,是看不到具体的内存页的
12.(单选题)在下列有关请求分页存储管理的叙述中,正确的是____。
- A. 程序和数据是在程序开始执行前一次性装入内存的
- B. 产生缺页中断一定要淘汰内存中的一个页面
- C. 一个淘汰的页面一定要写回辅存
- D. 在页表中要有“中断位”、“访问位”等信息
解析:
A.在请求分页存储管理中,程序和数据并不是在程序开始执行前一次性装入内存的,而是在运行过程中根据需要动态地装入或替换。
B.产生缺页中断并不一定要淘汰内存中的一个页面,有时也可以将新页面暂时调入到内存的某个区域。
C.一个淘汰的页面也不一定需要写回辅存,如果该页面被频繁访问,那么就没有必要写回辅存。
D.而在页表中确实需要有“中断位”、“访问位”等信息,这些信息用于记录页面的使用情况和状态,以便于操作系统进行页面调度和管理。
辅存,也被称为外部存储器,是计算机中的一种重要组件,用于存储大量的数据和程序,以便长期保存和备份。常见的辅助存储设备包括硬盘、光盘、U盘等。它们的共同特点是存储容量大,价格相对较低,可以永久地保存信息,尽管读取速度相对较慢。当内存空间不足时,操作系统需要根据设定的置换算法选择一页进行换出。如果被换出的页面在最近一段时间内没有被修改过,那么这个页面就没有必要写回辅存。但是,一旦这个页面被修改过,为了保持数据的一致性,它必须被写回到辅存中。然后再把所缺的页调入内存,并修改对应的页表。
13.(单选题)在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该物理地址的阶段是( )。
- A. 装载
- B. 源代码编辑
- C. 链接
- D. 运行
14.(单选题)关于存储器管理,以下说法错误的是( )。
- A. 覆盖、交换、请求式调入和预调入都是操作系统控制内、外存数据流动的方式。
- B. 虚拟存储器是由指令的寻址方式所决定的进程寻址空间,由内外存共同组成。
- C. 内存分配算法中,首次适应法搜索速度最快,最坏适应法保留的空闲区较大。
- D. 内存信息保护方法有:上下界保护法、保护键法等
内存分配算法主要有以下几种:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法。首次适应算法是将进程放入内存的首个可用分区中,因此搜索速度较快;循环首次适应算法则是在满足条件的分区形成循环时,将进程放入下一个可用分区中;最佳适应算法是将进程放入能满足其要求的最小分区中,从而保留了大的空闲区;而最坏适应算法是将进程放入最大的可用分区中,它可能会导致大内存碎片的产生。
是错误的。因为首次适应算法搜索速度并不是最快,而是最坏适应法的搜索速度最快。
15. (单选题)在请求分页系统中, 页面分配策略与页面置换策略不能组合使用的是( )。
- A. 动态分配,全局置换
- B. 静态分配,局部置换
- C. 静态分配,全局置换
- D. 动态分配,局部置换
在请求分页系统中,静态分配和全局置换是不能组合使用的。静态分配是指在程序运行前就确定了页面的分配,而全局置换是在程序运行过程中根据需要动态地进行页面的分配和置换。这两种策略在实际应用中可能会导致系统性能下降,因此它们不能同时使用。
16.采用段式存储管理时,一个程序如何分段是在( )决定的。
- A. 分配主存
- B. 程序执行时
- C. 用户编程时
- D. 装作业时
采用段式存储管理时,一个程序如何分段是由用户编程时决定的。因为在编程时,程序员需要根据程序的结构和逻辑来划分各个部分,以便在运行时能够正确地访问和处理这些数据。
17. (单选题)下面关于虚存的说法正确的是( )。
- A. 作业在运行前不必全部装入内存,但在运行期间必须一直驻留在内存
- B. 作业在运行前必须全部装入内存,并且在运行期间必须一直驻留在内存
- C. 作业在运行前必须全部装入内存,但在运行期间不必一直驻留在内存
- D. 作业在运行前不必全部装入内存,并且在运行期间不必一直驻留在内存
18. (单选题)当系统发生抖动(thrashing)时,可以采取的有效措施是( )。 I. 撤销部分进程 II. 增加磁盘交换区的容量 III.提高用户进程的优先级
- A. 仅I 、II
- B. 仅I
- C. 仅II
- D. 仅III
抖动现象是指在内存紧张的情况下,频繁地换出和换入进程,导致系统效率降低。因此,撤销部分进程可以有效地减少内存的使用,从而避免抖动现象的发生。增加磁盘交换区的容量和提高用户进程的优先级并不能直接解决抖动问题。
19.(单选题)通常所说的"存储保护"的基本含义是________。
- A. 防止程序被人偷看
- B. 防止程序间相互越界访问
- C. 防止程序在内存丢失
- D. 防止存储器硬件受损
存储保护的基本含义是防止程序间相互越界访问。这是因为在计算机系统中,每个程序都有自己的运行空间,如果两个程序同时访问同一个内存地址,可能会导致数据混乱或者程序崩溃。因此,需要通过存储保护机制来防止这种情况的发生。
20.(单选题)______存储管理方式提供一维地址结构
- A. 段页式
- B. 分段和段页式
- C. 分段
- D. 分页
A. 段页式存储管理方式结合了分段和分页两种方法,它充分利用分段管理和分页管理的优点。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。因此,段页式存储管理方式提供了二维的地址结构。
B. 分段和段页式存储管理方式都提供二维的地址结构。在分段存储管理中,程序的地址空间按逻辑单位分成基本独立的段,每一段有自己的段名。而在段页式存储管理中,程序的地址空间先按逻辑单位分成基本独立的段,再把每一段分成固定大小的若干页。
C. 分段存储管理方式提供二维的地址结构,程序的地址空间按逻辑单位分成基本独立的段,每一段有自己的段名。
D. 只有分页存储管理方式提供一维地址结构,它是一种基于内存块的内存管理方法,每个进程以块为单位进行划分,进程在执行时,以块为单位逐个申请主存中地块空间。
21.(单选题)在段式分配中,若段内逻辑地址大于段表中该段的段长,则发生________。
- A. 地址越界中断
- B. 缺页中断
- C. 软中断
- D. I/O中断
在段式存储管理中,逻辑地址由段号和段内地址两部分组成。若段内逻辑地址大于段表中该段的段长,意味着访问越界了,因此会发生地址越界中断。这是为了保护系统的安全,防止程序访问不应该访问的内存空间。
22. (判断题)采用分段式存储管理不会产生内部碎片。 ( )
- A. 对
- B. 错
采用分段式存储管理不会生成内部碎片。因为在分段式存储管理方法中,一个作业的地址空间被划分为多个逻辑信息段,每个段都从0开始编址并且使用一段连续的地址空间。因此,各个段之间的空闲内存无法被利用,从而可能导致外部碎片的产生。但是相对于其他存储管理方式,如分页式存储管理和固定分区式存储管理,分段式存储管理的优点在于其不会产生内部碎片。
23.(判断题)可变式分区解决了碎片问题。( )
- A. 对
- B. 错
可变式分区是一种内存管理方式,用户在申请内存空间时,系统会根据用户的需求分配相应大小的内存空间。这种方式克服了固定分区方式中可能出现的内存浪费问题,并且解决了内部碎片的问题。然而,它并未解决外部碎片的问题。因为在动态分区过程中,由于分区数量的不确定性,有可能会产生一些较小的空闲分区,这些小的空闲分区无法被利用,从而形成了外部碎
23.(判断题)固定分区存储管理的各分区的大小可变化,这种管理方式不适合多道程序设计系统。
- A. 对
- B. 错
固定分区存储管理的各分区的大小是固定的,这种管理方式适合多道程序设计系统。因为在多道程序设计系统中,各个程序需要共享内存资源,如果分区大小可变,可能导致不同程序之间的内存访问冲突。而固定分区存储管理可以确保每个程序都有足够的内存空间,从而避免内存访问冲突。