DJ4-5 基本分段存储管理方式

news2024/11/28 3:33:24

目录

4.5.1  分段式存储管理方式的引入

4.5.2  分段式存储管理的基本原理

一、分段

二、段表

三、地址变换机构

4.5.3  段的共享和保护

一、分页共享

二、分段共享

4.5.4  段页式存储管理

一、段页式存储管理的引入

二、段页式存储管理

三、地址变换机构

四、评价


4.5.1  分段式存储管理方式的引入

在程序员眼中,程序是由若干个段组成的,每个段有各自的特点和用途~

  • 定位指令的方法:<段号,段内偏移>,如:mov [es:bx],ax
  • 分段符合用户观点:用户可以单独考虑每个段——分治

模块化程序设计的分段结构:

  • 方便编程、分段共享、分段保护、动态链接、动态增长

4.5.2  分段式存储管理的基本原理

一、分段

作业的地址空间按逻辑信息的完整性被划分为若干个段:

  • 每个段都有段名或段号
  • 每个段都从 0 开始编址
  • 段内的地址空间是连续的

许多编译程序支持分段方式,自动根据源程序的情况产生若干个段。

在分段管理系统中,对所有地址空间的访问均要求有两个成分:

  • 段的名字
  • 段内地址

例如,可按下述方式进行调用:

CALL [X]|<Y>      ; 转移到子程序X中的入口点Y
LOAD 1, [A]|<D>   ; 将数组A的D单元的值读入寄存器1
STORE 1, [B]|<C>  ; 将寄存器1的内容存入分段B的C单元中

这些符号程序经汇编和装配后,指令和数据的单元地址均由两部分构成:

  • 表示段名的段号 S
  • 段内地址/位移量 W

因此,在分段系统中的地址结构有如下形式:

根据逻辑地址可知,该系统允许一个作业有 64K 个段,每个段最大段长为 64KB 。

分段管理:管理由若干分段组成的作业,且按分段来进行存储分配。

把分段地址结构变换成线性的地址结构,可采用动态重定位技术,即通过地址变换机构来实现。

二、段表

(1) 在分段式存储管理系统中,则是:

  • 为进程的每个分段分配一个连续的分区
  • 每个分段可以离散地装入内存中不同的分区中

类似于分页系统,需要在系统中为每个进程建立一张段映射表,简称 “段表”。

(2) 每个段在表中占有一个表项,其中记录了:

  • 该段在内存中的起始地址,又称为 “基址”
  • 该段的段的长度

(3) 通常将段表放在内存中,执行中的进程可通过查找段表找到每个段所对应的内存区。

(4) 作用:实现从逻辑段到物理内存区的映射。

三、地址变换机构

① 根据段表寄存器的内容找到该作业的段表地址;

② 利用有效地址中的段号 2 作为检索段表的索引,得到该段在主存的起始地址;

③ 将段的主存起始地址和位移量 W 相加,即得访问主存的物理地址。

 

4.5.3  段的共享和保护

分页系统实现程序段的共享较为困难,分段易于实现段的共享和段的保护。

可重入代码(Reentrant Code,纯代码)

是一种允许多个进程同时访问的代码(可共享),并且不允许任何进程对其进行修改。

例如、一个多用户系统可接纳 40 个用户,它们都执行一个文本编辑程序 ED,ED 代码共 160K,每个用户还有 40K 的数据区 DA 。

(1) 不采用信息共享时需占用的内存空间?

        (160K + 40K) * 40 = 8000K

(2) 采用信息共享(若 ED 可共享)后占用的内存空间?

        160K + 40K * 40 = 1760K

一、分页共享

  • 对于数据页面,只需将其安排在作业地址空间中的任何一页面上即可。
  • 对于代码页面,必须将其安排在所有共享它的作业地址空间中相同页号的页面中。

之所以有这种要求,是因为一个作业在运行前必须链接好。而链接后,一个例程的所占页号就确定了。如果其它作业要共享该例程,则必须使它具有相同的页号,才能正确运行。

二、分段共享

利用分段共享原理上述多用户系统的存储分配如下:(两个用户)

 

4.5.4  段页式存储管理

一、段页式存储管理的引入

分页管理内存管理效率高:

  • 没有外零头
  • 内零头小

分段管理符合模块化思想:

  • 每个分段都具备完整的功能
  • 方便代码共享、保护
  • 没有内零头,存在外零头

结合 => 段页式管理

二、段页式存储管理

原理:分段和分页相结合。

  • 先将用户程序划分成段,每段有段号
  • 再将每段划分成若干页,页具有连续的页号

