一道分页存储和缺页中断题
发布日期:2021-06-30 17:18:45
浏览次数:2
分类:技术文章
本文共 658 字,大约阅读时间需要 2 分钟。
分析: 1)按字节编址,意味着一个地址存放一个字节,即1 Byte,8位。一个内存地址,也称为一个内存单元。2)页面大小为1K(2^10B),则一页存放1024个地址,即1024个单元。
3)虚拟页式存储,则系统需要建立页面映射表,即虚拟内存(逻辑内存)中的页号与物理内存页号的对照表,称为页表。页表存放于内存,进程执行过程时,首先查找页表,根据索引结果,取指或取数据。
由于一个地址(单元)是1Byte,而题目中的指令和数据都为16位,则占据2Byte,分为高字节和低字节。所以无论是取指令或取数据,都需要读2次页表,取2次值,即访问4次内存。现在指令 1 条,数据 2 个,合共访问内存 4 * (1 + 2) = 4 * 3 = 12 次。
第2问,如上分析,1页有1024个地址单元,根据题干描述,指令、数据,都跨页,因为地址从0开始,1023是第一页的最后一个单元,3071是第3页最后一个单元,5119是第五页最后一个单元。也就是说,指令、数据占据了6页。难道会产生6次页面中断?由于要执行指令,前提就是已经读到这条指令,因此指令的第一页不算,只算后面的5次页面中断。
为什么会产生页面中断呢?因为指令和数据事先并没有在内存中,所以要调入内存,才能被CPU读取、执行。
答:
1、应该访问 4 * 3 = 12 次内存。2、产生5次页面中断。
2021.02.24
按字节编址,意味着一个地址存放8bit的内容;按字编址,一个地址存放16bit内容。内存容量最小单位为bit,地址不是内存的容量单位。转载地址:https://leftfist.blog.csdn.net/article/details/112442272 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月18日 07时27分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
基于java的B2C的网上拍卖系统
2019-04-30
十二时辰篇:这该死的 996
2019-04-30
2021最新 上海互联网公司排名
2019-04-30
字节vs快手!取消大小周之战
2019-04-30
送一个闲置显示器!
2019-04-30
Oracle 行转列 pivot函数基本用法
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 自定义函数实现split功能,支持超长字符串和clob类型的分隔
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle通过pivot和unpivot配合实现行列转换
2019-04-30
给Oracle数据库换一个1522端口的监听
2019-04-30
Excel表格数据生成ECharts图表
2019-04-30
阿里云短信服务python版,pyinstaller打包运行时缺少文件
2019-04-30
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
WebService的简单案例记录(Java)
2019-04-30