探讨计算机内存管理:分页与分段的地址空间维度差异(为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?)

全国充电站分布数据 CnOpenData推出的充电站数据覆盖全国34个省份的3万条数据,包含充电站名称、省份名称、省份代码、商圈、经纬度等地理信息以及商业类型、评分、消费等衍生信息,能为城市规划、环境科学、市场分析、技术发展和社会经济研究等多个领域提供宝贵的数据支持。 阅读详情

        在计算机系统中,内存管理是一个至关重要的组成部分,而分页机制和分段机制是两种常见的内存管理方式。一个引人疑惑的问题是:为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的呢?在本文中,我们将深入探讨这个问题,并解释这两种不同的地址空间维度。

1. 分页机制中的一维逻辑地址空间

        分页机制采用的是一维逻辑地址空间,即通过一个地址就能唯一确定内存中的位置。在这种机制下,逻辑地址包含一个页号和页内偏移。举例来说,如果页面大小为8位,逻辑地址为1101,我们可以直接通过除法操作得到页号(1101 / 8 = 137),而余数则是页内偏移(1101 % 8 = 5)。通过页号,我们能够迅速找到对应的页表项,从而确定内存中的具体位置。这简化了地址转换过程,使得逻辑地址的表示更为直观和方便。

2. 分段机制中的二维逻辑地址空间

        相对于分页机制,分段机制采用的是二维逻辑地址空间,需要两个参数来确定内存中的位置,即段号和段内偏移。在分段机制下,用户程序提供的逻辑地址是一个包含段号和段内偏移的二元组。例如,常见的PC表示为CS::EIP,即代码段::段内偏移。由于段的长度不确定,采用一维地址空间无法准确表示逻辑地址,可能导致歧义。通过使用二维地址,即(段号,段内偏移),可以清晰地描述内存中的位置,解决了地址翻译的歧义问题。

这里更笼统的说一下:

         相信大家找寻这个问题就是奔着二维这个来的。本人最开始就陷入了系统角度的思维。

        铁子们看见这个图?是不是想着和分页一个道理呢?此时有人心中想着:我可以设置一个最大段长,前m位为段号,后n位为段内偏移量。——>你这个想法倒是挺好?合适吗?

        这里举出分段系统的逻辑地址,记住,这是某个段的逻辑地址,前m位为段号,后n位为段内偏移量,2^n这个段的段长,它针对的是某个段,而不是操作系统为每个段统一定好的,意思就是m和n是不能确定的。

        对于段式管理光靠一个逻辑地址,得不到数据的物理地址。因为想要得到物理地址,我们必然要去段表查找,但是去段表查找,又需要段号,我们无法根据这一逻辑地址得到段号,不能像页式管理一样通过除法来得到段号。所以,想要完整描述一个物理地址,必然需要给出(段号,段内偏移)这两个数据,即二维地址。

3. 比较分页与分段的地址管理方式

        综上,在分页机制中,逻辑地址通过除法运算直接得到页号,取模得到页内偏移量。而在分段机制中,看上去貌似也只有一个逻辑地址,这个逻辑地址是段号和段内偏移(这是系统角度),段长是不确定的,并且一台主机有多种不同的段地址解析方式,所以段号需要用户直接给出,之后与段内偏移量形成系统角度的逻辑地址(不知道这说的对不对,但是大家能理解就好了)。这一差异导致了地址空间维度的不同,使得分页机制的逻辑地址是一维的,而分段机制的逻辑地址是二维的。

matlab SAR图像的多视滤波 单视复数数据(Single Look Comple)是原始的最高分辨率数据,但是从单个像元散射的雷达回波信号的相干叠加,导致强度信息有很多噪声。SAR的多视处理是对SLC数据方位向和/或距离向做平均,得到的结果是多视后的强度数据。多视处理可以提高SAR图像的信噪比,有效抑制斑点噪声,但是会降低方位分辨率。 阅读详情

相关推荐

LDPC码介绍:基础&编码&译码

本博客介绍了LDPC码的基本原理,其中包括校验矩阵的构造、Tanner 图和编译码的基础知识。

渺小的颗星的博客 4309

分页存储的地址空间是一维的,分段存储的地址空间是二维的

分页存储: 一段程序在采取分页存储的方式时,这段程序会被编译成为一大段机器指令,这些指令之间地址是连续的 采用分页机制后,则相邻两页的存储地址是连续的。比如第0页的最后一个地址和第1页的第一个地址是连续的(这里的地址是指逻辑地址)——此时就相当于只需要提供一个地址,就能够得到页号和偏移量 —————————— 若采用分段机制,则这段程序就会被编译程序编译成多个段,比如数据段、代码段、附加段等,每个段的段号是编译器自动分配的,每个段的长度不定,因此虽然数据段、代码段的段号是0-1连续的,但是数据段的最后一个地

weixin_45091943的博客 1万+

OpenAI Codex 桌面端国内使用全坑解決指南(2026 Windows 实测)

