0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

段式与页式存储器管理的区别 分页式存储管理详解

电子设计 来源:TOMORROW 星辰 作者:TOMORROW 星辰 2020-12-01 14:16 次阅读

段式虚拟存储器中的段是按程序的逻辑结构划分的。本文将来介绍一下什么是段式存储器管理,段式与页式存储器管理的区别又在哪,还有段页式存储器管理的工作原理。如果对页式存储管理方式不清楚的建议先弄懂页式存储管理方式(参考:深入理解操作系统之——分页式存储管理)

段式存储器管理

段的划分是具有逻辑意义的,例如:主程序段、数据段、堆栈段、子程序段等;

每个段都是从 0 开始的独立逻辑地址空间;

而且各个段的长度因程序而不同。

虚拟地址

段式存储器管理将虚拟地址分为两部分:段号和段内地址。与页式中虚拟地址不同的是,段内地址的位数不是固定的,段号与段内地址的划分不是简单地将一个二进制地址进行高低位的切割得到的。

段表

段表则包括了段长和段基址

地址变换过程

①进程访问某个逻辑地址时,先取得段号

②若段号大于段表长度,越界错误

③查段表得到段开始地址和段长度

④若段内地址大于段长度,越界错误

⑤通过段开始地址和段内地址得到物理地址

⑥根据物理地址读取数据

地址变换过程图解:

计算例子

通过具体例子来算算就很好理解了。

例:某系统采用分段式存储管理,在一个进程中,它的段表如下所示,求逻辑地址为(2,89)对应的物理地址(所有数据都是十进制)

解答:

根据逻辑地址(2,89)可以知道,段号为 2,段内地址为 89

根据段号 2 查段表可知,段号为 2 的段的段长为 380,段基址为 340

由段基址 340 和段内地址 89 相加可得实际的物理地址为 429

分页与分段的区别

页是信息的物理单位,满足系统空间管理需要。分页实现离散分配方式,以消减内存的外零头, 提高内存的利用率;

段是信息的逻辑单位,满足用户需要

页的大小固定,由系统决定;

段的长度不固定, 由用户决定

分页的作业地址空间是一维的(虚拟地址由一个数表示);

分段的作业地址空间则是二维的(虚拟地址有两个数(段号和段内地址)表示)

段页式

段页式存储器管理则是将段式与页式结合,优缺点互补。

段面向用户程序需要,段长度不固定;段需要连续分配空间,存在连续分配的缺点,例如易产生碎片;

结合段式和页式两者管理优点,既能节省内存空间,提高内存分配效率;又能兼顾用户程序需要。

实现机制

先将用户程序划分为多个有逻辑意义的段,再将段划分为多个页

段页式管理需要设置段表和页表

每个段都对应一张页表,因此段表存放了每张页表的开始地址和页表长度

段页式存储器管理方式地址结构

段页式存储器管理方式地址映射

段页式的地址变换过程

①进程访问某个逻辑地址时,先取得段号

②段号大于段表长度,越界错误

③查段表,得到页表开始地址

④在页表内,根据段内页号查物理块号

⑤页内地址直接对应块内地址

⑥通过物理块号和块内地址得到物理地址

⑦根据物理地址读取数据

地址变换过程图解:

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7448

    浏览量

    163587
  • 存储管理
    +关注

    关注

    0

    文章

    31

    浏览量

    9167
收藏 人收藏

    评论

    相关推荐

    嵌入技术解析:、扇区、块的区别

    在嵌入系统开发中,我们经常会涉及到存储器的概念,其中、扇区和块是常见的术语。虽然它们都与存储器有关,但它们具有不同的定义和用途。本文将深入探讨
    发表于 07-20 10:21 6097次阅读
    嵌入<b class='flag-5'>式</b>技术解析:<b class='flag-5'>页</b>、扇区、块的<b class='flag-5'>区别</b>

    微机原理--存储器管理

    微机原理--存储器管理
    发表于 04-24 23:08

    什么是基于闪存平台的存储管理策略?

    作者:李建勋 樊晓光 禚真福来源:什么是基于闪存平台的存储管理策略?在嵌入系统中,由于闪存成本低、容量大、非易失、访问速度高和机械故障少的优势已逐渐成为最流行的存储大量数据的
    发表于 07-31 08:17

    存储系统的层次结构

    的L1 Cache存储管理段式存储管理
    发表于 07-29 09:47

    STM32的存储器映像

    【朱老师课程总结 侵删】第一部分、章节目录3.2.1.STM32的存储器映像3.2.2.STM32的位带操作详解3.2.3.STM32的启动模式3.2.4.STM32的电源管理系统3.2.5.复位
    发表于 08-20 06:06

    外部存储器的相关资料下载

    1. 嵌入的外部存储器嵌入系统中,外部的存储器一般是Nand flash和Nor flash,都称为非易失存储器
    发表于 12-10 08:26

    STM32存储器映像的相关资料

    第一部分、章节目录3.2.1.STM32的存储器映像13.2.2.STM32的存储器映像23.2.3.STM32的位带操作详解3.2.4.STM32的启动模式3.2.5.STM32的电源管理
    发表于 12-30 08:11

    linux存储器管理

     linux存储器管理 本章主要讲解了存储器管理的基本方式,剖析了Linux 操作系统对内存的管理模式。通过对本章学习,读者应该
    发表于 04-28 15:01 0次下载

    嵌入系统中基于FAT 表的存储器管理

    嵌入系统中基于FAT 表的存储器管理
    发表于 05-14 14:11 33次下载

    NAS网络存储器的网络管理

    NAS网络存储器的网络管理              网络
    发表于 01-09 10:21 474次阅读

    微机原理--存储器管理

    微机原理--存储器管理
    发表于 12-14 15:07 0次下载

    嵌入存储器如何来设计

    获取嵌入存储器设计的另一种方法是利用存储器编译,它能够快捷和廉价地设计存储器物理模块。
    发表于 10-18 11:52 1031次阅读
    嵌入<b class='flag-5'>式</b><b class='flag-5'>存储器</b>如何来设计

    只读存储器和随机存储器区别

    只读存储器和随机存储器区别:作用不同、特点不同
    发表于 07-27 15:09 1.7w次阅读

    嵌入系统架构浅谈:硬件的选型(二) -------外部存储器

    1. 嵌入的外部存储器嵌入系统中,外部的存储器一般是Nand flash和Nor flash,都称为非易失存储器
    发表于 11-26 19:51 10次下载
    嵌入<b class='flag-5'>式</b>系统架构浅谈:硬件的选型(二) -------外部<b class='flag-5'>存储器</b>

    段式存储管理存储管理区别

    段式存储管理存储管理是操作系统中两种常见的内存
    的头像 发表于 12-30 17:17 4577次阅读
    <b class='flag-5'>段式</b><b class='flag-5'>存储</b><b class='flag-5'>管理</b>和<b class='flag-5'>页</b><b class='flag-5'>式</b><b class='flag-5'>存储</b><b class='flag-5'>管理</b>的<b class='flag-5'>区别</b>