【第六章 | 虚拟存储器】《操作系统 慕课版》课后答案 + 复习


【第六章】虚拟存储器

| 本章概念

1.虚拟存储器概述

  • 前面基础存储器的缺点
    • 有一个共同特点:作业全部装入内存后方能运行
    • 常规存储器管理方式的特征:一次性:作业被一次性全部装入内存;驻留性:作业一直驻留在内存
    • 一次性和驻留性使许多在程序运行中不用或暂不用的程序(数据)占据了 大量的内存空间,使得一些需要运行的作业无法装入运行。
  • 如何解决【大作业装不下、少量作业得以运行】的问题?解决办法:扩充内存、逻辑上扩充内存容量(虚拟存储器)
  • 虚拟存储器的定义
    • 应用程序在运行之前,没有必要全部装入内存,仅须将 那些当前要运行的部分页面或段先装入内存便可运行
    • 具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
    • 其运行速度接近于内存速度,而成本接近于外存
  • 虚拟存储器的特征
    • 多次性:作业中的程序和数据允许被分成多次调入内存允许
    • 对换性:作业运行时无须常驻内存
    • 虚拟性:从逻辑上扩充了内存容量,使用户看到的内存容量远大于实 际内存容量
  • 虚拟存储器的实现方法
    • 请求分页系统
    • 请求分段系统
    • 段页式虚拟存储器

2.请求分页存储管理方式基本概念

  • 最小物理块数的确定:保证进程正常运行所需的最小物理块数。取决于指令的格式、功能和寻址方式。
    • 平均分配算法;
    • 按比例分配算法; 各进程页面总和 S = ΣSi 每个进程所能分到的物理块数 bi = Si / S * m
    • 考虑优先权的分配算法;
  • 页面调入策略:
    • 何时调入页面?预调页策略、请求调页策略
    • 从何处调入页面?
    • 如何调入页面?查找所需页在磁盘上的位置、查找一内存空闲块、将所需页读入新空闲块然后更新页表、重启用户进程
  • 缺页率的计算:
    • S:访问页面成功次数
    • F:访问页面失败次数
    • A : 总访问次数 = S+F
    • 缺页率 = F/A
  • 缺页中断处理时间:
    • β:被置换的页面被修改的概率
    • ta:被置换页面被 修改的缺页中断处理时间
    • tb:被置换页面没有被修改的缺页中断时间
    • 缺页中断处理的时间 = β * ta + (1-β)*tb

3.页面置换算法的相关概念

  • 页面置换:找到内存中没有使用的一些页,换出
  • 性能的关键点 :找出一个导致最小缺页数的算法
  • 同一个页可能会被装入内存多次(可能造成“抖动”)
  • 页面置换完善了逻辑内存和物理内存的划分——在一个较小的物理 内存基础之上可以提供一个大的虚拟内存
  • 常见的页面置换算法:最佳置换算法 OPT 、先进先出置换算法 FIFO 、最近最久未使用算法 LRU 、最少使用算法 LFU、Clock置换算法、页面缓冲算法
  • 目的:尽可能小的缺页率

4.请求分段存储管理方式基本概念

  • 在分页基础上建立的请求分页式虚拟存储器系统,是以页面为单位进行换出 / 换入的。而在分段基础上所建立的请求分段式虚拟存储器系统,则是以分段为单位进行换入 / 换出的
  • 请求分段中的硬件支持
    • 请求段表机制
    • 缺段中断机构:在指令执行期间产生和处理中断信号。一条指令在执行期间,可能产 生多次缺段中断。由于段不是定长的,因此中断处理比缺页中断复杂
    • 地址变换机构:若段不在内存中,则必须先将 所缺的段调入内存,并修改段表,然后利用段表进行地址变换。
  • 分段保护:
    • 越界检查:比较段号与段表长度;段内地址与段表长度
    • 存取控制检查:以段为基本单位进行
    • 环保护机构

| 本章算法

