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

这篇具有很好参考价值的文章主要介绍了DJ4-5 基本分段存储管理方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

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

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

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

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

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

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

二、段表

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

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

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

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

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

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

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

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

三、地址变换机构

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

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

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

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

 

4.5.3  段的共享和保护

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

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

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

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

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

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

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

        160K + 40K * 40 = 1760K

一、分页共享

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

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

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

二、分段共享

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

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

 

4.5.4  段页式存储管理

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

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

  • 没有外零头
  • 内零头小

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

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

结合 => 段页式管理

二、段页式存储管理

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

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

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

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

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

逻辑地址结构:

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

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

三、地址变换机构

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

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

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

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

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

四、评价

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

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

因此,段页式存储管理技术适合于大、中型计算机系统,不太适合小型、微型计算机系统。文章来源地址https://www.toymoban.com/news/detail-465308.html

到了这里,关于DJ4-5 基本分段存储管理方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DJ4-3 路由器的工作原理

    目录 一、路由器的整体结构 二、输入端口的功能 1. 三大模块 2. 查找与转发模块 三、交换结构 1. 经内存的交换结构 2. 经总线的交换结构 3. 经交换矩阵交换结构 四、输出端口的功能 五、排队 1. 输入端口排队 2. 输出端口排队 路由器的两个核心功能: 运行路由协议或称路由

    2023年04月23日
    浏览(36)
  • DJ4-5 路由算法:LS 和 DV

    目录 一、迪杰斯特拉算法 1. 术语定义 2. 算法描述 3. 举例说明 4. 构建从源节点到目的节点的路径 5. 构建最低费用路径树 6. 构建转发表 二、距离向量路由算法 1. 术语定义 2. 举例说明 3. 距离向量表 4. 更新距离向量表 5. 举例说明 三、距离向量路由算法 PLUS 1. 链路费用改变与

    2024年02月01日
    浏览(40)
  • Docker存储目录迁移的三种方式

    背景: 随着docker的使用时间越来越长,导致镜像和容器越来越多,占满了系统盘空间,这时,我们需要给它们搬个家了 下面咱们提供三种方式 docker info :查看docker的存储等相关信息 1、停止docker 服务 2、备份数据到新的存放路径 3、备份 /var/lib/docker 路径 4、创建软连接 5、启

    2024年02月07日
    浏览(63)
  • 持续集成部署-k8s-数据持久化-基本存储方式

    关于k8s 数据持久化,可以先看下官方的介绍:

    2024年02月13日
    浏览(72)
  • 复习之linux存储的基本管理

    本节内容只需要一台虚拟机 westosa reset重置虚拟机,保证实验环境的纯净 配置网络实现ssh连接 重置虚拟机后,配置网络,设定ip:172.25.254.100,保证与主机可以通信  实现ssh连接 # cat    /proc/partitions:查看硬盘信息 此时虚拟机westosa只有vda 一块硬盘  可以添加一块硬盘,步骤

    2024年02月15日
    浏览(31)
  • 【操作系统】——基本分页存储管理

    将内存分为一个个大小相等的分区, 这些分区称作为(页框、页帧、内存块、物理块、物理页面)若对分区进从编号,则又有了对应的(页框号、页帧号、内存块号、物理块号、物理页号),从0开始 进程的信息都是要存在内存中的,既然内存有了分区,那么进程逻辑地址空间

    2024年02月06日
    浏览(43)
  • kvm介绍、kvm存储池、kvm快照和克隆、kvm虚拟机基本管理和网络管理 kvm存储池

    目录 什么是kvm 云计算的定义 云计算的服务类型 虚拟化技术定义 虚拟化的两种方式 kvm虚拟化的原理 kvm虚拟化网络解析 kvm存储池 1、图形的方式去创建使用存储池​编辑 ​编辑 2、命令的方式去创建使用存储池  存储池相关管理命令 kvm快照和克隆 1、用图形方式做快照   恢

    2023年04月18日
    浏览(33)
  • kvm介绍、kvm存储池、kvm快照和克隆、kvm虚拟机基本管理和网络管理 kvm存储池

    目录 什么是kvm 云计算的定义 云计算的服务类型 虚拟化技术定义 虚拟化的两种方式 kvm虚拟化的原理 kvm虚拟化网络解析 kvm存储池 1、图形的方式去创建使用存储池​编辑 ​编辑 2、命令的方式去创建使用存储池  存储池相关管理命令 kvm快照和克隆 1、用图形方式做快照   恢

    2023年04月18日
    浏览(30)
  • kvm介绍、kvm存储池、kvm快照和克隆、kvm虚拟机基本管理和网络管理

    目录 什么是kvm 云计算的定义 云计算的服务类型 虚拟化技术定义 虚拟化的两种方式 kvm虚拟化的原理 kvm虚拟化网络解析 kvm存储池 1、图形的方式去创建使用存储池​编辑 ​编辑 2、命令的方式去创建使用存储池  存储池相关管理命令 kvm快照和克隆 1、用图形方式做快照   恢

    2024年02月08日
    浏览(34)
  • 38掌握分布式存储系统 GlusterFS 的基本用法,包括卷管理、数据复制

    GlusterFS是一种分布式文件系统,可以将多个存储服务器集成为一个分布式存储池。以下是一些基本的使用方法和示例代码。 安装和启动 GlusterFS 在所有节点上安装 GlusterFS,并确保每个节点上的GlusterFS服务已经启动。 创建 GlusterFS 卷 使用 gluster 命令创建 GlusterFS 卷,其中serve

    2023年04月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包