首页 > 其他分享 >段页式存储地址计算

段页式存储地址计算

时间:2024-04-19 18:45:10浏览次数:25  
标签:存储 4KB 框号 段页 偏移量 地址 计算

什么是段页式存储?

在计算机系统中,存储器被分为很多个小块,每个小块被称为一页。而段页式存储是一种将存储器分为若干个段和页的存储管理方式。在这种方式下,每个进程都被分配了一个独立的地址空间,其中每个地址都由一个段号和一个页号组成。

段页式存储地址计算

在段页式存储中,地址的计算需要分两步进行。首先,根据进程的段号和页号计算出物理地址的页框号;然后,再根据物理页框号和偏移量计算出物理地址。

下面,我们通过一个例子来说明段页式存储地址的计算过程。

假设进程的段表和页表如下所示:
段号段基址段限长页表地址010002002000130001004000
页号页框号010111212313

假设进程要访问的地址为0x1234,那么我们需要先将这个地址拆分成段号和偏移量。偏移量为0x234,段号为0x1。

接下来,我们需要根据段号和页号来计算出物理页框号。首先,我们需要在段表中查找到段基址和段限长。由于进程的段号为0x1,所以我们需要查找第二行的信息。可以发现,进程的段基址为3000,段限长为100。

接着,我们需要根据偏移量来计算出页号。由于页的大小为4KB,所以我们可以通过偏移量除以4KB来得到页号。即:

页号 = 偏移量 / 4KB = 0x234 / 4KB = 0x0

由于进程的页表地址为4000,所以我们需要在4000处查找到对应的页框号。可以发现,进程的第0页对应的物理页框号为10。

因此,我们可以得到物理地址为:

物理地址 = 页框号 * 4KB + 偏移量 = 10 * 4KB + 0x234 = 0x4234

总结

段页式存储是一种将存储器分为若干个段和页的存储管理方式。在这种方式下,每个进程都被分配了一个独立的地址空间,其中每个地址都由一个段号和一个页号组成。在进行地址计算时,需要先根据段号和页号计算出物理页框号,然后再根据物理页框号和偏移量计算出物理地址。

参考:https://blog.csdn.net/alzzw/article/details/123458906

标签:存储,4KB,框号,段页,偏移量,地址,计算
From: https://www.cnblogs.com/bigleft/p/18146616

相关文章

  • 200 Smart的一些关于寄存器和地址相关的用法实例
    累加器200smart有AC0AC1AC2AC3四个累加器,不能作为位访问累加器大小均是32位累加器的数值不会自动清零,中断会保持并重新装载累加器(进入中断时先把原来的值保存起来,退出中断程序后恢复原程序)只有AC1/AC2/AC3可以用作指针AC0不用作指针,不用作间接寻址LDSM0.0......
  • sqlnet现在ip地址登录
    由于业务需要,需要使用白名单限制用户登录数据库的地址,决定使用数据库白名单功能一般单实例数据库启动白名单只需要在sqlnet.ora中添加以下内容即可:TCP.VALIDNODE_CHECKING=yes(开启IP限制功能),TCP.INVITED_NODES=(192.168.1.103,ip2,ip3,..,..本地IP..)--白名单,必须本地IP,否......
  • JavaScript本地存储的方式有哪些
    Web存储技术1.localStorage特点:长期存储,除非手动删除否则会一直保存在浏览器中,清除缓存或卸载浏览器后消失。存储语法:window.localStorage.setItem(名字,值)获取语法:window.localStorage.getItem(名字)删除语法:window.localStorage.removeItem(名字)作用:删除localStorage......
  • 在Linux中,如何配置和管理虚拟机的网络和存储?
    在Linux中,配置和管理虚拟机的网络和存储涉及到对虚拟机网络模式的选择和设置,以及对存储资源的配置。以下是具体的步骤和说明:网络配置:桥接模式(Bridged):此模式下,虚拟机表现得就像连接到物理网络上的另一台独立主机一样。您需要编辑网络配置文件,通常位于/etc/sysconfig/network-scr......
  • 栈1: 栈的顺序存储
    栈:顺序存储栈是一种先进后出(FirstInLastOut,FILO)的数据结构如果你将两个元素压入栈,先加入的元素将在后加入的元素之后出栈栈顶元素值为null(未满时)定义栈的数据结构#defineMAX_SIZE1024//利用数组模拟栈的顺序存储typedefstructsqStack{void*data[MA......
  • 栈2: 链式存储
    栈2:栈的链式存储栈的结点//链式栈的结点typedefstructLINKNODE{structLINKNODE*next;}LinkNode;链式栈的结构//链式栈typedefstructLINKSTACK{LinkNodehead;intsize;}LinkStack;栈的初始化LinkStack*Init_LinkStack(){LinkStack*s......
  • 7-03. 实现数据存储和加载的逻辑
    给NPC增加GUIDNPC_Girl02和NPC_Girl01也同样增加DataGUID修改NPCMovement创建DataSlot修改SaveLoadManagerpersistentDataPath对应的文件路径暂时先不写UI,用键盘来进行交互修改TransitionManager卸载UI场景修改TransitionManager......
  • swift通过Mirror访问对象所有的存储属性
    Mirror用途:获取到对象的全部属性的key、value。示例:点击查看代码classPerson{privatevarname:Stringprivatevarage:Intvaraddress:StringvarsaySomething:String{return"helloworld"}init(name:String,age:Int,address:Stri......
  • 标签页间通信——打开新标签页并跳转第三方地址
    场景appwebView对象,打开一个H5页面,该H5点击一个按钮,会进行页面跳转但是打开了一个新的标签页,并且显示为about:blank如果是用浏览器进行相同操作,流程正常进行 解决查看该H5页面源码:functionf(){ $('.boton_azul').on('click',function(e){ popupBank=window.ope......
  • 智慧煤矿/智慧矿区视频汇聚存储与安全风险智能分析平台建设思路
    一、建设背景目前我国非常重视煤矿安全生产,并投入大量资金用于煤矿安全综合远程监控系统的研发。视频监控系统作为实现煤矿智能化无人开采的关键系统与煤矿安全生产的多系统协同分析与处理的关键信息源,在智慧矿山管控平台的建设中发挥着重要的作用。作为全矿区的视频整合平台,是......