分页存储相关计算

2023-11-17

分页存储相关计算

页面和物理块

  • 页面:分页存储管理将进程的逻辑地址空间分成若干个页。并且为各个页加以编号,从0开始。

  • 物理块:把内存的物理地址空间氛围若干个块,并且加以编号,从0开始。

  • 在为进程分配内存时,以块为单位,将进程中的若干页分别装入到多个可以不相邻的物理块当中。由于进程的最后一页进程装不满一块而形成了不可利用的碎片,称之为页内碎片。

  • 页表:在分页系统当中,允许将各个页离散地存储在内存的任意一物理块当中,为了保障进程正确运行,即可以在内存中找到每个页面所对应的物理块,系统为每个进程建立了一张页面映像表,简称为页表,在进程地址空间内所有页(0~n),依次在页表中有一页表项,其中记录了相应的页在内存中对应的物理块。从而,在进程执行的时候,可以查询页表,找到每页在内存中的物理块号,即根据页号找物理块号,从而找物理地址。

注:

物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。

逻辑地址:CPU所生成的地址。逻辑地址是内部和编程使用的、并不唯一。而逻辑地址是虚拟内存的前提之一。

分页的最大作用就在于:使得进程的物理地址空间可以是非连续的。

相关公式

  • 分页地址的地址结构

在这里插入图片描述

  • 物理地址=块号+页内地址
  • 逻辑地址=页号+页内地址
  • 页号=INT(逻辑地址/页面大小) 取整
  • 页内地址=逻辑地址%页面大小 取余
  • 逻辑地址的大小为页的数量×页的大小
  • 页面大小——>页面偏移位
    比如页面大小为 1KB,2^10B=1KB,所以页内偏移10位。
    页和块的大小相同。

例题

1.
某页式存储管理系统中,现有P1、P2和P3共3个进程同驻内存。其中,P2有4个页面,被分别装入到主存的第3、4、6、8块中。假定页面和存储块的大小均为1024B,主存容量为10KB。
当P2在CPU上运行时,执行到其地址空间第500号处遇到一条传送指令:MOV 2100, 3100
计算MOV指令中的两个操作数的物理地址。
解:
[2100/1024]=2,页号为2,映射到物理块号6;2100%1024=52,页内位移为52,对应块内位移也是52。故逻辑地址2100映射到物理地址6×1024+52=6196。

[3100/1024]=3,逻辑页号为3,映射到物理块号8;3100%1024=28,页内位移为28,对应块内位移也是28。故逻辑地址3100映射到物理地址8×1024+28=8220。

2.

设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间有多大?
解:逻辑地址看页大小,每页2048字节=2^11字节,所以逻辑地址至少11位。
存储地址为8*2048B=16KB
3.
某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

页号 物理块号
0 5
1 10
2 4
3 7