内存划分:按页式存储管理方案。

内存分配:以页为单位进行离散分配。

逻辑地址结构:

  • 段号 S
  • 段内页号 P
  • 页内相对地址/位移量 W

三、地址变换机构

  1. 从段表寄存器中获得进程段表的起始地址
  2. 根据逻辑地址指定的段号检索段表,获得对应段的页表起始地址
  3. 根据逻辑地址指定的页号检索页表,获得对应页所在的物理块号
  4. 用物理块号加上逻辑地址指定的页内偏移量,形成物理地址

注:在段页式存储管理方式中,每访问一次数据,需访问三次内存。

  1. 第一次访问内存中的段表
  2. 第二次访问内存中的页表
  3. 第三次访问相应数据

解决方法:可以设置快表,表项应包括段号、页号、物理块号。

四、评价

综合了分段和分页技术的优点,既能有效地利用存储空间,又能方便用户进行程序设计。

但是,实现段页式存储管理系统需要增加硬件成本,系统的复杂度和管理开销也大大增加。

因此,段页式存储管理技术适合于大、中型计算机系统,不太适合小型、微型计算机系统。

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

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

相关文章

小明找前缀100000(假)

题目背景 小明最近上课天天睡觉&#xff0c;于是啥都不会。 一天&#xff0c;老师终于点兵点将点到他回答问题&#xff0c;你能帮他渡过难关吗&#xff1f; 现在老师给了小明 n 个由 0、1 构成的字符串&#xff0c;然后有 m 次询问&#xff0c; 每次询问给出一个由 0、1 构…

【医学图像】图像分割系列.3 (uncertainty)

介绍几篇使用不确定性引导的医学图像分割论文&#xff1a;UA-MT&#xff08;MICCAI2019&#xff09;&#xff0c;SSL4MIS&#xff08;MICCAI2021&#xff09;&#xff0c;UG-MCL&#xff08;AIIM2022&#xff09;. Uncertainty-aware Self-ensembling Model for Semi-supervise…

3-网络初识-协议

1.概念 协议&#xff0c;网络协议的简称&#xff0c;网络协议是网络通信&#xff08;即网络数据传输&#xff09;经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定&#xff0c;计算机之间才能相互通信交流。通常由三…

Android系统中的Binder通信机制分析(6)- Binder通信机制详解

声明 其实对于Android系统Binder通信的机制早就有分析的想法&#xff0c;记得2019年6、7月份Mr.Deng离职期间约定一起对其进行研究的&#xff0c;但因为我个人问题没能实施这个计划&#xff0c;留下些许遗憾…文中参考了很多书籍及博客内容&#xff0c;可能涉及的比较多先不具…

SER5 5500U 黑苹果系统安装教程

注意事项&#xff1a; 安装黑苹果系统需要一定的技术和操作经验&#xff0c;而且存在一定的风险&#xff0c;安装前请注意备硬盘内的数据&#xff0c;以免数据丢失&#xff0c;不推荐普通用户进行尝试&#xff0c;本系统及引导由黑果小兵独家制作&#xff0c;更多黑苹果教程百度…

安装CHATGPT保姆级教程(windows版)

ai包链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1tKuG4OfkewlDRU292vx8mw?pwdtw8t 提取码&#xff1a;tw8t 一、安装篇 安装python&#xff0c;使用软件包中的python安装程序安装后检查是否安装成功&#xff0c;cmd窗口运行命令&#xff1a; python –vers…

【九章斩题录】C/C++:替换空格(JZ5)

精品题解 &#x1f525; 《九章斩题录》 &#x1f448; 猛戳订阅 &#x1f4dc; 目录&#xff1a; JZ5 - 替换空格 「 法一 」暴力美学 「 法二 」另开数组 「 法三 」反向替换&#xff08;利用 rfind replace&#xff09; 「 整活 」不用C&#xff0c;Python 一行代码搞…

C#基本语法

关键字 标识符命名规则 标识符中只能出现英文字母、数字、下划线&#xff0c;以及这几种字符&#xff0c;不能出现诸如"空格&#xff0c;&#xff01;"等这些字符&#xff1b;标识符名称只能以下划线&#xff0c;字母以及打头&#xff0c;不可以用数字作为标识符名…

企业如何运用CRM实现企业数字化战略布局

随着数字化时代的到来&#xff0c;越来越多的企业开始意识到数字化转型的重要性&#xff0c;而CRM&#xff08;客户关系管理&#xff09;系统则是企业数字化战略布局中的重要一环&#xff0c;也逐渐受到越来越多企业的关注。 那么&#xff0c;企业如何运用CRM实现数字化战略布局…

