分页存储管理

news2024/11/23 15:10:14
页框和页面

将内存空间分为一个个大小相等的分区 (比如:每个分区4KB),每个分区就是一个“页框”(页框=页=内存块=物理块=物理页面)。每个页框有一个编号,即“页框号”(页框号=页帧号=内存块号=物理块号=物理页号),页框号从0开始。

为了将各个进程的数据放到页框当中,将进程的逻辑地址空间也分为与页框大小相等的一个个部分,每个部分称为一个“页”或“页面”。每个页面也有一个编号,即“页号”,页号也是从0开始。

操作系统以页框为单位为各个进程分配内存空间。进程的每个页面分别放入一个页框中。也就是说,进程的页面与内存的页框有一一对应的关系。(各个页面不必连续存放,可以放到不相邻的各个页框中)

页框指的是内存物理上被划分为的一个一个块,页面指的是进程逻辑上被划分的一个一个块

那么进程的页面是怎么记录这种与页框的一一对应的关系的呢?

页表

为了能知道进程的每个页面在内存中存放的位置,操作系统要为每个进程建立一张页表

注:页表通常存在PCB(进程控制块)中

页表的结构

每个页表项的大小:

内存块号的数量---->页表项中块号至少占多少字节

页框的大小=页面大小=4KB=2^{12}B        4GB=2^{32}字节

所以4GB的内存可被分为2^{32}/2^{12}=2^{20}个内存块

内存块号的范围应该是0~2^{20}-1,内存块号至少要用20bit表示,而计算机分配内存空间以字节为单位,所以至少要用3B来表示块号(3*8=24bit)

页号占的字节:

页表项连续存放,因此页号可以是隐含的,不占存储空间 (类比数组)

由于页号不占存储空间,只有块号占存储空间,所以存储0~n页则需要3*(n+1)B

注意:页表记录的只是内存块号,而不是内存块的起始地址,J号内存块的起始地址 =J* 内存块大小

逻辑地址到物理地址的转换

进程在内存中连续存放时,操作系统是如何实现逻辑地址到物理地址的转换的?

物理地址是绝对的地址,而内存块只需要将其

逻辑地址(相对于起始位置的偏移量)+进程在内存中的起始地址

就能得到物理地址 

将进程地址空间分页之后,操作系统该如何实现逻辑地址到物理地址的转换?

虽然进程的各个页面是离散存放的,但是页面内部是连续存放的
如果要访问逻辑地址 A,则
①确定逻辑地址A对应的“页号”P

②找到P号页面在内存中的起始地址(需要页表)

③确定逻辑地址A的“页内偏移量”w

逻辑地址A对应的物理地址 =P号页面在内存中的起始地址+页内偏移量w

如何确定一个逻辑地址对应的页号、页内偏移量?

注:在计算机内部,地址是用二进制表示的如果页面大小 刚好是 2 的整数幂,则计算机硬件可以很快速的把逻辑地址拆分成(页号,页内偏移量)

可以看到末尾的12为就是页内偏移量,而前面的20位就是页号

采用之前的公式验证一下:

页号 = 逻辑地址/页面长度(取除法的整数部分)

页内偏移量 = 逻辑地址%页面长度(取除法的余数部分)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1306521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java SSM框架实现家用电器销售系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现家用电器销售系统演示 摘要 家用电器销售网站采用B/S模式,促进了家用电器销售的安全、质量、快捷的发展。传统的管理模式还处于手工处理阶段,管理效率极低,随着用户的不断增多,传统基于手工管理模式已经无法…

后端返回base64文件前端如何下载

