当前位置: 首页 > news >正文

地址变换和缺页置换习题

1.设某进程页面的访问序列为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该进程的内存页框数分别为3和4时,对于先进先出,最近最少使用,最佳页面置换算法,分别发生多少次缺页中断?

答:

分配的页框数为3时:

FIFO:

4

3

2

1

4

3

5

4

3

2

1

5

内存块1

4

4

4

1

1

1

5

5

5

5

5

5

内存块2

3

3

3

4

4

4

4

4

2

2

2

内存块3

2

2

2

3

3

3

3

3

1

1

是否缺页

×

×

×

×

×

×

×

×

×

共缺页9

扩充:先进先出置换算法(FIFO):每次选择淘汰的页面是最早进入内存的页面

实现方法:把调入内存的页面根据调入的先后顺序排成一个队列,需要换出页面时选择队头页面即可。队列的最大长度取决于系统为进程分配了多少个内存块。

当到内存块为 1 4 3时,队列为4-3-5,这时候下一个访问4,因为内存块有,就不改变队列,继续下一个,3也在队列不改变,2的时候改变,于是队列变为了3-5-2,内存块为4内容的改为2.

OPT:

4

3

2

1

4

3

5

4

3

2

1

5

内存块1

4

4

4

4

4

4

4

4

4

2

2

2

内存块2

3

3

3

3

3

3

3

3

3

1

1

内存块3

2

1

1

1

5

5

5

5

5

5

是否缺页

×

×

×

×

×

×

×

共缺页7

扩充; 最佳置换算法(OPTOptimal):每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,这样可以保证最低的缺页率。

注意最后从倒数第四个到倒数第三个,4 3 5 改为2 3 5,因为后期都不会有4 3的访问了,所以先改变4,从倒数第三个到倒数第二个,2 3 5 下一个时2 1 5,改变3的原因时尽管感觉3与2都可以修改,但是3的时间不妨问比2的久,因为2刚刚访问过了。

分配的页框数为4时:

FIFO:

4

3

2

1

4

3

5

4

3

2

1

5

内存块1

4

4

4

4

4

4

5

5

5

5

1

1

内存块2

3

3

3

3

3

3

4

4

4

4

5

内存块3

2

2

2

2

2

2

3

3

3

3

内存块4

1

1

1

1

1

1

2

2

2

是否缺页

×

×

×

×

×

×

×

×

×

×

共缺页10

LRU:

4

3

2

1

4

3

5

4

3

2

1

5

内存块1

4

4

4

4

4

4

4

4

4

4

4

5

内存块2

3

3

3

3

3

3

3

3

3

3

3

内存块3

2

2

2

2

5

5

5

5

1

1

内存块4

1

1

1

1

1

1

2

2

2

是否缺页

×

×

×

×

×

×

×

×

共缺页8

扩充:最近最久未使用置换算法(LRUleast recently used):每次淘汰的页面是最近最久未使用的页面。简单来说就是看有4个内存块,那么往前看4个不同的,把最后一个改变,比如,到5的时候,前面4个依次是2 1 4 3,所以从5往前看正好是不同的4个,删除最后一个25给换上。

倒数第3个是2,按照方法从前数发现是1 5 4 3

OPT

4

3

2

1

4

3

5

4

3

2

1

5

内存块1

4

4

4

4

4

4

4

4

4

4

1

1

内存块2

3

3

3

3

3

3

3

3

3

3

3

内存块3

2

2

2

2

2

2

2

2

2

2

内存块4

1

1

1

5

5

5

5

5

5

是否缺页

×

×

×

×

×

×

共缺页6

2. 分页存储管理中,页面大小为4KB,某进程的页号0~8对应的物理块号分别为89 10151820212223,计算该进程的逻辑地址05AF8H对应的物理地址(描述计算过程)

答:因为:页号为0-8,所以:前4位为页号

           页面大小为4KB,4K=2^12 所以:12位为页内地址

                  05AF8H的二进制为0101 1010 1111 1000

                  所以:页号为0101  十进制表示为5

查表得物理快号为20,即10100B

与页内地址拼接得10100 1010 1111 1000     十六进制为14AF8H

3. 在一个请求页式存储管理系统中,进程P共有5页,访问串为321032432104时,试用LRU置换算法和FIFO置换算法,计算当分配给该进程的页面数为3时,访问过程中发生的缺页次数和缺页率。