本地文件报错:SQLite 初始化失败、启动闪退、卡加载页 → 本地缓存/数据库损坏,和网络无关网络地区报错→ 网络IP/地区被拦截,和本地软件文件无关Codex 桌面端的大部分报错,都不是软件故障,而是海外软件适配国内网络、国内模型协议不兼容导致的适配问题。不用盲目重装、换网络、改系统设置,只要区分「本地文件问题」和「网络地区问题」,搭配国内大模型 API 替代方案,就能完美解决所有痛点。(注:部分内容可能由 AI 生成)

ups_hxc的博客 1072

为什么分页存储的地址空间是一维的,而分段存储的地址是二维的

为什么分页存储的地址空间是一维的,而分段存储的地址是二维的 短号和页号的来历是不同的,段号是程序员自己定义的,每个段都是有特定含义的,因此不同段的大小不同,代表的意义也不相同,因此要想找到某个数据或指令,需要指定段号和位移两个变量。而页号是系统自动生成的,本身地址是线性连续的,当要访问特定地址时,只需要提供地址即可。系统会自动将地址划分为页号和页内位移,而页号对于程序员来说是没有实际意义的,因此是一维的。 ...

xiaotai1234的博客 7204

手把手教你用ComfyUI搭建高效AI绘画工作流:从基础到高级技巧

本文详细介绍了如何使用ComfyUI构建高效的AI绘画工作流,从基础配置到高级技巧全面覆盖。通过模块化设计,ComfyUI显著提升显存利用率和创作灵活性,适合从新手到专业用户。文章包含部署指南、工作流搭建、性能优化及行业应用案例,帮助读者快速掌握AI绘画核心技术。

7up55的博客 718

基于 Mask R-CNN 的实例分割:从零开始构建一个强大的分割模型

在本文中,我们将介绍如何使用 Mask R-CNN(Region-based Convolutional Networks with Masks)实现实例分割。实例分割是计算机视觉中的一种任务,旨在识别并分割图像中的各个对象。我们将讨论如何准备数据集、配置 Mask R-CNN 模型并在自定义数据集上进行训练。

斌擎科技 1242

如何理解分页作业是一维的,分段作业是二维的