1.后端返回base64格式文件 2.前端代码 <style lang"less" scoped> import "./style/common.less";.table-div-a {color: #409EFF;text-decoration: underline;cursor: pointer; } </style><template><div class"template-con…

​hashlib --- 安全哈希与消息摘要​

源码&#xff1a; Lib/hashlib.py 本模块针对许多不同的安全哈希和消息摘要算法实现了一个通用接口。 包括了 FIPS 安全哈希算法 SHA1, SHA224, SHA256, SHA384, SHA512, (定义见 the FIPS 180-4 standard), SHA-3 系列 (定义见 the FIPS 202 standard) 以及 RSA 的 MD5 算法 (…

HarmonyOS首次尝试-HelloWorld

我的旧手机是个HUAWEI PCT-AL10 HarmonyOS 3.0.0(Android 10) 插上后&#xff0c;studio能显示连接上了手机设备&#xff0c;创建的demo使用的是API9&#xff0c;也就是当前的最新版本。 点击运行报错&#xff1a; 点击去往帮助页&#xff0c;做的也挺好&#xff0c;有直达的…

OpenAI 承认 ChatGPT 最近确实变懒,承诺修复问题

文章目录 一. ChatGPT 指令遵循能力下降引发用户投诉1.1 用户抱怨回应速度慢、敷衍回答、拒绝回答和中断会话 二. OpenAI 官方确认 ChatGPT 存在问题&#xff0c;展开调查三. OpenAI 解释模型行为差异&#xff0c;回应用户质疑四. GPT-4 模型变更受人事动荡和延期影响 一. Chat…

电子学会C/C++编程等级考试2022年09月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:城堡问题 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####---#####---#---#####---# 2 # # | # # # # # #---#####---#####---#####---# 3 # | | # # # # # #---#########---#####---#---# 4 # # | | | …

30、Linux安全配置

文章目录 一、Linux安全配置简介二、Linux安全配置2.1 网络配置2.2 防火墙配置2.2.1 确定防火墙区域配置 2.3 日志和审核2.4 访问、认证和授权2.4.1 SSH配置2.4.2 PAM模块配置 一、Linux安全配置简介 Linux种类较多&#xff0c;常用的有Redhat、Ubantu、Centos等。这里以Cento…

本地项目通过Gitee上传代码码云仓库(保姆级教程)

前提 1.已经下载过Git Bash Git bash安装包教程 2.在Gitee上创建该项目的远程仓库 3.进入本地你想要上传的文件目录下&#xff0c;右键单击空白处&#xff0c;点击Git Bash Here 4.配置你邮箱和email 邮箱在设置可以看到 ----- 用户名可用在个人主页admin 下面那个就是用户…

C语言:高精度乘法

P1303 A*B Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 第一次画图&#xff0c;略显简陋。 由图可以看出c的小标与x,y下标的关系为x的下标加上y的下标再减一。 由此得到&#xff1a; c [ i j - 1 ] x [ i ] * y [ j ]x #include<stdio.h> #include<st…

第二证券:如何申购新股?

跟着科技的展开&#xff0c;股市的展开也变得越来越快速。在股市上&#xff0c;申购新股是许多出资者寻求短期利润的一种方法。但是&#xff0c;申购新股并不是简略的作业。那么&#xff0c;在申购新股时&#xff0c;有哪些问题需求咱们重视呢&#xff1f;在本文中&#xff0c;…

重要功能更新:妙手ERP上线物流追踪功能,全方位助力跨境卖家轻松掌握包裹动态!

由于跨境物流转运环节多&#xff0c;历程耗时长&#xff0c;途中不可控因素多&#xff0c;容易导致包裹状态异常&#xff0c;从而引起买家客诉&#xff0c;造成卖家运营损失。因而&#xff0c;可随时查看物流信息、掌握包裹动态&#xff0c;是跨境运营中至关重要的一环。 为此…

在windows11上彻底关闭系统更新

最近在windows11系统上发现网上的一些方法不太有效&#xff0c;系统还是会自己更新。像该注册表&#xff0c;计划任务等这些&#xff0c;在windows11上都不太行。下面介绍一个在windows11上有效的方法&#xff0c;先看看效果图吧。如下&#xff1a; 在最新windows11上面 在较新…

一览汽配CRM系统的价格与功能:企业决策者的指南

随着汽车行业的快速发展&#xff0c;汽车配件市场也呈现出蓬勃的增长态势。然而&#xff0c;随之而来的是市场竞争的加剧和管理难题的增多。为了应对这些挑战&#xff0c;汽配行业也引入了CRM客户管理系统。本文将简要向您介绍&#xff0c;汽配CRM是什么&#xff0c;有什么功能…

【教程】Ipa Guard为iOS应用提供免费加密混淆方案

概述&#xff1a;使用ios加固工具对ios代码保护&#xff0c;保护ios项目中的核心代码&#xff0c; #ipagurd年终大促百厂联动暖冬特惠&#xff0c;超多软控件立享惊喜优惠>> ​ 简介 iOS加固保护是直接针对ios ipa二进制文件的保护技术&#xff0c;可以对iOS APP中的可…

9:00面试,9:05就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到12月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

关键点检测☞png格式换bmp,且labelme标注的json中imagePath同步修改格式

import os import cv2 import jsondef bmp2jpg(in_img_path, out_dir_name): # .png -> .bmp# img = cv2.imread(in_img_path) # 彩色图片,位深24img =</

125. LCR图书整理 II

LCR 125. 图书整理 II 题目&#xff1a; 读者来到图书馆排队借还书&#xff0c;图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放&#xff0c;图书管理员每次只能拿取书车顶部的书。排队的读者会有两种操作&#xff1a; push(bookID)&#xff1a;…

web279(s2-001)

目前java小白一个&#xff0c;主要是学学别人的思路 进入题目&#xff0c;登录框一个 抓包也没发现什么东西 网上说是struts2框架 Struts2是用Java语言编写的一个基于MVC设计模式的Web应用框架 判断是不是基于struts2的一些方法&#xff1a; 1.通过页面回显的错误消息来判断…

Python从入门到精通八:Python文件操作

文件的编码 思考&#xff1a;计算机只能识别&#xff1a;0和1&#xff0c;那么我们丰富的文本文件是如何被计算机识别&#xff0c;并存储在硬盘中呢&#xff1f; 答案&#xff1a;使用编码技术&#xff08;密码本&#xff09;将内容翻译成0和1存入。 编码技术即&#xff1a;…