LRU

3

2

1

0

3

2

4

3

2

1

0

4

内存块1

3

3

3

0

0

0

4

4

4

1

1

1

内存块2

2

2

2

3

3

3

3

3

3

0

0

内存块3

1

1

1

2

2

2

2

2

2

4

是否缺页

×

×

×

×

×

×

×

×

×

×

缺页次数:10  缺页率:10/12=5/6

FIFO

3

2

1

0

3

2

4

3

2

1

0

4

内存块1

3

3

3

0

0

0

4

4

4

4

4

4

内存块2

2

2

2

3

3

3

3

3

1

1

1

内存块3

1

1

1

2

2

2

2

2

0

0

是否缺页

×

×

×

×

×

×

×

×

×

缺页次数:9  缺页率:9/12=3/4

方法:排成一个队列,替换最早的哪一个,遇到相同的页号不改变,如到了4-3-2,这时候队列为3-2-4,但是下一个页号为3,内存块已经有了,然后下一块2,内存块也有,都不改变队列,到了1的时候内存块没有,改变最早的那个,也就是3,所以存放3的那个内存块变成了1

4. 在某请求分页系统中,有一作业,它依次要访问的地址序列是:18、351、198、99、436、50、556,若该作业的第0号页已经装入主存,现分配给该作业的主存共3块,页的大小为100字节。请回答下列问题(需要详细过程):

(1)按FIFO调度算法产生的缺页中断次数是多少?依次写出淘汰的页号?缺页中断率是多少?

(2)按LRU调度算法产生的缺页中断次数是多少?依次写出淘汰的页号?缺页中断率是多少

答:依次访问页号为 0 3 1 0 4 0 5

FIFO

0

3

1

0

4

0

5

内存块1

0

0

0

0

4

4

4

内存块2

3

3

3

3

0

0

内存块3

1

1

1

1

5

是否缺页

×

×

×

×

×

×

中断次数 6     淘汰的页号: 0 3 1   缺页率:6/7=85.71%

LRU

0

3

1

0

4

0

5

内存块1

0

0

0

0

0

0

0

内存块2

3

3

3

4

4

4

内存块3

1

1

1

1

5

是否缺页

×

×

×

×

×

中断次数 5    淘汰的页号(暂定): 0 3 1  和0 4 1 缺页率:5/7=71.43%

5. 请求分页管理系统中,假设某进程的页表内容如下表所示。

   页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:

①TLB初始为空;

②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);

③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列137H 、565H、15A5H,请问:

(1) 依次访问上述三个虚地址,各需多少时间?给出计算过程。 

(2) 基于上述访问序列,虚地址258H的物理地址是多少?请说明理由。  

页号

页框号

有效位(存在位)

0

101H

1

1

--

0

2

254H

1

(1)根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则得到页内位移占虚地址的低12位,页号占剩余高位。可得三个虚地址的页号P如下(十六进制的一位数字转换成4位二进制,因此,十六进制的低三位正好为页内位移,最高位为页号):

 137H:P=0,访问快表10ns,因初始为空,访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。

 565H:P=0,访问快表,因第一次访问已将该页号放入快表,因此花费10ns便可合成物理地址,访问主存100ns,共计10ns+100ns=110ns。

 15A5H:P=1,访问快表10ns,落空,访问页表100ns落空,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+100ns≈108ns。

 (2)访问1565H时,1号页面在内存中,页框号与15A5H相同。前面当访问虚地址15A5H时,访问页表发现1号页不在内存中,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,最近访问的都是0号页的内容,0号页不应被淘汰。应淘汰2号页面,因此1号页面装入时对应的页框号为254H。由此可得1565H的物理地址为254565H。

6.段式存储管理

在某个段式存储管理系统中,进程P的段表如下表,求表中各逻辑地址对应的物理地址

段号

段内位移

0

430

1

15

2

500

3

400

4

112

答:

段号

段内位移

物理地址

0

430

680

1

15

2365

2

500

越界

3

400

1750

4

112

越界

7.页式管理

在某页式管理系统,某进程页表如下,已知页面大小为1024B,试将逻辑地址10122248301040205018转化为相应的物理地址。

页号

页框号

0

5

2

8

2

8

3

1

4

6

答:

逻辑地址

页号

页内地址

页框号

物理地址

1012

0

1012

5

5*1024+1012=6132

2248

2

200

8

8*1024+200=8392

3010

2

962

8

8*1024+962=9154

4020

3

948

1

1*1024+948=1972

5018

4

922

6

6*1024+922=7066

8. 假定某页式管理系统中,主存为128KB,分成32块,块号为0,1,2,3,4……31,某作业有五块,其页号为0,1,2,3,4, 被分别装主存的3,8,4,6,9块中,有一逻辑地址为[3,70],试求出相应的物理地址(其中方括号中的第一个元素为页号,第二个元素为页内地址,按十进制计算),并画图说明地址变换过理。

9.计算物理地址

物理地址计算3步曲!

  • 求出页号
  • 对照页表
  • 计算地址

地址转换

对地址 = 块号*块长 + 块内地址

例题:

在采用页式存储管理的系统中,某进程的逻辑地址空间为4(每页2048字节),且已知该进程的页面映像表(页表)如下:

页号

块号

0

2

1

4

2

6

3

8

计算有效逻辑地址4865所对应的物理地址.

解题:

读题划重点: 每页多少字节, 页表,有效逻辑地址!

3步曲解题!

页号:

页号 = 逻辑地址/每页字节数

d = 4865/2048 = 2

对照页表:

根据页号找到块号!

看页表 ,页号2对应块号6!

数地址:

绝对地址 = 块号*块长(每页字节数) + 块内地址

块内地址= 逻辑地址%每页字节数

块内地址: 4865%2048 = 769

地址:6*2048 + 769 = 13057

相关文章:

地址变换和缺页置换习题

1.设某进程页面的访问序列为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该进程的内存页框数分别为3和4时,对于先进先出,最近最少使用,最佳页面置换算法,分别发生多少次缺页中断? 答: 分配的…...

PAT 乙级 1010 一元多项式求导(解题思路+AC代码)

题目: 设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分…...

一维河流污染持续排放模拟(水污染扩散)

