操作系统综合题之“分页存储系统,计算逻辑地址对应的物理地址是什么”

一、问题:某基本分页存储系统中,内存容量为64K,每页的大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到内存的2、4、6、7页框中。

1.请简述地址转的基本思想

2.根据上面的已知条件计算出下列逻辑地址对应的物理地址是什么?(本体所有数字均为十进制表示)(1)1023 (2)2500 (3)4500

 

 

二、参考答案

1.地址转换时,先从页表控制寄存器中找到响应的页表,在以页号位索引区检索页表,查找操作由硬件执行,

在执行检索之前,现将页号与页表长度进行比较,

如果页号大于或等于页表长度,则表示本次所访问的地址已经超越进程的地址空间,于是这样一错误将被系统发现并产生地址越界中断,

若未出现越界错误,则将页表起始地址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,

于是可以从中得到改业的物理块号,将之装入物理地址寄存器中,

与此同时再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中,

这样便完成了从逻辑地址到物理地址的变换

2.

(1)页号P = INT(1023 / 1024) = 0,0页的页框号为2,页内偏移量W =MOD(1023/1024)=1023,物理地址 = 2 * 1024 +1023 = 3071

(2)页号P = INT(2500/ 1024) = 2,2页的页框号为6,页内偏移量W =MOD(2500/1024)=452,物理地址 = 6 * 1024 +452 = 6596

(3)页号P = INT(4500 / 1024) = 4,因为页号超过页表长度,故改逻辑地址非法

posted @   骚哥  阅读(174)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示