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

逻辑地址和物理地址转换

在操作系统的学习中,很多抵挡都会涉及虚拟地址转换为物理地址的计算,本篇就简单介绍一下在分页存储管理、分段存储管理、磁盘存储管理中涉及的地址转换问题。

虚拟地址与物理地址

编程一般只有可能和逻辑地址打交道,比如在 C 语言中,指针里面存储的数值就可以理解成为内存里的一个地址,这个地址也就是我们说的逻辑地址,逻辑地址由操作系统决定。物理地址指的是真实物理内存中地址,更具体一点来说就是内存地址寄存器中的地址。物理地址是内存单元真正的地址。

分页存储管理

T1

image-20230221151612633 image-20230221151957224

T2

在一个分页虚拟存储系统中,用户编程空间为32个页,页长为1 KB,内存空间为16 KB。如果应用程序有10页长,若已知虚页0、1、2、3,已分得页框4、7、8、10,试把虚拟地址 0AC5(H)转换为对应的物理地址。

页长 1 KB = 2^10 ,说明后10位表示的是页内偏移地址
32个页 32 = 2^5,说明页内偏移地址的前五位是页号地址

0AC5 用二进制表示为:0000 10 10 1100 0101
加粗的5个数字即为页号地址;
斜着的10个数字即为页内偏移地址

把页号地址单独拿出来算:00010 将其换算为十进制为2,则说明此地址为 页号2(虚拟地址中的页号地址) ,由题可得:页号2对应的页框为8,再将8转换为十六进制数:01000(为物理地址中的页号地址);

最后将我们计算得来的十六进制数替换掉加粗的数字,即得最终的物理地址:

0010 00 10 1100 0101再换算成十六进制为:22C5

T3

某虚拟存储器的用户空间共有32个页面,每页1KB,内存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将十六进制的逻辑地址0A5C、103C、1A5C变换成物理地址。

image-20230226180250901

T4

image-20230226181830840

分段存储管理

T1

对于下表所示的段表,请将逻辑地址(0,137),(1,4000) (2,3600) (5,230)变换成物理地址。

image-20230226175935307

image-20230226180652681

磁盘存储管理

image-20230226175515040

磁盘存储管理

在这里插入图片描述

http://www.lryc.cn/news/22254.html

相关文章:

  • HyperGBM用4记组合拳提升AutoML模型泛化能力
  • P6软件中的前锋线设置
  • Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<二>---后端架构完善与接口开发
  • 如何在logback.xml中自定义动态属性
  • 嵌入式系统硬件设计与实践(第一步下载eda软件)
  • Portraiture4免费磨皮插件支持PS/LR
  • Python学习笔记202302
  • 2023年大数据面试开胃菜
  • 优雅的controller层设计
  • 同步、通信、死锁
  • 【聚类】谱聚类解读、代码示例
  • 最牛逼的垃圾回收期ZGC(1),简介
  • 微服务的Feign到底是什么
  • JavaScript 正则表达式
  • 【批处理脚本】-1.15-文件内字符串查找命令find
  • 【手撕面试题】JavaScript(高频知识点二)
  • Web学习1_HTML
  • 华为OD机试真题Java实现【靠谱的车】真题+解题思路+代码(20222023)
  • 【C++入门(下篇)】C++引用,内联函数,auto关键字的学习
  • 基于合作型Stackerlberg博弈的考虑差别定价和风险管理的微网运行策略研究(Matlab代码实现)
  • 2023年全国最新保安员精选真题及答案8
  • JavaScript高级程序设计读书分享之6章——MapSet
  • 改进的 A*算法的路径规划(路径规划+代码+毕业设计)
  • Tina_Linux存储性能参考指南
  • NCRE计算机等级考试Python真题(四)
  • LeetCode每周刷题总结2.20-2.26
  • u盘里删除的文件可以恢复吗?分享解决方法
  • 十、vben框架如何使用table来写报表
  • jQuery:入门
  • 实例3:树莓派呼吸灯