操作系统---存储管理

article/2025/8/20 15:42:12

存储管理

  • 操作系统将外存的文件调入到内存中,以便CPU调用,如果调用的内容不在内存中,则会产生缺页中断;
  • 产生缺页中断后,这事需要从外存调数据到内存中,然后CPU接着从断点继续调用内存中的数据;
  • 在外存调入内存的过程中,是超大的文件,需要对超大文件的一些内容切割之后分散放置到内存中;
  • 根据切割方式的不同,会有不同的存储和调用方式;

页式存储

在这里插入图片描述

  • 分页存储管理就是页式存储的过程;
  • 它会将文件和内存划分成相同大小的一些区域,这些区域称为:页或者块;
  • 把用户程序和内存中文件之间的映射关系用一个表来记录,这个表就是页表;
  • 页表中记录着用户程序中的页号,也叫做逻辑页号,用户程序的地址也叫做逻辑地址;
  • 页表中记录着内存中文件切割后分散存放的块号,也叫做物理块号(页帧号),在内存中的地址也叫做物理地址;
  • 根据用户程序中的逻辑地址查页表,从而得到内存中的物理地址;
  • 逻辑地址和物理地址之间转换关系:
    • 所有的地址划分成2个部分:页内的具体地址(页内地址,偏移量,相对位置),页外的页号编号(记录页内对应关系[记录在页表中](相对位置)的编号);
    • 逻辑地址 = 页号 + 页内地址;
    • 物理地址 = 百帧号(物理块号) + 页内地址;
    • 页内地址保存不变,变化的只有页内的对应关系(逻辑地址中是页号、物理地址中是百帧号(物理块号));
    • 完整的逻辑地址和物理地址可以用二进制、十六进制、十进制表示;

计算页内地址、页号、百帧号(物理块号)

  • 涉及页面大小的定义;
  • 页面大小转化为B,例如上图的4KB = 4096B = 2^12,那么页内地址的长度就是12位,上图中,二进制逻辑地址:10 1100 1101
    1110,从低位到高位12位就是页内地址,此外就是页号10,10转换成十进制就是2,所以在页表中查询对应的百帧号就是6,十进制6转换为二进制110,页内地址保持不变,所以通过二进制逻辑地址:10
    1100 1101 1110,和页内地址的长度12位,还有页表找到的物理地址就是:110 1100 1101 1110;

抖动现象
操作系统的抖动,又叫颠簸。颠簸是不作处理的计算机活动,通常是因为内存或其他资源耗尽或有限而无法完成所要执行的操作。当上述情况发生时,程序就会通过操作系统发出请求,操作系统就试图从其他程序中拿来所需的资源。

在这里插入图片描述

  • 当内存不足时,需要淘汰其他在内存中进程的资源;
  • 状态位记录进程是否在内存中,淘汰时无需考虑不在内存中的进程资源(不考虑状态位:0);
  • 其次,访问位记录着是否最近被访问过,优先考虑最近访问过的,最近未访问的优先淘汰;
  • 然后,修改位记录着内容最近是否被修改过,最近未修改过的先于修改过的被淘汰;
  • 不考虑状态位:0 ----> 先淘汰访问位:0 ----> 再考虑淘汰修改位:0;

段式存储

在这里插入图片描述

  • 页式存储从大小考虑文件在内存中,并没从需要切割的超大文件内容的逻辑连贯性去考虑划分;比如代码的连贯性;
  • 从超大文件内容的逻辑连贯性去考虑划分,在内存中的存储,就有了段式存储;
  • 按逻辑划分为不同大小的段,每段的起始位置就是段内偏移量;
  • 段表中存有段号(每个自然段的开始位置),段长(每个自然段的大小不同,段的长度),基址(每段在内存中存储的开始位置);

在这里插入图片描述

  • 逻辑地址:(段号,段内偏移量);
  • 通过段号查段表得到基址,基址+偏移量就是在内存中的地址;
  • 合法段地址就是要段号对应的内存地址中不溢出不能越界,该段的基址+偏移量没超过该段在内存存储的大小;
  • 非法段地址:逻辑地址到物理地址转换时地址越界;

段页式存储

在这里插入图片描述

  • 将段式存储管理和页式存储管理结合;

在这里插入图片描述

  • 页内地址长度固定大小(上图有8-0+1的长度,所以有2^9个页内地址);
  • 页号长度不固定(最多有:13-9+1的长度,所以有2^5个页号),大小不确定,大小不固定,可变长;
  • 段号长度不固定(最多有:16-14+1的长度,所以有2^3个段号),大小不确定,大小不固定,可变长;

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

相关文章

操作系统的存储管理

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

页式存储管理

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

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

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

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

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

实验三、存储管理

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

操作系统存储管理

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

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

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

操作系统——存储管理

文章目录 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 的目标函数最终转换为一个带约束条件的求极值问题,而拉格朗日乘子法,恰恰是一种多元函数在变量受到条件约束时,求极值的方法。正好可以用来解决 SVM 的目标函数最优化。 那么拉格朗日乘数法的理论过程如何呢?…

拉格朗日乘子法和KKT条件

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

拉格朗日乘子法几何意义

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

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

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

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

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

拉格朗日数乘法

拉格朗日乘数法(Lagrange Multiplier Method)之前听数学老师授课的时候就是一知半解,现在越发感觉拉格朗日乘数法应用的广泛性,所以特意抽时间学习了麻省理工学院的在线数学课程。新学到的知识一定要立刻记录下来,希望…

真正理解拉格朗日乘子法和KKT条件

转载自:https://www.cnblogs.com/xinchen1111/p/8804858.html 这篇博文中直观上讲解了拉格朗日乘子法和 KKT 条件,对偶问题等内容。 首先从无约束的优化问题讲起,一般就是要使一个表达式取到最小值: minf(x) m i n f ( x ) min…

【最优化】拉格朗日乘子法

拉格朗日乘子法 前面几节讲述的都是无约束优化问题的相关算法,但是在实际生活中碰到的几乎都是有约束问题模型。 等式约束的拉格朗日乘子法 算法框架 1. 问题描述 以下对约束优化问题中常出现的概念做一下简要解释: 可行解:所有满足约束条…

拉格朗日乘子法的通俗理解

拉格朗日乘子法的通俗理解 1. 举例2. 求偏导3. 拉格朗日乘子法4. 乘子 1. 举例 这里举个简单的例子吧 在家里做蛋糕,假如只计算鸡蛋和牛奶的价格 其中鸡蛋的价格为4.5¥/斤,牛奶为12¥/升,而预算刚好是20¥ 那…

拉格朗日乘数法计算技巧

昨天有位朋友让我看了一道题(见下图),方法是使用拉格朗日乘数法进行求解的,我刚开始算的时候感到非常困难,后来在答案的帮助下发现可以从x,y,z的对称性以及成比例暗示中着手,经此一题,我不由发问…

拉格朗日乘数法详解

拉格朗日乘子法 写这篇文章的动机主要是最近正在学习机器学习的课程,学到逻辑回归的时候发现使用了拉格朗日乘子法,网上也很多文章讲拉格朗日乘子法的,因此这篇文章只是记录学习的过程,希望能较为全面地展示拉格朗日乘子法的各个…

拉格朗日乘子法 KKT条件

目录 1. 拉格朗日乘子法用于最优化的原因 2. 最优化问题三种情况 2.1 无约束条件 2.2 等式约束条件:拉格朗日乘子法 2.3 不等式约束条件:KKT 3. Lagrange对偶函数 3.1 对偶函数与原问题的关系 3.2 Lagrange对偶问题 (1)弱…