一、处理河道转换为geojson数据 以淮河为例处理示例数据: {"type": "FeatureCollection","features": [{"geometry": {"coordinates": [[[115.5803,34.4982],[115.5922,34.498],[115.6061,34.4994],[115.6203,…...

数据优化 | CnOpenDataA股上市公司招聘数据

就业是经济的“晴雨表”,更是社会的“稳定器”。稳定和扩大就业一直是国家宏观调控的重要目标,2021年中央经济工作会议八次提到“就业”这一关键词。在新冠肺炎疫情蔓延、世界经济下行及人口老龄化加快等多重因素的叠加之下,稳就业保民生成为…...

nacos和eureka的区别

nacos和eureka的区别 Eureka是什么 Eureka详解Nacos是什么 Nacos详解Nacos和Eureka的区别 CAP理论连接方式服务异常剔除操作实例方式自我保护机制 Eureka是什么 Eureka 是Spring Cloud 微服务框架默认的也是推荐的服务注册中心,由Netflix公司与2012将其开源出来,Eureka基于RE…...

canvas.toDataURL生成图片报错的解决方案

问题原因: toDataURL方法存在跨域限制,如果执行时dom内含有跨域的图片则浏览器执行时会报错。 这个根据不同的系统有不同的表现,例如:生成完毕但控制台有warning类型的警告,或者直接异常报error。 解决思路&#xff…...

电容笔和Apple pencil的区别是什么?好用电容笔推荐

Apple Pencil与目前市场上常见的电容笔最大的不同之处在于,普通电容笔并不具备苹果Pencil特有的重力压感,而仅仅是一种倾斜的压感。不过,其在其它方面的表现也很出色,与Apple Pencil相似,而且价格仅为200元。现在&…...

关于onnx 转ncnn 的问题

文章目录修改模型Detect层设计转换后处理优质文章由于有些操作是没法支持的 如5维的操作: Unsupported slice axes ! Unsupported slice axes ! Unsupported slice axes ! Unsupported slice axes ! Unsupported slice axes ! Unsupported slice axes !参考&#…...

设计模式之《责任链模式》

------《责任链模式》责任链模式的概念为什么用责任链模式工作中用在哪里设计思路代码实现总结责任链模式的概念 责任链模式是一种行为型设计模式,它允许你将请求沿着处理链传递,直到有一个处理者能够处理该请求为止。 在责任链模式中,每个…...

Android Studio实现多功能日记本

项目目录一、项目概述二、系统特点三、开发环境四、详细设计1、E-R图2、数据库3、系统设置五、运行演示一、项目概述 本次实现了功能实用且齐全的日记本,界面友好,使用便捷,采用MVC架构设计。使用SQLite数据库存储数据,数据表有主…...

只依赖Tensorrt和opencv的yolov5源代码

simple_yolo.hpp #ifndef SIMPLE_YOLO_HPP #define SIMPLE_YOLO_HPP/*简单的yolo接口&#xff0c;容易集成但是高性能 */#include <vector> #include <memory> #include <string> #include <future> #include <opencv2/opencv.hpp>namespace Si…...

多路I/O转接 poll(了解)

poll() 的机制与 select() 类似&#xff0c;与 select() 在本质上没有多大差别&#xff0c;管理多个描述符也是进行轮询&#xff0c;根据描述符的状态进行处理&#xff0c;但是 poll() 没有最大文件描述符数量的限制&#xff08;但是数量过大后性能也是会下降&#xff09;。 p…...

听说你也在为配置tomcat server而烦恼,看我这一篇,让你醍醐灌顶!

一.通过maven创建项目 二.下载tomcat服务器 我们一般在tomcat官网中进行tomcat的下载 Apache Tomcat - Welcome! 三.添加配置&#xff1a;我们点击下图中的文件配置 四.测试配置的tomcat 我们在文件的body中输入 测试内容&#xff1a; 在控制台中显式tomcat运行的信息&#…...

【从零开始学Skynet】工具篇(二):虚拟机文件的复制粘贴

大家在Linux系统下开发的时候肯定会遇到虚拟机与主机间无法复制粘贴的问题&#xff0c;现在我们就来解决这样的问题&#xff0c;方便我们的开发。 1、打开设置 我们可以系统界面的菜单栏点击“控制”&#xff0c;然后打开“设置”&#xff1b; 也可以在VirtualBox界面打开“设…...

全球自动驾驶竞争力最新排行榜,4家中国企业上榜

发展至今&#xff0c;自动驾驶技术不仅是汽车行业的一个主战场&#xff0c;更是全球科技领域中备受关注和充满竞争的一个重要领域。近年来&#xff0c;各大汽车制造商和科技公司都在投入大量财力物力人力进行自动驾驶技术的研发&#xff0c;并进一步争夺市场份额。 当然&#…...

APP启动流程分析

1、要分析的问题 1、与正常trace比对&#xff0c;确认过耗时在哪个步骤&#xff08;am create/pause/stop/start/doframe)&#xff1f; 2、与正常trace比对&#xff0c;确认过耗时在哪个cpu state(Running/Runnable/Sleep/Uninterruptible Sleep)&#xff1f; 2、启动分析 …...

IIR数字滤波器简介与实现

一、简介&#xff1a; IIR是一种数字滤波器&#xff0c;其输出是输入信号和过去输出的某些加权和。IIR滤波器由反馈和前馈组成&#xff0c;可以用于滤除或增强信号的特定频率成分。 IIR滤波器的输出表示为&#xff1a; y[n] b0 * x[n] b1 * x[n-1] b2 * x[n-2] … - a1 * …...

3.5 函数的极值与最大值和最小值

学习目标&#xff1a; 我要学习函数的极值、最大值和最小值&#xff0c;我会采取以下几个步骤&#xff1a; 理解基本概念&#xff1a;首先&#xff0c;我会理解函数的极值、最大值和最小值的概念。例如&#xff0c;我会学习函数在特定区间内的最高点和最低点&#xff0c;并且理…...

第五十八天打卡

第五十八天打卡 739. 每日温度 提示 中等 1.5K company 亚马逊 company Facebook company 字节跳动 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在…...

双一流大学计算机专业月薪拿2000?网友:我裂开

**“计算机不行了”“求求不要再学计算机”……**这样的言论时不时就会在网上掀起一番热议&#xff0c;知了姐看得不少。尤其最近有则新闻&#xff0c;更是给计算机专业盖上“不值钱”的帽子。 某985、211大学校招会上&#xff0c;有企业招聘计算机相关岗位时&#xff0c;提出…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...