段式存储管理

article/2025/8/20 15:41:28
一、基本原理

  前面介绍的各种存储管理中,供用户使用的逻辑地址都是连续的,用户在编制大型程序时就会感到不方便。一个实际的程序往往是由若干段组成的,例如一个主程序段、若干子程序段、若干数据段和工作区段组成,如图3.22所示。

每个段都具有完整的逻辑意义,因此都可以独立编程,且给每个段一个段名。用户程序可以用符号形式(段名和入口)调用一个段的功能,如图3.21主程序中“调用[X]段入口E”。程序在编译或汇编时再给每个段名再定义一个段号 ,用于内存分配。每一段都可从“0”编址,段与段之间地址不连续,但段内地址是连续的。

  分段式存储管理是以段为单位进行内存分配,为此提供逻辑地址的形式如下:

  地址结构确定后 ,一个作业中允许的最多 段数及每段最大长度
也就确定了。例如PDP-11/45的段址结构为:段号3位,段内地址(单元号)13位,也就是说一个作业最多8段,每段最长可达8K字节。

  分段式存储管理为作业的每一个段分配一个连续的内存区域,用来存放该段信息。分配方法同可变分区方式类似,根据段长找出一个可容纳该段的空闲区,分割这个空闲区,一部分用来装入该段信息,另一部分仍为空闲区。作业各段可装入到不相连的几个内存区域。如下图3.23所示。


段式存储管理也是采用动态重定位方式装入作业各段的,如果作业的某段找不到足够大的空闲区时,也可采用移动技术合并分散的空闲区。地址转换工作在作业执行时,由地址转换机构完成从逻辑地址到绝对地址的转换。

二、转换和地址保护

  为使作业正确执行 ,首先须记下各段位置 ,为此系统设立一个“段表”记录作业每个段在内存中首地址和长度,如图3.22所示。在作业执行时,每执行一条指令,硬件的地址转换机构按逻辑地址中的段号查段表,得到该段在内存中的起始地址和长度,起始地址加上段内地址就是要访问的内存的绝对地址。这个绝对地址如果是在该段的存储区域内,则可访问;否则,产生一个地址越界中断。段式存储管理地址转换过程类似于可变分区方式,根据段表表目中的起始地址和长度可以确定该段区域,即必须满足下列不等式:
      起始地址<=绝对地址<=起始地址+长度

  例如,图3.22中,主程序执行指令“调用X段入口E”时 ,由于编译程序将子程序X段分配为1段 ,“调用 X 段”故应查段表的表目1,可知子程序X段在内存起始地址为1400 ,长度为P,起始地址1400加上“入口E”,即加上段内地址E即为该子程序绝对地址 ,然后用上面不等式确定这个绝对地址是否在1段(子程序X段)内,即不等式:
         1400<=1400+E<=1400+P
        是否成立?再决定是否允许访问。

三、段页式存储管理

  用户作业采用分段结构后,不仅方便了编制程序(各模块可以独
立编程),而且具有逻辑上清晰的优点。段式存储管理支持了用户的分段观点,但它的致命弱点是每段必须占据内存的连续区域。于是,在装入一个分段时,可能要移动已在内存的其他区域。为了克服这个缺点,可采用段页式存储管理。

  段页式存储管理要点是,用户作业仍采用分段结构,各模块可以独立编程,但操作系统在分配内存空间时,不是把一个段分配在一个连续的内存区域,而是把每段再分成等长的若干页,将内存分成和页大小相等的若干块,然后按页存放在若干可能不连续的内存块中。
段页式存储管理的逻辑地址格式如下:

和分页式存储管理类似,对于用户来说,每一段的逻辑地址仍是从“0”开始编程,不必考虑如何分页的问题。

  段页式存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点。为了正确执行作业,段页式存储管理必须为每个作业建立一张段表,且对每一段建立一张页表。段表的长度由作业分段数决定,作业有多少段,段表的表目就有多少项;段表中每个表目指出本段所对应的页表的起始地址和页表的长度。页表的长度由对应段所分的页数决定 。页表的表目指出页号与内存块号的对应关系 。如图3.24所示。

