希赛考试网
首页 > 软考 > 软件设计师

页式存储管理地址转换例题csdn

希赛网 2023-12-15 16:22:16

概述

页式存储管理是现代操作系统中常用的一种管理方式。它将程序的地址空间划分成等大小的页,使得程序的不同部分可以被分别装入不同的物理内存中。当程序执行时,需要将逻辑地址转换成物理地址。本文将以一个例题为背景,从多个角度分析页式存储管理中的地址转换过程。

例题

假设页大小为4KB,则一个32位地址将被划分成以下三个部分:

| Tag | Page | Offset |

|:---:|:----------------------:|:--------:|

| 22 | 9 | 11 |

其中Tag表示页在磁盘上的位置,Page表示页内偏移量,Offset表示页内偏移量。现有一个虚拟地址0x00EA1C64,问对应的物理地址是多少?

方案

首先需要将32位虚拟地址分成三个部分,即Tag、Page和Offset。由于页大小为4KB=2^12 B,所以Page需要占用12位。那么将EA1C64转换成二进制后,可以得到以下三个部分:

| Tag | Page | Offset |

|:--------:|:------------------------:|:------------------------:|

|0010111000|000000001110|100001100100|

根据Tag和Page来查询对应的物理页框,具体可参考操作系统可用的页表实现。假设查询得到的物理页框号为PMMU:

| Tag | Page | Offset |

|:--------:|:------------------------:|:------------------------:|

|0010111000|000000001110|100001100100|

| 22 | 9 | 11 |

|xxxxxxx | yyyyyyy | xxxxxxxxxxxxx |

| PMMU | yyyyyyy | 100001100100 |

由于页表查询时需要写操作,需要进行锁住,同时也要防止线程冲突,具体锁住的资源包括页表项、页表等。

根据查询得到的PMMU和Offset,可得到物理地址:

| Physical Address |

|:---------------------------------:|

| PMMU:yyyyyyy << 12 | 100001100100 |

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件