美文网首页
段页式存储地址计算

段页式存储地址计算

作者: 木头左 | 来源:发表于2024-04-18 18:31 被阅读0次

什么是段页式存储?

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

段页式存储地址计算

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

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

假设进程的段表和页表如下所示:
段号段基址段限长页表地址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

相关文章

  • 内存管理技术

    本文介绍界地址存储管理,页式存储管理,段式存储管理以及段页式存储管理。是不带虚拟功能的哦~ 我们知道,进程在运行前...

  • 操作系统拾遗--内存管理之段页式存储

    基本概念 段页式存储方式是分段式和分页式结合的存储方法。(1) 用分段方法来分配和管理虚拟存储器。程序的地址空间按...

  • 深入理解Linux高端内存

    一、Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址...

  • Linux内核高端内存

    Linux内核地址映射模型 x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射...

  • 段存储、页存储、段页存储

    以下内容整理自互联网,仅用于个人学习http://huachao1001.github.io/article.ht...

  • 操作系统:存储管理(1)

    1 内容 固定分区存储管理 可变分区存储管理 内存扩充技术 分页 段式 段页式 Linux存储管理 Solaris...

  • OS 页表级数计算

    >系统采用 48 位虚拟地址,页面大小为 4KB,页表项大小为 8B,假设系统使用纯页式存储,则要采用()级页表。...

  • 链式存储插入和删除的时间复杂度

    计算机的线性表中有两种基本的存储方式:顺序存储和链式存储。顺序存储指的是用一段地址连续的存储单元依次存储数据;而链...

  • Hadoop理论知识

    1、hadoop的概念:分布式文件存储和计算框架 hdfs:使用分布式思想存储海量数据 MapReduce:分布式...

  • [操作系统]实现请求页式存储管理模拟程序

    problem 实验内容: 编写一个请求页式存储管理模拟程序,通过对页面置换过程的模拟,加深对请求页式存储管理方式...

网友评论

      本文标题:段页式存储地址计算

      本文链接:https://www.haomeiwen.com/subject/gcryxjtx.html