四、页式存储管理的地址转换

  
页式存储管理的地址转换由图3.25所示

在作业指令执行时,由指令的逻辑地址中的段号(图中为第i段)查该作业段表,获得作业该段的页表首址,再由指令逻辑地址中的页号查该页表,获得该页对应的内存块号(如图3.24所示,上述过程也可能从快表中查到对应的块号),最后,将块号和指令中逻辑地址的单元号拼成绝对地址,该地址就是要访问的内存的绝对地址。这个绝对地址如果是在该段的存储区域内,则可访问;否则,产生一个地址越界中断。




http://chatgpt.dhexx.cn/article/H3QE9NpK.shtml

相关文章

存储管理-存储管理的功能

存储管理-存储管理的功能 存储器为什么比较重要? 存储器是计算机系统的重要资源之一。任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间&#xff0c;因此&#xff0c;存储管理直接影响系统性能。 存储器的组成 内存:存由顺序编址的块组成&#xff0c;每块包含…

操作系统——存储管理方式

目录 1.分区存储管理 1-1单一连续分配 1-1-1基本原理&#xff1a; 1-1-2单一连续分区存储管理的地址变换与地址保护 1-1-3管理特点 1-2固定分区分配 1-2-1基本原理 1-2-2分区划分 1-2-3主存空间的分配与回收 1-2-4地址转换与存储保护 1-2-5管理特点 1-3动态分区分配…

页式存储管理、段式存储管理、段页式存储管理

目录 页式存储管理段式存储管理分页和分段存储管理的主要区别段页式存储管理 页式存储管理 1. 基本原理 页式存储管理是把主存储器划分成大小相等的若干区域&#xff0c;每个区域称为一块&#xff0c;并对它们加以顺序编号&#xff0c;如0#块、1#块等等。与此对应&#xff0c…

Android 存储管理

文章目录 保存数据的方式应用专属文件访问内部存储的专属空间持久化数据目录操作缓存数据目录操作 访问外部存储的专属空间验证存储空间的可用性选择物理存储位置访问和存储持久性文件操作缓存文件应用专属媒体内容 共享存储空间媒体内容请求必要权限检查媒体文件的更新打开媒体…

存储器管理之分区存储管理

分区式管理是满足多道程序的最简单的存储管理方案。它的基本思想是将内存划分成若干个连续区域&#xff0c;称为分区。每个分区只能存储一个程序&#xff0c;且程序也只能在它所驻留的分区中运行。 ⑴固定分区 操作系统预先把可分配的主存空间分割成若干个连续区域&#xff0…

存储管理的功能

我是一个有强迫症的人&#xff0c;什么文件都要归类&#xff0c;电脑桌面干干净净的放着几个必要的文件夹&#xff0c;所有的文件对应有不同的文件夹存放&#xff0c;如果看到某个文件&#xff08;只要不是临时存放的&#xff09;出现在桌面上&#xff0c;就感觉非常刺眼。 我…

操作系统---存储管理

存储管理 操作系统将外存的文件调入到内存中&#xff0c;以便CPU调用&#xff0c;如果调用的内容不在内存中&#xff0c;则会产生缺页中断&#xff1b;产生缺页中断后&#xff0c;这事需要从外存调数据到内存中&#xff0c;然后CPU接着从断点继续调用内存中的数据&#xff1b;在…

操作系统的存储管理

写在前面&#xff1a;我们都希望计算机拥有一个私有的&#xff0c;无限大的&#xff0c;速度无限快并且是永久性的存储器&#xff0c;但是这样额要求必定会价格昂贵&#xff0c;经过多年的探索&#xff0c;人们提出了“分层存储管理体系”&#xff0c;在这个体系中有&#xff1…

页式存储管理

页式存储管理为操作系统中的内容&#xff0c;但是在计算机组成原理中的虚拟存储器部分也用到了这一方式。 分区式存储管理最大的缺点是碎片问题严重&#xff0c;内存利用率低。究其原因&#xff0c;主要在于连续分配的限制&#xff0c;即它要求每个作用在内存中必须占一个连续…

计算机操作系统-3-存储管理