则逻辑地OA5C(H)所对应的物理地址是()
解:
页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为 1KB”,1K=210,可知页内地址占10位。由“内存为 16KB”,可知有16块,块号为4位。逻辑地址0A5C (H)所对应的二进制表示形式是:000 10 10 0101 1100,根据上面的分析,编码“000 10”为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:01 00,拼接块内地址10 0101 1100,得 01 0010 0101 1100,即125C(H)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分页存储相关计算 的相关文章

  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • System.getProperty用法

    转自 http blog darkmi com 2011 03 16 1666 html System getProperty 用于获取当前的系统属性 比如java版本 操作系统名称 区域 用户名等 这些属性一般由jvm自动获取 不能手工设
  • 线程和进程的区别(面试必备)

    参考文章 https www jianshu com p 2dc01727be45 线程与进程的区别通俗的解释 https www jianshu com p 8ad441510860 附加可参考文章 https baijiahao bai
  • 文件管理系统(操作系统)——9张思维导图

    文件管理系统 1 文件管理 1 1 一个文件的逻辑结构 比如一个文本txt文件 又或者Excel文件 在我们用户看来 它是长什么样的 这个就是逻辑结构 几个概念 逻辑结构 就是指在用户看来 单个文件内部的数据应该是如何组织起来的 物理结构
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • Linux网络安全-Zabbix入门(一)

    一 基本概念 1 监控目的 运行情况 提前发现问题 2 监控资源类别 公开 tcp udp 端口 私有 cpu 磁盘 监控一切需要监控的东西 只要能够想到 能够用命令实现的都能用来监控 如果想远程管理服务器就有远程管理卡 比如Dell id
  • pycharm内存不足时如何修改设置?

    Help gt Find Action gt type VM Options gt Click Edit Custom VM Options Pycharm 2016 2 will open the appropriate vmoption
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • gpuz怎么看显存颗粒

    gpuz可以帮助一些用户查看电脑的一切显卡参数 对于想要了解显卡的网友来说使用起来是非常方便的 不过有些网友是刚开始使用 还不知道gpuz怎么看显存颗粒 下面小编就教下大家gpuz查看显存颗粒的方法 首先 显存颗粒是显存的物理存储组成单元
  • Java堆的自动垂直缩放

    多年以来 java一直是贪婪的应用程序的同义词 这种类型的应用程序在晚上打开冰箱并吞噬所有可用资源 直到崩溃 该行为的主要原因是缺乏一种有效的方式来将操作系统在Java堆中分配且不再使用的内存交还给操作系统 However with the
  • win10 Enable developer Mode

    经过漫长的安装过程 win10终于装上了vs2015 rc 写个小程序试试 结果提示 根据提示打开 设置 更新 for developer 据说应该有这么个界面 但是这个界面根本出不来 直接闪退的说 翻 MSDN 终于翻出了解决方法 htt
  • CF、SF、OF、ZF标志位

    没学汇编 这种题我真是做一道错一道 OF overflow flag 溢出标志位 溢出标志位 OF 1 表示带符号整数运算时结果发生溢出 对于无符号整数运算 OF没有意义 对于有符号数的溢出判断方式有 1 采用一位符号位 思想为 或 则为溢
  • 操作系统笔记六(文件管理)

    1 文件逻辑结构 1 1逻辑结构的文件类型 分类 有结构文件 例如 PNG文件 无结构文件 1 2顺序文件 1 3索引文件 2 辅存的存储空间分配 2 1分配方式 连续分配 直接分配连续的存储空间 链接分配 隐式链接 在盘块内指定下一个盘块
  • 03LinuxC线程学习之线程共享和非共享

    1 线程共享和非共享 1 1 线程共享资源 1 文件描述符表 由于线程间共享进程间的内容 而文件描述符表在主线程的PCB当中 各个线程可以直接去请求访问 所以线程间通信就不需要像进程那样通过管道这些方式通信 2 每种信号的处理方式 即当某个
  • Linux系统如何看目录属于哪个磁盘分区

    Linux是先有目录 再有磁盘分区 df h 目录 例如 没有挂载磁盘的目录 显示在系统盘 root iZ2ze57v3n0zma46zqiq8nZ sh 1 5 5 df h alidata Filesystem Size Used Av
  • Windows运行常用命令(win+R)

    1 calc 启动计算器 2 notepad 打开记事本 3 write 写字板 4 mspaint 画图板 5 snippingtool 截图工具 支持无规则截图 6 mplayer2 简易widnows media player 7 S
  • Linux常用命令记录

    文章目录 1 软件安装 安装软件 来自源服务器 安装 deb软件 来自本地 deb文件 修复依赖关系 卸载软件 2 文件 文件夹操作 删除文件夹 移动文件 文件重命名 3 程序查看 处理 进程查看 查看端口占用情况 强制终止程序 4 解压文
  • 内存管理——分页分段

    一 分页存储管理 1 页面与页框 1 页面 将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 2 页框 相应于页面 把内存空间分成和页面相同大小的若干个存储块 称为 物理 块或页框 frame 3 页内碎片 在
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • linux 使用systemctl 启动服务报错: Error: No space left on device

    By default Linux only allocates 8192 watches for inotify which is ridiculously low And when it runs out the error is als

