首页 > 系统相关 >内存管理

内存管理

时间:2023-08-16 18:04:22浏览次数:30  
标签:管理 置换 算法 地址 内存 进程 页面

虚拟存储空间的大小受到计算机地址位宽因素限制。


页面置换算法

先进先出页面置换算法(FIFO)

思想:总是把最先装入内存的一页调出

会产生贝莱迪异常(Belady Anomaly)现象,分配给进程的物理页面数增加时,缺页次数反而增加

 

最近最少使用页面置换算法(LRU)

思想:选择距离现在最长时间内没有被访问的页面先调出

 

最近最不常用页面置换算法(LFU)

思想:根据在一段时间页面被访问次数最少的页面调出

 

理想页面置换算法(OPT)

思想:置换以后不需要或者最长时间后才需要用到的页面

 

最近未使用页面置换算法(NRU)

思想:随机地从类编号最小的非空类中挑选一个页面淘汰之

 

 

存储管理方法中存在外碎片

动态分区、段式

 

虚拟页式存储管理系统

每个页表项中必须包含的是页框号、有效位、修改位、访问位

 

虚拟页式,允许动态扩充内存容量

 

地址转换

重定位,将逻辑地址转换为内存物理地址的过程

动态重定位

其地址转换工作在每一条指令执行时刻完成

在装入程序时,不进行地址转换,而是把程序装入内存中,程序在执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝对地址。

静态重定位

在装入程序时,把程序中的指令地址和数据地址经过计算,全部转换成物理地址后再装入物理内存。

内存分区管理

内存紧缩:可以将零碎的空闲区集中为一个大的空闲区


可变分区

既可以满足多道程序设计且设计上又最简单


最先适配法

最先适配法是按顺序查找内存表,无论分配指针在哪,从头找到尾,找到第一个满足申请长度的空间进行分配。

 

下次适配法

是从上次分配的位置开始开始查找下一个满足要求的空闲区。

 

最佳适配法

总是查找到第一个满足要求的最小空间进行分配

 

最差适配法

最差适配法意思是首先找到最大的内存空间进行分配

 

 

页式存储管理方案

将内存按照一定的大小分页,每个分页都分配出去,但总存在最后一个分页装不满的情况,存在内部碎片问题,无法使用移动技术解决逻辑地址连续,物理页面可以不相邻不要求作业或进程的程序段和数据在内存中连续存放,从而有效地的解决了碎片问题。

动态页式管理提供了内存和外存统一管理的虚实实现方式,使用户可以利用的存储空间大大增加。

这既提高了主存的利用率,又有利于组织多道程序执行。

 

将内存等分成大小为2的幂次方的内存块,称为页框

系统将虚拟地址空间等分为若干页面,大小与页框相同

虚拟页面在物理空间上不要求连续存放

硬件机制实现逻辑地址到物理地址的动态转换

 

零碎知识

每个进程在得到处理机运行前,必须首先进行部分装入内存

当系统内存不足时,操作系统可以采取内存覆盖和内外存交换进行改善

进程交换是指将暂时不用的进程代码、数据和部分进程控制块交换至磁盘

管理空闲物理内存

空闲块链表、位示图

 

页表长度(页表项个数)=进程地址空间转换成逻辑地址长度,然后减去页面大小的位数,然后2的几次方

 

“固定分配,局部置换”

为每一个进程分配固定数目的内存页面

进程运行中出现缺页,只能在本进程的页面中进行置换

为每一个进程分配一定数目的内存页面(错误,固定数量表示整个运行期间都不会改变,一定数量表示后期可以增加页数)

 

可变分配,局部置换

进程中出现缺页,只能在本进程的页面中进行置换

进程运行中,期内存页面可以动态增长或减少

为每一个进程分配一定数目的内存页面

 

存储管理方案中,可进行进程部分交换

页式、段式、段页式

没有(固定分区和可变分区)

 

虚拟存储管理方案,发生抖动的现象原因

页面置换算法不合理

 

为了预防内存换页出现抖动

采用工作集算法

 

地址映射

地址映射通常是由硬件完成的

地址映射是将虚拟地址转换为物理地址

页表项的一些内容是硬件确定的

根据页表项的有效位确定所需的访问页面是否已经存在内存

 

快表

别名是TLB

当切换进程时,要刷新快表

快表存放在高速缓存中(不是寄存器)

对快表的查找是按内容并行进行的

 

存在外碎片的存储管理方式

动态分区

段式

 