1.分页存储管理的有关计算公式

最小物理块的数量计算公式

按比例分配算法; 各进程页面总和 S = ΣSi 每个进程所能分到的物理块数 bi = Si / S * m

缺页率的计算

  • S:访问页面成功次数
  • F:访问页面失败次数
  • A : 总访问次数 = S+F
  • 缺页率 = F/A

缺页中断处理时间的计算

  • β:被置换的页面被修改的概率
  • ta:被置换页面被 修改的缺页中断处理时间
  • tb:被置换页面没有被修改的缺页中断时间
  • 缺页中断处理的时间 = β * ta + (1-β)*tb

2.请求分页系统访问内存的有效时间EAT

λ:为查找快表所需要的时间

t:为访问一次内存所需要的时间

访问页在内存,且其对应页表项在快表中 EAT= λ + t

访问页在内存,但其对应页表项不在快表中 EAT= λ + t + λ + t = 2(λ + t)

t:为访问一次内存所需要的时间

φ:缺页中断处理时间

f:缺页率

访问页不在内存中:需进行缺页中断处理,有效时间可分为查找快表的时间、查找页表的时间、 处理缺页的时间、更新快表的时间和访问实际物理地址的时间

EAT = t + f ×(φ + t) + (1- f) × t

区别于【第五章:存储器管理】的【引入快表后的有效访问时间】计算公式

这个是请求调页系统,第五章那个是分页存储系统
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.已知逻辑地址、页大小、页表;求物理地址

①把逻辑地址转为二进制(如101(8) → 001 000 001)

②根据页大小计算出页的地址结构(如一页32B,2^5=32 因此低5位为页内地址,其余页为页号)

③由①的二进制,结合②的地址结构,可以得出【页号、页内地址】(如001 000 001,低5位为页内地址,则该二进制表示第2页,页内第1位)

④查表,若查得到则OK;若查不到则表示该逻辑地址不能转换
在这里插入图片描述


4.页面置换算法

最佳页面置换算法 OPT

  • 被置换的页将是之后最长时间不被使用的页。是一种理想算法,永远不可能实现

先进先出置换算法 FIFO

  • 总是淘汰最先进入内存的页面

最近最久未使用算法 LRU

  • 选择最近最久未使用的页面予以淘汰
  • 硬件支持:被访问的页面对应寄存器的Rn-1位置为1,定时右移
  • 具有最小数值的寄存器所对应的页面为淘汰页