分页管理中: 程序员使用某个内存单元的数据或指令时,需要指定 一维的虚拟地址即可,而这个地址可以通过地址映射映射为物理地址, 比如 : CALL 08A5H 地址映射可以根据页面大小判断出哪部分是页内地址,哪部分是页表中的页号,然后执行。 分段管理中: 是将程序分段(比如有堆栈段,数据段等),符合程序员习惯,人们习惯用二维地址描述自己的程序,比如 MOV BP, [DS]85H 或者 CALL [...

Never say never 2万+

SpringBoot项目搭建

SpringBoot项目搭建

私信可回答各种问题~ 1019

为什么分页地址是一维的,而分段地址是二维的?

首先在分页存储管理方式下,页面大小是事先固定好的,操作系统知道页面的大小。因此,用户提供一个逻辑地址,系统可以根据页面大小判断出逻辑地址中哪一部分是页号,哪一部分是页内地址(例如页面大小1K,那么逻辑地址中低10位是逻辑地址,剩余部分是页号)。而在分段存储管理方式下,分段的长度是不固定和不确定的,系统不知道本次访问段的长度,所以对于用户给出的逻辑地址,系统不知道如何进行划分以找到段号和段内地址,因此需要给出段号与段内地址。

jumphight的博客 1141

【数据集7】全球人类住区层GHSL数据详解

全球人类住区层GHSL数据详解

WW、forever的博客 2252

c#算法(5)—最小二乘法(二次曲线拟合)

最小二乘法——二次曲线拟合

qq_34059233的博客 1659

为什么分页机制中逻辑地址空间是一维的,而分段机制中逻辑地址空间是二维的?

首先回顾一下分页机制中逻辑地址的结构:页号:页内偏移量 再来回顾一下分段机制中逻辑地址的结构:段号:段内偏移量   针对上面的问题,老羊快跑这里给大家简单解释一下。 假设有一段程序,在没有采用分段机制的时候(采用分页机制),这段程序会被编译成一大段机器指令,这些指令之间地址是连续的。如下图: 从图中我们可以看出逻辑地址空间如果采用分页机制,那么第0页的最后一个地址和第1页的第

yangkuiwu的博客 1万+

electron:解决打包后报错Cannot find module ‘X‘ 运行报错各种模块缺失问题(解决electron build打包后运行应用报错启动失败或白屏,无论模块名称是什么都能解决!)

Electron app打包后启动报错:“Cannot find module 'X'”解决方案,electron-builder 打包出现 cannot find module,electron 打包后找不到module问题,electron打包运行白屏、Can not find modules ‘x‘,electron项目打包报错,electron打包后,点击生成的exe应用程序出现Cannot find module,解决electron-build打包后运行app报错:cannot find mod

✅ 精选推荐文章 4384

页式,段式,段页式存储的虚拟地址空间维数问题

首先,结论是: 页式存储是一维的,段式存储是二维的,段页式存储也是二维的。 其次,要注意的是: 这是由存储管理方式的特点决定的,跟逻辑地址的结构没有关系。   站在程序员的角度,你想操作一个内存地址, (1)页式存储,你直接给个逻辑地址就行,所以是一维的。         虽然这个逻辑地址包含(页号,偏移量),但是,分页那是系统的事,你不关心。 (2)段式存储,你必须给出(段号,偏...

AndrewJoe的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机操作系统存储管理笔记(1)

一、用户编程的逻辑地址; 用户在编程的时候使用的是逻辑地址,又称相对地址,即用户编程所使用的地址空间。 逻辑地址从0开始编号,有两种形式 一维逻辑地址、二维逻辑地址(段号:段内地址) 二、段式程序设计; 把一个程序设计成多个段。代码段、数据段、堆栈段等等 用户可以自己用段覆盖技术扩充内存空间使用量 三、进程执行的物理地址; 又称绝对地址,即程序执行所使用的地址空间,处理器执行指令时按照物理地址进行...

CNMNMSL1的博客 820

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

怎样理解分页作业是一维的,分段作业是二维的

分页管理中: 程序员使用某个内存单元的数据或指令时,需要指定 一维的虚拟地址即可,而这个地址可以通过地址映射映射为物理地址, 比如 : CALL 08A5H 地址映射可以根据页面大小判断出哪部分是页内地址,哪部分是页表中的页号,然后执行。 分段管理中: 是将程序分段(比如有堆栈段,数据段等),符合程序员习惯,人们习惯用二维地址描述自己的程序,比如 MOV BP, [DS]85H ...

qq_32534441的博客 6776

基本分段存储管理方式(分段,段表,地址转换以及与分页管理对比)

按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址.

jungleirim的博客 4531

分页存储管理方式

OS

weixin_64443786的博客 4241

操作系统笔试资料(分页分段维数)

分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。 页之所以是一维的,原因在于分页的大小是固定的,且页码之间是连续的,操作的时候只需给出一个地址,就能够根据所给地址的大小与页面大小计算出在页码和页内地址,粗略举例,比如页面大小是4KB,给一个地址为5000,可以算出

wangjian8855的专栏 2711

操作系统——内存管理、分页、分段、段页式存储管理

内存是用于存放数据的硬件。程序执行前需要先放到内存中才能被cPU处理。内存地址从0开始,每个地址对应一个存储单元如果计算机**“按字节编址”则每个存储单元大小为1字节,即1B**,即8个二进制位如果字长为16位的计算机**“按字编址”,则每个存储单元大小为1个字;每个字的大小为16个二进制位**相对地址又称逻辑地址,绝对地址又称物理地址。1.操作系统负责内存空间的分配与回收2.操作系统需要提供某种技术从逻辑上对内存空间进行扩充。

saber520___的博客 2914

内存分段与分页机制

系统内存分页和分段地址管理

daoer_sofu的专栏 2128

操作系统中分页、分段、交换空间、页面置换算法等相关概念

1 分页 把内存空间划分为大小相等且固定的块,作为主存的基本单位。因为程序数据存储在不同的页面中,而页面又离散的分布在内存中,因此需要一个页表来记录映射关系,以实现从页号到物理块号的映射。 访问分页系统中内存数据需要两次的内存访问 : 第一次是从内存中访问页表,从中找到指定的物理块号,加上页内偏移得到实际物理地址; 第二次就是根据第一次得到的物理地址访问内存取出数据。 2 分段 分页是为了提高内存利用率,而分段是为了满足程序员在编写代码的时候...

来者无穷_ 2013

为什么说分段的地址空间是二维的,而分页的地址空间是一维的?

在操作系统的内存管理中,分页和分段是两种不同的内存管理方式,这使得它们的地址空间呈现出不同维度特性,具体如下:

2301_79644936的博客 643

操作系统常见面试题

一万五千字常见操作系统面试题整理。。

三分恶的博客 3556

分页存储和分段存储的一些小问题解答

1.分页存储结构如下:(以下所有图片来自百度百科) 若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按右图所示公式求得: 其中,INT是整除函数,MOD是取余函数。例如,其系统的页面大小为1 KB,设A = 2170 B,则由上式可以求得P = 2,d = 122。 分页存储转换如下: 2. 分

张小凡 3367

连续内存分配与非连续内存分配

连续内存分配 首次适配:空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小能满足要求的第一个空闲分区。 最优适配:空闲分区按容量递增形成分区链,找到第一个能满足要求的空闲分区。 最坏适配:空闲分区以容量递减的次序链接。找到第一个能满足要求的空闲分区,也就是挑选出最大的分区。 非连续内存分配 一、分页式存储管理介绍: 用户程序逻辑地址空间->...

张花生的博客 1万+
上一篇: 二叉树前序、中序、后序遍历(递归、非递归)
下一篇: 十大排序(代码+注释)
天皓Oo
博客等级 码龄5年 337粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值