段式存储管理

进程分段

把进程按逻辑意义划分为多个,每段有段名,长度不定,进程由多段组成

例:一个具有代码段、数据段和堆栈段的进程

段式内存管理系统的内存分配

  • 以段为的单位装入,每段分配连续的内存
  • 到那时段和段之间不要求响铃

段式系统的虚拟地址

  • 段式虚拟地址VA包含段号S和段内偏移W

  • VA:(S, W)

段式地址的映射基址

段表(SMT,Segment Memory Table)

记录每段在内存中映射的位置

段号S:段的编号(唯一的)

段长L:该段的长度

基地址B:该段在内存中的首地址

段式地址映射过程

  1. 由逻辑地址VA分离出(S, W)

  2. 查询段表

    • 检索段号S, 查询该段及地址B和长度L
  3. 物理地址MA = B + W

段表的扩充

基本字段:段号,长度,基址

扩展字段:中断位,访问位,修改位,R/W/X

段的共享

  • 共享段在内存中只有一份存储
  • 共享段被多个进程映射到各自段表
  • 需要共享的模块可以设置为段都的段

段式系统的缺点

  • 段需要连续的存储空间
  • 段的最大尺寸收到内存大小的限制
  • 在辅存中管理可变尺寸的段的比较困难

段式系统vs页式系统

地址空间的区别

  • 页式系统:一维地址空间
  • 段式系统:二位地址空间

段与页的区别

  • 段长可变,页面大小固定
  • 段的划分有意义,页面无意义
  • 段方便共享,页面不方便共享
  • 段用户可见,页面用户不可见
  • 段偏移有一处,页面偏移无溢出

段页式存储管理

在段式存储管理中结合页式存储管理计时

在段中划分页面

段页式系统的地址构成:段号 页号 页内偏移

  • 逻辑地址:段号S,页号P和页内偏移W
  • 内存按页划分,按页装入

段页式地址的映射机构

同时采用段表和页表实现地址映射

  • 系统为每个进程建立一个段表
  • 系统为每个段建立一个页表
  • 段表给出每段的页表及地址以及页表长度(段长)
  • 页表给出每页对应的页框

【av68676164(p54)】段式和段页式虚拟存储的更多相关文章

  1. Linux段式管理与页式管理

    内存管理有2种机制:1.段式管理:2.页式管理 在80386CPU中增加了2个寄存器:1.全局性的段描述表寄存器GDTR 2.局部性的段描述表寄存器LDTR 段寄存器的高13位用于在全局或局部描述表项 ...

  2. linux内核源码——内存管理:段页式内存及swap

    os的内存管理大概可以分成两块:1.段页式管理(虚存)2.swap in 和 swap out 段页式管理 段式管理的图像:运行时重定位 多级页表的管理图像  块表加速 用户(程序员)希望用段,物理内 ...

  3. [转载]linux段页式内存管理技术

    原始博客地址: http://blog.csdn.net/qq_26626709/article/details/52742470 一.概述 1.虚拟地址空间 内存是通过指针寻址的,因而CPU的字长决 ...

  4. 【Linux】浅谈段页式内存管理

    让我们来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个系统只运行一个程序,那么只要这个程序所需的内存不要超过该机器的物理内存 ...

  5. linux 段页式内存管理

    http://blog.chinaunix.net/uid-24227137-id-3723898.html 页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率从:或 ...

  6. 操作系统之cache、伙伴系统、内存碎片、段式页式存储管理

    存储管理是操作系统非常重要的功能之一,本文主要介绍操作系统存储管理的基础知识,包括缓存相关知识.连续内存分配.伙伴系统.非连续内存分配.内存碎片等,并结合linux系统对这些知识进行简单的验证.文章内 ...

  7. 寄存器,cache、伙伴系统、内存碎片、段式页式存储管理

    cache.伙伴系统.内存碎片.段式页式存储管理 目录 分层的存储管理 cache 局部性原理 置换算法 写回策略 linux环境下的cache 连续内存分配与内存碎片 内部碎片与外部碎片 动态分区分 ...

  8. 【转帖】linux内存管理原理深入理解段式页式

    linux内存管理原理深入理解段式页式 https://blog.csdn.net/h674174380/article/details/75453750 其实一直没弄明白 linux 到底是 段页式 ...

  9. Vue单页式应用(Hash模式下)实现微信分享

    前端微信分享的基本步骤: 一.绑定域名: 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名".这个不多说,微信开发 ...

随机推荐

  1. 数据可视化之powerBI入门(十三)CALCULATE函数的最佳搭档:FILTER

    https://zhuanlan.zhihu.com/p/64383000 介绍过CALCULATE函数之后,有必要再介绍它的最佳搭档:FILTER函数. CALCULATE函数的第二个及之后的参数是 ...

  2. AcWing 717. 简单斐波那契

    AcWing 717. 简单斐波那契 原题链接 以下数列0 1 1 2 3 5 8 13 21 -被称为斐波纳契数列. 这个数列从第3项开始,每一项都等于前两项之和. 输入一个整数N,请你输出这个序列 ...

  3. python小游戏-水文

    脚本不会,全都白费.所以就去学习了简单的python,结果不慎学了python中的pygame,浪费了不少时间,没啥用如果不做游戏个人觉得最好别学,学爬虫她不香吗?不过也有一点收获,打飞机小游戏,源码 ...

  4. Spring Boot中Tomcat是怎么启动的

    Spring Boot一个非常突出的优点就是不需要我们额外再部署Servlet容器,它内置了多种容器的支持.我们可以通过配置来指定我们需要的容器. 本文以我们平时最常使用的容器Tomcat为列来介绍以 ...

  5. python利用difflib判断两个字符串的相似度

    我们再工作中可能会遇到需要判断两个字符串有多少相似度的情况(比如抓取页面内容存入数据库,如果相似度大于70%则判定为同一片文章,则不录入数据库) 那这个时候,我们应该怎么判断呢? 不要着急,pytho ...

  6. PyQt5绘图

    QPainter 功能:QPainter实现在QWidget上画图功能 说明:绘图必须在paintEvent中完成,且要在bengin和end之间作图 接口: 方法 描述 begin 开始画图 end ...

  7. 关于IDEA的一些快捷键操作

    shift+F6修改实体类中的属性会重构代码

  8. Java基础加强笔记——测试、反射、注解

    目录 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具 ...

  9. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  10. Zuul token FIlter 验证失败结果输出

    1.背景 用 postman 测试 zuul 网关 路由成功和失败的时候,发现 路由成功的时候,返回的结构体 是 json 格式,但是路由失败的时候,返回的是空. 结构体居然不一样,这对调用方来说也要 ...