Lecture3-存储管理 存储管理是操作系统的重要组成部分&#xff0c;负责管理计算机系统的重要资源——内存储器。内存空间一般分为两部分 系统区&#xff1a;存放操作系统内核程序和数据结构等。用户区&#xff1a;存放应用程序和数据。 存储管理包括以下功能&#xff1a; 存储…

(存储管理)存储管理的四大基本功能

存储管理的四大基本功能 1、内存分配与回收 当有作业进入系统时&#xff0c;存储管理模块就会根据当前内存情况来分配内存给它&#xff1b;当作业完成后&#xff0c;就会回收作业占用的内存&#xff0c;将这部分内存设置为可分配状态。 分配方式主要有两种&#xff1a; 静态…

实验三、存储管理

目录 实验三、存储管理实验目的实验内容实验步骤1、虚拟内存信息检测2、分配虚拟内存 实验三、存储管理 实验目的 &#xff08;1&#xff09;通过实验了解windows内存的使用&#xff0c;学习如何在应用程序中管理内存、体会Windows应用程序内存的简单性和自我防护能力&#x…

操作系统存储管理

目录 - 3.1 内存的基础知识 - 3.1.1 什么是内存&#xff0c;有何作用 - 3.1.2 进程运行的基本原理 - 3.2 内存管理的概念 - 3.3 覆盖与交换 - 3.4 连续分配管理方式 - 3.5 动态分区分配算法 - 3.6 基本分页存储管理的基本概念 - 3.7 基本地址变换机构 - 3.8 具有快表的…

计算机操作系统--存储管理

基本概念 1. 存储器的结构 存储器顾名思义&#xff0c;就是用来保存数据的东西。随着科技的进步&#xff0c;存储器正朝着高速度、大容量、小体积方向发展。一般情况下&#xff0c;存储器的结构有如下两类&#xff1a; 寄存器-主存-外存寄存器-缓存-主存-外存 对于存储器有…

操作系统——存储管理

文章目录 1.存储管理概述1.1存储层次结构1.2存储器管理的功能1.2.1内存分配1.2.2地址映射1.2.3存储保护1.2.4内存扩充 1.3地址重定位1.3.1名字空间、地址空间和存储空间1.3.2地址重定位1.3.2.1静态重定位1.3.2.2动态重定位 2.存储器连续分配2.1单一连续分配管理方式2.2分区存储…

拉格朗日乘数法基础

背景 线性可分 SVM 的目标函数最终转换为一个带约束条件的求极值问题&#xff0c;而拉格朗日乘子法&#xff0c;恰恰是一种多元函数在变量受到条件约束时&#xff0c;求极值的方法。正好可以用来解决 SVM 的目标函数最优化。 那么拉格朗日乘数法的理论过程如何呢&#xff1f;…

拉格朗日乘子法和KKT条件

拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法&#xff0c;在有等式约束时使用拉格朗日乘子法&#xff0c;在有不等约束时使用KKT条件。前提是&#xff1a;只有当目标函数为凸函数时&#xff0c;使用这两种方法才保证求得的是…

拉格朗日乘子法几何意义

为什么出现拉格朗日乘子法&#xff1f; 最短路径问题从几何意义中获得灵感&#xff1a;从数学公式中获得灵感推广到高维空间 一个最短路径问题 假设你在M点&#xff0c;需要先到河边&#xff08;上图右侧曲线 &#xff09;再回到C点&#xff0c;如何规划路线最短&#xff1f;…

拉格朗日乘子法(自己总结一些要点)

主要是研究SVM算法的时候涉及到了拉格朗日乘子法&#xff0c;由于是大学数学的内容&#xff0c;开始看懂&#xff0c;也不高兴认真去看。后来发现绕不开&#xff0c;于是打算认真去研究下。主要还是百度百科&#xff08;https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C…

拉格朗日乘子法:写得很通俗的文章

拉格朗日乘子法 最近在学习 SVM 的过程中&#xff0c;遇到关于优化理论中拉格朗日乘子法的知识&#xff0c;本文是根据几篇文章总结得来的笔记。由于是刚刚接触&#xff0c;难免存在错误&#xff0c;还望指出?。另外&#xff0c;本文不会聊到深层次的数学推导&#xff0c;仅仅…