随机推荐

  • centos7 Docker化应用体验

    centos7 Docker化应用体验 环境分析 WordPress运行环境需要如下软件的支持 PHP 5 6 或 更新版本 MySQL 5 6 或 更新版本 Apache 和 mod rewrite 模块 下载应用镜像 下载mariadb
  • RobotFramework-ride自动化操作教程

    一丶启动robotframework 启动RIDE 打开用例文件 找到文件位置 gt 选择文件 查看资源文件 确保用例所需资源文件当前目录都存在 三 用例编写 执行 新增用例 2 执行用例 勾选要执行的用例 点击run tests 或者 F
  • 浅谈漏洞及其分类

    浅谈漏洞及其分类 一 漏洞概念 漏洞是指一个系统上硬件 软件 协议等具体实现或系统安全策略上存在的弱点或缺陷 系统对特定威胁攻击或危险事件的敏感性 或进行攻击的威胁作用的可能性 这些缺陷 错误或不合理之处可能被有意或无意地利用 可以使攻击者
  • python中unexpected indent报错的解决办法

    python中unexpected indent报错的解决办法 在我们初步学习pyton的时候 由于对python语言的学习掌握不充分 则会导致所编写的代码 运行时候报错 比如 容易报错的unexpected indent问题 下面举例说明
  • Mybatis多对多查询+PageHelpler分页问题

    多对多查询 说明 tb user用户表 tb role角色表 tb user role用户角色关联表 实现表数据的多对多查询并返回 使用PageHelper对查询结果分页 用户表 Data NoArgsConstructor AllArgs
  • 想学好python?这18条学习技巧你一定要掌握。能甩别人两条街。

    在这篇文章中 我们将讨论最常用的python技巧 大多数这些技巧都是我在日常工作中使用过的简单的Trick 我觉得好东西就是要拿出来和大家一起分享 闲话少说 我们直接开始吧 处理用户的多个输入 有时我们需要从用户那里获得多个输入 以便使用循
  • 手把手教你在Tensorflow实现BEGAN 达到惊人的人脸图像生成效果

    导读 本文是基于谷歌大脑 Google Brain 发表在 arXiv 的最新论文 BEGAN 边界平衡生成对抗网络 实现的 该工作针对GAN 面临的一些难题 例如如何衡量收敛 如何控制分布多样性以及如何维持鉴别器和生成器之间的平衡等问题
  • Lock锁

    Lock实现提供比使用synchronized方法和语句可以获得的更广泛的锁定操作 它们允许更灵活的结构化 可能具有完全不同的属性 并且可以支持多个相关联的对象Condition 1 传统的synchronized package cn d
  • c语言(从入门到放弃?NONONO,LET我们一步一步刨析,会发现其中蕴含的乐趣)

    大家刚入门的时候通常会觉得c语言怎么怎么难学 听别人说指针多么多么难懂 深入学习的人的头发如何如何的稀少 然而我们只需要一步一步了解 一步一步刨析 会发现学习c语言也是具有许多乐趣的 接下来我们正式展开对C语言的简单了解咯 目录 一 让我们
  • Qt-信号和槽中使用自定义数据类型

    QT如果要在信号中使用自定义类型 需要首先调用qRegisterMetaType函数 语句类似 qRegisterMetaType
  • NOIP1998普及组复赛第二题 贰的幂方 解题报告

    问题描述 任何一个正整数都可以用 2 的幂次方表示 例如 137 27 23 20 在这里我们约定次方用括号来表示 即 ab 可表示为 a b 由上面叙述可知 137 又可以表示为 2 7 2 3 2 0 进一步 7 22 2 20 2 2
  • 游戏开发unity 3d知识系列:(一)用mesh绘制一个三角形网格

    国内讲解这些基础的感觉比较少 在youtube上看到一个比较好的视频 https www youtube com watch v eJEpeUH1EMg
  • Python抓取网页中的超链接以及其文本

    0 准备工作 读入网页加以解析抓取 需要用到的软件包是 requests html 我们此处并不需要这个软件包的全部功能 只读入其中的 HTMLSession 就可以 from requests html import HTMLSessio
  • 微信小程序富文本标签rich-text的使用

    wxml 接收对象数组
  • 解锁编程世界的魔法密码:探索算法的奥秘与应用

    一个程序员一生中可能会邂逅各种各样的算法 但总有那么几种 是作为一个程序员一定会遇见且大概率需要掌握的算法 今天就来聊聊这些十分重要的 必抓 算法吧 一 引言 算法是解决问题和优化程序性能的核心 它是一系列精确指令 将输入转换为输出 并在计
  • org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;bounda

    今天在编写SpringBoot 文件上传遇到这样的错误 org springframework web HttpMediaTypeNotSupportedException Content type multipart form data
  • 乐高科技系列搭建指南 pdf_玩转乐高机器人系列柒——乐高滑雪机器人、陀螺发射器...

    EV3机器人 玩转乐高机器人系列柒 机器人系列作品更新的比较少 一起来搭建几个好玩的吧 春天到了 你有没有跑出去踏春 春天到了 是不是应该搭建一点和春天相关的作品呢 感觉是可以来想想了 搭建好以后可以后期来分享 乐高EV3滑雪机器人 乐高滑
  • cad新手必练300图_27张CAD新手练习图!每天练一张,坚持一个月“小白”变“大神”...

    点击蓝字 室内设计苑 汇集全球室内设计最新资讯 很多刚接触CAD的朋友们一定有这样一个烦恼 就是刚掌握了一些基本的操作可是却不知道要拿什么练手 学会了还得会实操 不然也都是白搭 必须要多练才能熟能生巧 但是在网络上搜的练习图要么就是广告 要
  • 禅道登录-调用API方式

    禅道提供了API机制方便于大家和其他的系统进行集成 API机制也都是基于http协议的 返回的数据以json格式存储 禅道的API都是需要先登录后才能进行接口调用 登录返回的cookie需要在之后的每次请求中携带用于验证身份信息 网上关于禅
  • 分页存储相关计算

    分页存储相关计算 文章目录 分页存储相关计算 页面和物理块 相关公式 例题 页面和物理块 页面 分页存储管理将进程的逻辑地址空间分成若干个页 并且为各个页加以编号 从0开始 物理块 把内存的物理地址空间氛围若干个块 并且加以编号 从0开始