为了保证操作系统中文件安全,采用方法

定时转存备份文件

设置文件访问控制列表

其他都是tm错的

 

为了提高内存利用率并减少内碎片,页面划分

与页表数量相关,可以找到平衡点

 

用于文件的存取控制和保护

存取控制矩阵

用户权限表

口令或密码

 

将多个目标程序装配成可运行的程序过程

链接


第二次机会页面置换算法


标签:管理,置换,算法,地址,内存,进程,页面
From: https://blog.51cto.com/u_15763679/7111671

相关文章

  • 软件资产管理的五大难点和解决方案,让您应对软件管理的各种挑战
    如何选择软件资产管理工具软件资产管理,是指对组织拥有或使用的软件进行规范、有效和高效的管理,以实现软件资产的最大化利用和价值。随着软件在组织中的应用越来越广泛和深入,软件资产管理也越来越重要和紧迫。软件资产管理不仅可以帮助组织节省软件采购和维护的成本,提高软件使用的效......
  • 软件资产管理的五大难点和解决方案,让您应对软件管理的各种挑战
    如何选择软件资产管理工具软件资产管理,是指对组织拥有或使用的软件进行规范、有效和高效的管理,以实现软件资产的最大化利用和价值。随着软件在组织中的应用越来越广泛和深入,软件资产管理也越来越重要和紧迫。软件资产管理不仅可以帮助组织节省软件采购和维护的成本,提高软件使用的效......
  • IOS设备管理工具ITOOLS介绍
    目前市场上的IOS系列的管理工具不少,从嫡系itune,cydia,到91助手,同步推等。总体上我更推荐iToolsiTools的目标简单而清晰—-做最好的苹果设备管理软件。iTools——创想天空(thinksky,深圳的公司,核心人员是从腾讯出来的,难怪做产品有一套)第一个核心产品,是一款简洁有着“无需越狱,即可同步”......
  • 漏洞复现-深信服DC数据中心管理系统 XXE漏洞
    0x01产品简介深信服是数据中心管理系统是DC为AC饿外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件的组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。0x02漏洞概述深信服是数据中心管理系统DC存在xml外部实体注入漏洞。由于后端对传入的xml对象进......
  • Jira 项目管理工具
    Jira仅用于学习,商业化推荐购买正版目录JiraJira平台应用市场前期准备:安装-1,安装Mysql-2,安装jira-3,配置mysql-connector-java-4,配置Agent.jar-5,修改setenv.sh-6,启动应用-生成License以下命令我放在了/opt/atlassian/jira目录-7,完成其它Jira平台应用市场可......
  • 第四:Docker容器的管理
    运行第一个容器:交互式启动(-i):dockercontainerrun-it32 (32为image的ID)守护式启动:(-d) :  dockercontainerrun--name="nginx"-d605c77e624dd  起容器的时候同时设置容器的名称为mysql容器启动后:第一:我想查询下容器的状态   dockercontainerls-a  ......
  • 管理文件和目录3之查
    (1)cat命令 这个命令可以从文件内容的第一行显示,以只读的方式显示整个文件的内容。语法:cat[选项]文件名cat命令的主要功能就是将文件的内容连续的输出在屏幕上,搭配选项可以实现各种不同的结果。如下表所示选项说明-b将文件中的所有的非空行按顺序从第1开始编号-n将行号分配给......
  • tonardo做web服务器播放大视频内存泄露问题的解决
    之前为了实现websocket来完成网页的推送,所以使用了tonardo作为web服务器。但是如果网页中含有视频插件的话,特别是经常要播放大视频的话,在linux环境下,经常发现python进程会莫名其妙的死掉。通过内存检测命令动态查看,发现python进程的内存占用一直居高不下,并且需要启用缓存才行。直到......
  • 浅谈工业企业能耗管理系统的智慧化构建
    摘要:能源是人类社会发展的重要推动力,能源缺乏,将导致人类无法正常开展生产生活活动。如果失去能源的支持,现代社会的运作将会直接瘫痪或崩溃。所以,为了解决目前日益严峻的能源问题,应采用高*率的节能监测技术来促*能源的合理利用,从而达到节能减排的目的。文章对智慧化工业企业能耗监测......
  • 漏洞复现-深信服DC数据中心管理系统 XML注入漏洞
    0x01产品简介深信服是数据中心管理系统是DC为AC饿外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件的组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。0x02漏洞概述深信服是数据中心管理系统DC存在xml外部实体注入漏洞。由于后端对传入的xml对象进......