最少使用算法 LFU(了解)

  • 选择在最近时期使用最少的页面作为淘汰页。(如果一个数据在最近一段时间很少被访问到,那么可以认为在将来它被访问的可能性也很小。因此,当空间满时,最小频率访问的数据最先被淘汰;当存在两个或者更多个键具有相同的使用频次时,应该淘汰最久未使用的数据。(即此时为 LRU)
  • 为内存中的每个页面设置 一个移位寄存器,用来记 录该页面的被访问频率

Clock置换算法(了解)

  • LRU的近似算法,又称最近未用(NRU)或二次机会页面置换算法

  • 每个页都与一个访问位相关联,初始值位0,当页被访问时置访问位为1,置换时选择访问位为0的页 ;若为1,重新置为0
    在这里插入图片描述
    页面缓冲算法(了解)

  • 设置两个链表:

    • ①空闲页面链表:保存空闲物理块
    • ②修改页面链表:保存已修改且需要被换出的页面,等被换出的页面数目达到一定值时,再一起换出外存

在这里插入图片描述
在这里插入图片描述


5.请求分段存储管理方式 地址变换

作业最多可拥有的段数 = 2 ^ 虚拟地址中【段号】的位数

作业最多可拥有的长度字节 = 2 ^ 虚拟地址中【段内相对地址】的位数

已知段号和段内地址,如何进行地址变换?

① 找到段号对应的段长 L 和主存起始地址 S

② 若段表中段号所对应的段长 < 所给的段内地址 则说明产生了越界中断,无法转换

若段表中段号对应的段长 ≥ 所给的段内地址, 则逻辑地址对应的主存地址为【主存起始地址 + 段内地址】

在这里插入图片描述


| 课后简答题

1.常规存储器管理方式具有哪两大特征?它们对系统性能有何影响?

一次性:进程必须全部装入内存。一次性对内存空间的浪费非落大

驻留性:在程序运行过程中,进程全部驻留在内存中。驻留性使内存中暂时不用的程序或数据无法被释放。

2.什么是虚拟存储器?如何实现页式虚拟存储器?

虚拟存储器是具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储系统

为实现虚拟存储器,首先需要扩充页表,增加状态位以指出所需页是否在内存中,

另外,还要使用两种关键技术。

①请求调页技术该项技术是指及时将进程所要访问的不在内存中的页调人内存。

②置换页技术该项技术

3.“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确,请说明理由。

这种说法是错误的。

整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中具备运行条件的进程所对应的程序和数据。

虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,亦指具有请求调人功能和置换功能、能从逻辑上对内存容量进行扩充的存储器系统,它的实现必须建立在离散分配的基础上。虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。实际上,在具有整体对换功能的系统中,进程的大小仍将受到实际内存容量的限制。

4.在请求分页系统中,为什么说一条指令执行期间可能产生多次缺页中断?

在请求调页时,只要作业的部分页在内存中,该作业就能执行;

而在执行过程中发现所要访问的指令或数据不在内存中时、系统会产生缺页中断,将所需的页面调入内存。

在请求调页系统中,—条指令(如copy A to B)可能跨了两个页,而其中要访问的操作数可能与指令不在同一个页上,且操作数本身也可能跨了两个页。当要执行这类指令而相应的页又都不在内存中时,就将产生多次缺页中断。

5.试比较缺页中断与一般的中断,它们之间有何明显区别?

缺页中断与一般中断的区别主要有:

①一般中断只需要保护现场然后即可直接跳到须及时处理的地方;

②缺页中断除了需要保护现场外,还需要判断内存中是否有足够的空间来存储所需的页或段,然后再把所需的页或段调进来使用。

6.试说明在请求分页系统中页面的调入过程。

每当程序所要访问的页面未在内存时(存在位为“0”).便向CPU发出缺页中断,中断处理程序保存CPU现场信息,分析中断原因后,转人缺页中断处理程序。该程序通过查找页表得到该页在外存的物理地址,如果此时内存能谷纳新贝,则后功伍,将历欧贝面调人内存,然后修改页表。如果内存已满,则须按照某种置换算法进行页面置换;如果换出页面被修改过(修改位为“1”),则必须将它写回磁盘,再把缺页调入内存,将页表中调入页的存在位改为“1”,并将此页表项写入快表中。利用修改后的页表,形成要访问数据的物理地址,再去访问内存数据。整个页面调人过程对用户是透明的。

7.(考研真题)简述在具有快表的请求分页系统中,将逻辑地址转换为物理地址的完整过程。

在具有快表的请求分页系统中、将逻辑地址转换为物理地址的完整过程为

①检索快表,试图从中找出所要访问的页

②如果找到,那么修改页表项中的访问位,供置换算法选择淘汰页时参考,将写指令的修改位置1,然启利用页表项中给出的物理块号和页内地址形成物理地址,地址转换结束:

③如果没找到,那么应到内存中查找贝表,再根据查找到的贝表项中的状态位来判断该页是否已调。若该页已调入内存、则将该页的页表项写入快表。
当快表已满时,先调出按某种算法所确定的页的页表项,再写人该页的页表项。若该页未调入内存,则产生缺页中断,请求OS从外存中将该页调人内存,再转到步骤②进行地址转换。

8.何谓固定分配局部置换和可变分配全局置换的内存分配策略?
(1)固定分配局部置换:固定分配是指,为每个进程分配一组固定数目的物理块,在进程运行期间不再改变;局部置换是指,如果进程在运行中发现缺页,则只能从分配给该进程的n个页面中选出1页换出,然后再调人1页。
(2)可变分配全局置换;可变分配是指,先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的改变;全局置换是指,如果进程在运行中发现缺页,则将Os所保留的空闲物理块或者所有进程的全部物理块选择1块换出然后再将缺页调入。

在这里插入图片描述
10.为了实现请求分段存储管理,应在系统中增加配置哪些硬件机构?

为了实现请求分段存储管理,应在系统中配置多种硬件机构以支持快速完成请求分段功能。

所需的硬件支持有段表机制、缺段中断机构以及地址转换机构。

  • 34
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第一章 操作系统概论 1. 什么是操作系统?请说明操作系统在计算机系统中的作用和地位。 操作系统是计算机系统中的一个系统软件, 它是这样一些程序模块的集合: 它们能够有 效地组织和管理计算机中的硬件和软件资源, 合理地控制计算机工作流程, 控制程序的执行, 并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机, 并使整个计算机 系统能高效地运行。 2. 操作系统管理计算机系统的哪些资源? 硬件和软件资源。 3. 请从资源管理角度说明操作系统的主要功能。 进程管理(处理器管理)、存储管理、文件管理、作业管理、设备管理 4. 操作系统有哪些基本特征? 并发性:计算机系统中同时存在若干个正在运行着的程序; 共享性:操作系统程序和多个用户程序共享系统中的各种资源 随机性:操作系统的运行是在一种随机的环境下进行的 5. 比较 Windows 、 UNIX、 Linux 操作系统的体系结构,有什么异同? Windows 体系结构是分成的模块系统, 主要层次有硬件抽象层 HAL、 内核、 执行体和大 量的子系统集合; UNIX 操作系统的系统架构图,其最里层是硬件,作为整个系统的基础;其次是操作系 统内核,包括进程管理、 存储器管理、设备管理和文件管理四个资源管理功能;往外一层是 系统调用接口,及操作系统与用户的接口 shell 以及编译程序等;最外层是应用程序 Linux 系统有四个主要部分,及内核、 shell、文件系统和用户程序。 6. Android 操作系统有什么特点? Android 操作系统分为四层,从高层到低层分别是应用程序层、应用框架层、系统运行 库层和 Linux 内核层。 以 Linux 为核心的手机操作平台,是一款开放式操作系统 7. 手机操作系统通常提供哪些功能?
根据目所提到的内容,我们来回答微机原理周荷琴第六课后答案PDF第四章的相关问。由于没有提供具体的问或者章节名称,我们将就第四章的一般内容进行简要回答。 第四章主要讨论了微处理器的体系结构和功能。它包括微处理器的基本概念、数据通路、控制器和寄存器等内容。 微处理器是现代计算机中最重要的组成部分之一。它是一个集成电路芯片,负责执行计算机的指令和处理数据。微处理器由控制器、算术逻辑单元(ALU)和寄存器组成。 数据通路是微处理器中负责数据传输的组件。它由数据总线、地址总线和控制总线构成。数据总线用于传输数据,地址总线用于传输内存地址,而控制总线用于传输控制信号。 控制器是微处理器中的主要组成部分,它负责解码和执行指令。控制器接收来自存储器的指令,然后根据指令的类型和操作码来控制其他部件的操作。 寄存器是微处理器中用于存储数据的高速存储区域。它们用于暂时保存指令、数据和中间结果。常见的寄存器有累加器、指令寄存器、程序计数器等。 在第四章中,还会涉及微处理器的指令集、指令周期和时序等重要概念。指令集是微处理器能够执行的指令的集合。指令周期是完成一个指令所需的时间,而时序则涉及指令周期中的各个阶段和时钟信号的控制。 以上是对微机原理周荷琴第六课后答案PDF第四章内容的简要回答。具体的问和详细内容可能会有所不同,如果需要更具体的答案,请提供更详细的问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Graskli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值