输入一个16进制的逻辑地址 转换为物理地址
页表大小可选:
1K 2K 4K 8K 16K

页号 页块
0 5
1 2
2 10
3 11
4 8

程序逻辑:
绝对地址 = 页块×页表大小+偏移量(页内地址)
页号 = 逻辑地址÷页表大小
偏移量(页内地址) = 逻辑地址 mod 页表大小

package dizhizhuanhuan;import java.util.Scanner;class Yetable {public int yehao;public int kuaihao;public Yetable(int yehao, int kuaihao) {this.yehao = yehao;this.kuaihao = kuaihao;}private static void dayinyebiao(Yetable[] table) {System.out.println("页号  " + "块号");for (Yetable yetable : table) {System.out.println(yetable.yehao + "    " + yetable.kuaihao);}}private static int getYemiandaxiao(Scanner scan, int yemiandaxiao) {int xuanzeSize;System.out.println("请输入页面大小");xuanzeSize = scan.nextInt();if(xuanzeSize%2==0){yemiandaxiao = xuanzeSize*1024;System.out.println("您选择的页面大小为"+xuanzeSize+"K"+"--"+yemiandaxiao);}else{System.out.println("您输入的页面大小不正确 ,请重新输入");yemiandaxiao = getYemiandaxiao(scan, yemiandaxiao);}return yemiandaxiao;}public static class Dzzh {public static void main(String[] args) {Yetable[] table = new Yetable[5];table[0] = new Yetable(0, 5);table[1] = new Yetable(1, 2);table[2] = new Yetable(2, 10);table[3] = new Yetable(3, 11);table[4] = new Yetable(4, 8);Scanner scan = new Scanner(System.in);int yemiandaxiao = 0;yemiandaxiao = getYemiandaxiao(scan, yemiandaxiao);int yeno;/*输入一个整数的页内地址*///int dizhi;String dizhi16;int jueduidizhi;int a = 0;System.out.println("页号  " + "主存块号");for (Yetable yetable : table) {System.out.println(yetable.yehao + "    " + yetable.kuaihao);}while (true) {System.out.println("请输入页号的逻辑地址:");//dizhi = sc.nextInt();dizhi16 = scan.next();int dizhi = Integer.parseInt(dizhi16, 16);System.out.println("16进制转换为10进制后的逻辑地址为");System.out.println(dizhi);// System.out.println("请输入要访问的页号:");// yeno = scan.nextInt();//计算要访问的页号yeno = dizhi / yemiandaxiao;System.out.println("访问的页号为" + yeno);for (Yetable yetable : table) {if (yeno == yetable.yehao) {a++;dayinyebiao(table);/*绝对地址等于块号*1024+页内地址*/jueduidizhi = yetable.kuaihao * yemiandaxiao + (dizhi % yemiandaxiao);System.out.println("物理地址:" + jueduidizhi);String shiliu_juedui = Integer.toHexString(jueduidizhi);System.out.println("16进制的物理地址为"+shiliu_juedui);dayinyebiao(table);break;}if (a == 0) {System.out.println("无此页号!");}}}}}
}

操作系统-逻辑地址转换为物理地址Java实现相关推荐

  1. 浅析如何把逻辑地址转换为物理地址

    摘要:微信搜索[三桥君] 本文只讲逻辑地址转换为物理地址的计算方法 一.依据 (1)计算十六进制使用公式 逻辑地址=页号+页内地址 物理地址=块号+页内地址 [解析] 逻辑地址转换为物理地址其实就是页 ...

  2. 操作系统_逻辑地址转换为物理地址

    在存储管理中分为连续存储和非连续存储,非连续存储又分为分页存储.分段存储和段页式存储. 分页存储逻辑地址转物理地址: 例如: 已知某个分页系统,页面大小为1K(即1024字节),某一个作业有4个页面, ...

  3. 操作系统-----程序的逻辑地址和物理地址+程序在内存中的编译链接装入方式

    前提知识: 1.程序是先要放在内存上,才能被cpu执行的. 2.内存 内存就像酒店里的一个个小房间,每个小房间都有编号: 假设有4个学号为1,2,3,4的同学,入住酒店时分别按学号递增次序入住酒店房间 ...

  4. 2.3.1操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则

    2.3.1操作系统-存储管理:页式存储.逻辑地址.物理地址.物理地址逻辑地址之间的地址关系.页面大小与页内地址长度的关系.缺页中断.内存淘汰规则 页式存储 逻辑地址.物理地址 如何判断物理地址和逻辑地 ...

  5. 操作系统中逻辑地址和物理地址的区别

    击上方"嵌入式应用研究院",选择"置顶/星标公众号" 干货福利,第一时间送达! 本文是关于操作系统中逻辑地址和物理地址之间的区别.计算机操作系统中的内存使用两种 ...

  6. 《操作系统》——分页存储管理方式逻辑地址到物理地址的转换

    一.连续分配方式缺点 连续分配方式的主要缺点是会形成许多碎片,尽管我们可以通过紧凑的方法将碎片拼接成可用的大块空间,但这样须付出很大的代价. 二.离散分配方式 离散分配方式思想:将进程直接分散地装入到 ...

  7. 逻辑地址转物理地址(操作系统)

    1.前提明确(16进制): 逻辑地址=页号+页内地址 物理地址=块号+页内地址 可以较为明显的观察出:逻辑地址和物理地址的不同在于页号和块号的不同 那么什么是页号和块号呢举个例子就明白了 2.下面逻辑 ...

  8. 基本分页存储管理方式中关于逻辑地址和物理地址的转换(操作系统)

    分析页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示.若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得: p=int [A/L]d=A mod L 其中 ...

  9. 【操作系统复习】物理地址虚拟地址

    [操作系统复习] 物理地址虚拟地址 物理地址和虚拟地址的区别 物理地址 逻辑地址 线性地址 为什么要分成物理地址和虚拟地址 物理内存及虚拟内存定义 为什么要有虚拟内存 虚拟内存的实现(可以在页式或段式 ...

最新文章

  1. RDKit | 基于Fraggle算法评估化合物的相似性
  2. 中国研制出首款搭载寒武纪AI芯片的人工智能服务器
  3. [HNOI2010 Planar平面图判定]
  4. Android 闹钟最终版
  5. NLP Coursera By Michael Collins - Week1
  6. python保存和加载数组
  7. 程序员如何让自己 Be Cloud Native - 配置篇
  8. 面试被问mysql扩展性设计相关的点,你知道该如何回答吗
  9. 如何提高服务器网站网速,怎么提升服务器网速
  10. 构建websocket服务
  11. 白话之jsonp跨域原理分析
  12. Hbase单机安装及使用hbase shell进行简单操作
  13. serve注解是加在哪个类_PHP 8新特性之Attributes(注解)
  14. Java中创建线程池的正确方法
  15. 极域电子教室软件 v4.0 2015 豪华版忘记密码怎么办
  16. 斐讯k2p官方固件如何登陆ssh后台
  17. 广东外语外贸大学第16届程序设计竞赛-C 井大师的码魂
  18. 打印程序在计算机上的应用程序,修复无法在计算机上运行的后台打印程序服务的操作步骤...
  19. 2018 10 12 校内模拟 字符串模拟+平面距离+线段树
  20. 网页获取到的图片bease64编码,转化为二进制,进而保存为图片

热门文章

  1. URL Schemes 使用详解
  2. IOT语义互操作性之本体论
  3. PAT——A1008Elevator(模拟)
  4. 原生64位卸载工具Revo Uninstaller Pro V2.5.7
  5. Python语言(实践)练习题——函数及代码复用
  6. 高级珠宝Cartier
  7. vue双花括号的使用
  8. vue滑杆_非常简单的Vue滑杆组件
  9. 硬件电路设计之三极管和场效应管做开关管
  10. c语言中begin用法,C++ set cbegin() 使用方法及示例