自动化测试实战(一)12306火车票网站自动登录工具

还记得2011年春运&#xff0c;12306火车票预订网站经常崩溃无法登录吗。 今天我们就开发一个12306网站自动登录软件。 帮助您轻松订票 Web的原理就是&#xff0c;浏览器发送一个Request给Web服务器&#xff0c;Web服务器处理完这个请求之后发送一个HTTP Response给浏览器。 如…

Mybatis源码细节探究:MappedStatement和Cache对象对照关系研究

给自己的每日一句 不从恶人的计谋&#xff0c;不站罪人的道路&#xff0c;不坐亵慢人的座位&#xff0c;惟喜爱耶和华的律法&#xff0c;昼夜思想&#xff0c;这人便为有福&#xff01;他要像一棵树栽在溪水旁&#xff0c;按时候结果子&#xff0c;叶子也不枯干。凡他所做的尽…

《面试1v1》类加载过程

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你了解Java的类加载过程吗?跟我聊聊classes是如何加载到JVM中的。 候选人&#xff1a; Java的类加载过程由加载、验证、准备、解析和初始化5个…

5月底了,现在不想着跳槽可就晚了

前两天跟朋友感慨&#xff0c;今年的铜三铁四、裁员、疫情导致好多人都没拿到offer!现在已经5月底了&#xff0c;具体金九银十只剩下三个月。 对于想跳槽的职场人来说&#xff0c;绝对要从现在开始做准备了。这时候&#xff0c;很多高薪技术岗、管理岗的缺口和市场需求也出来了…

五、常用提升物体的方式

机器人在运动中伸展和提升功能&#xff0c;历来是比赛中机器人的一个重要的性能指标&#xff0c;因为按 比赛要求&#xff0c;机器人在上场前必须经过体积大小的检测&#xff0c;而在场地中如果能够有更好的伸展性 能将对比赛成绩十分有利&#xff0c;因此机器人提升自身高度以…

SAP-MM发票校验容差详解

MIRO发票校验容差详解 MIRO发票校验容差是指收货业务与发票校验业务之间的差异&#xff0c;这种差异可 能是物料价格差异、收货数量差异、收货金额差异等等&#xff0c;总之&#xff0c;发票校验的容差 内容最为丰富&#xff0c;容差类型有很多种&#xff0c;如下表所示&…

【ChatGPT插件第一期】28个ChatGPT插件,让你的学习、工作、生活效率翻倍!

文章目录 人工智能福利文章什么是ChatGPT插件如何使用ChatGPT插件28个插件全解读写在最后 人工智能福利文章 【分享几个国内免费可用的ChatGPT镜像】【10几个类ChatGPT国内AI大模型】【用《文心一言》1分钟写一篇博客简直yyds】【用讯飞星火大模型1分钟写一个精美的PPT】 Cha…

Linux I2C驱动分析4 - GPIO模拟I2C

一. 前言 在嵌入式开发中&#xff0c;由于芯片的I2C接口有限&#xff0c;或者出于硬件画板的方便&#xff0c;我们都需要将普通的GPIO模拟I2C接口使用。出于对这样的需求&#xff0c;Linux-2.6.x已经有相关代码了&#xff0c;Linux-3.x有标准的内核选项支持该功能&#xff0c;内…

模特信息管理系统的开发与实现(ASP.NET,SQLServer)

需求分析 模特信息管理系统主要给商家和模特用户提供服务&#xff0c;系统分为前台和后台两部分。 本研究课题重点主要包括&#xff1a;活动管理&#xff0c;商家管理&#xff0c;模特管理&#xff0c;系统公告管理和活动报名管理。 活动管理模块主要实现活动更新、活动添加、活…

生鲜农产品冷链物流配送路径优化模型构建及算法实现

摘要&#xff1a;本案例讲述的案例为生鲜农产品冷链物流配送路径优化&#xff0c;涉及的目标函数成本包括碳排放成本、固定成本、运输成本、货损变质成本、时间惩罚成本。 目标种类&#xff1a;单目标模型。 求解方法&#xff1a;基础版蚁群算法改进版蚁群算法。 整体对标层…

快速掌握EasyExcel在web场景中的应用(读和写)

目录 一、引入依赖 二、设置表头 三、web下载模板 四、测试下载功能 五、复杂表头 六、写入数据 七、格式优化 7.1 日期自定义转换 7.2 列宽行高注解 八、动态表头 九、动态表格写入数据 一、引入依赖 <dependency><groupId>com.alibaba</groupId>…