内存

您所在的位置:网站首页 快表机制 内存

内存

2024-06-09 18:55| 来源: 网络整理| 查看: 265

内存 内存的定义和作用

CPU处理速度快,从外存中读取慢 在这里插入图片描述

GB,KB等数量单位

在这里插入图片描述

逻辑地址(相对地址) 和物理地址(绝对地址)

在这里插入图片描述

装入的三种方式 绝对装入

在这里插入图片描述

静态重定位(可重定位装入)

在这里插入图片描述

动态重定位(动态运行时装入)

在这里插入图片描述

链接的三种方式(静态、装入时动态、运行时动态)

在这里插入图片描述

内存基础知识小结(内存,地址,链接,装入)

在这里插入图片描述

内存管理 操作系统管理内容

在这里插入图片描述

内存保护

保证进程只能访问自己的内存空间,不能访问操作系统的内存空间,也不能访问别的进程的内存空间 方法一:在CPU中设置一对上下限寄存器 在这里插入图片描述 方法二:采用重定位寄存器(基址寄存器) 在这里插入图片描述 在这里插入图片描述

覆盖与交换 覆盖

覆盖:解决 程序大小超过物理内存总和的问题 不常用的放到覆盖区 覆盖是在同一个程序或进程中的 在这里插入图片描述 A顺序调用BC(BC不会同时运行) 在这里插入图片描述

交换

好像和挂起差不多 PCB会常驻内存,不会被换出外存 交换是在不同进程或作业之间的 在这里插入图片描述

在这里插入图片描述

连续分配管理方式

连续分配:指为用户进程分配的必须是一个连续的内存空间

单一连续分配

一个用户程序独占整个用户区空间 在这里插入图片描述

固定分区分配(分区说明表)

整个用户空间划分为若干个固定大小分区 在这里插入图片描述 在这里插入图片描述

动态分区分配

三个问题: 在这里插入图片描述

数据结构记录内存使用情况(空闲分区表分区链)

在这里插入图片描述

多个可选时选哪个(动态分区分配算法)

在这里插入图片描述

分区的分配与回收

分配时选择不同空闲区域分配进程,则需要修改空闲分区表或空闲分区链 在这里插入图片描述

回收: 三种情况: (都需要合并起来并修改空闲分区表) 1.原来前面有空闲分区 2.原来后面有空闲分区 3.原来前后都有空闲分区 4.若前后都没有空闲分区,则在空闲分区表中增加一个表项 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

连续分配管理方式小结

在这里插入图片描述

动态分区分配算法 首次适应算法(First Fit)(按地址递增次序)

在这里插入图片描述

最佳适应算法(Best Fit)(分区容量顺序排序)

按顺序从空闲分区表或空闲分区表中找到第一个满足要求的,分配后将剩余的空闲分区重新排序 缺点:产生越来越多的小空闲分区(外部碎片) 在这里插入图片描述

最坏适应算法(Worst Fit)(分区容量递减排序)

在这里插入图片描述

临近适应算法(Next Fit)

循环链表,不需要对空闲分区链重新排序 在这里插入图片描述

各动态分区分配算法小结

在这里插入图片描述

基本分页存储管理 基本概念

把进程和内存分区都分为一个个大小相等的小分区 页式管理中每个页的页长是等大的,在分段管理中每个段的段长不同 在这里插入图片描述

分页存储的地址转换(偏计算)

在这里插入图片描述 在这里插入图片描述 如页面大小为2^12B 则后12位表示页内偏移量,前面20位为页号 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

页表

用于存放页号和块号(在内存中的位置编号)的对应关系 页表建立了各个逻辑页面到实际的物理页框之间的关系 操作系统为每个进程都建立一张页表 在这里插入图片描述 在这里插入图片描述 举例: 在这里插入图片描述 在这里插入图片描述

基本地址变换机构(图片示意图)(页表寄存器,各种计算页表页表项)

越界中断:页号》=页表长度 在这里插入图片描述 在这里插入图片描述

具有快表的地址变换机构 局部性原理(时间、空间)

在这里插入图片描述

快表(TLB)(存放在更高速的存储器)(CACHE?)

若快表命中,则只需要访问一次内存;若未命中,则需要两次 查询快表的速度要比查询内存的速度快,最近使用过的页表项会放入快表,存放的是页表中的副本内容 如果首次查询的页表项(快表中没有),则需要查询内存(慢表) 如果重复查询(此时快表中有记录),则不需要再查询内存 在这里插入图片描述

在这里插入图片描述

通过快表的地址变换过程

在这里插入图片描述 在这里插入图片描述

两级页表

解决了单级页表存在的两个问题 在这里插入图片描述

基本分段存储管理方式

在这里插入图片描述

分段

在这里插入图片描述 在这里插入图片描述

段表(段映射表,类似于页表)

段表记录了各个逻辑段在内存中的存放位置(逻辑地址到物理地址的映射关系)。页表建立了各个逻辑页面到实际的物理页框之间的关系 页式管理中每个页的页长是等大的,在分段管理中每个段的段长不同 同理页表:段表中段号即使不显式的给出,也可以自行计算出 在这里插入图片描述

地址变换及其示意图

在这里插入图片描述

在这里插入图片描述

分页、分段管理对比

总: 在这里插入图片描述 在这里插入图片描述 分: 在这里插入图片描述 不属于临界资源的代码可以共享的访问同一个段 在这里插入图片描述

在这里插入图片描述 基本分段存储管理方式小结 在这里插入图片描述

段页式管理方式

简单来说:分段后再分页 段页式管理中:段表内容与段式管理不同,页表内容与页式管理相同

根据段号找到页表存放位置,然后根据找到的页表的内容找到相应的内存块号

段页式管理示意图

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

段页式管理逻辑地址结构

在这里插入图片描述

段页式管理小结

在这里插入图片描述

虚拟内存

在这里插入图片描述#### 传统存储管理方式特征、缺点 在这里插入图片描述

虚拟内存基本概念

操作系统的虚拟性:实际的物理内存大小没有变,只是在逻辑上进行了扩充 在这里插入图片描述

虚拟内存技术的实现

在这里插入图片描述

虚拟内存基本概念小结

在这里插入图片描述

请求分页管理方式

在这里插入图片描述

请求分页管理方式的页表(页表有修改)

在这里插入图片描述

缺页中断机构

在这里插入图片描述 在这里插入图片描述

请求分页管理与基本分页管理地址变换时的区别

在这里插入图片描述

地址变换示意图

在这里插入图片描述 在这里插入图片描述

请求分页管理方式小结(与基本分页对比着记忆)

在这里插入图片描述

页面置换算法

当系统空间不够而需要将无用信息换出外存时,决定换出哪个页面的算法 在这里插入图片描述

最佳置换算法(OPT,Optimal)

打钩的:发生缺页中断。例题中9次 页面置换:内存满了时,将无用页面换出去了,将需要的页面调入。例题中6次 前面3次打钩的虽然发生了缺页(内存块中没有想要的,需调入内存),但并没有发生页面置换(并未换出无用的页) 在这里插入图片描述 在这里插入图片描述

先进先出置换算法(FIFO)

在这里插入图片描述 在这里插入图片描述

最近最久未使用置换算法(LRU)

在这里插入图片描述

时钟置换算法(CLOCK)(最近未用算法)(NRU)

类似于时针转圈,为各个页面设置一个访问位 每次选择淘汰访问位为0的页面 最多进行两轮扫描 在这里插入图片描述

改进型的时钟置换算法

最多进行四轮扫描,刑如(访问位,修改位)的形式表示各页面状态 在这里插入图片描述

页面置换算法小结

在这里插入图片描述

页面分配策略

在这里插入图片描述

页面分配、置换策略 驻留集、(固定、可变)分配、(局部、全局)置换

在这里插入图片描述 在这里插入图片描述

何时调入页面

预调页:一次调入若干页面(运行前调入) 请求调页策略: 在这里插入图片描述

从何处调入页面

在这里插入图片描述

抖动(颠簸)现象

刚换出的页面马上又要换入内存,刚换入又马上换出 在这里插入图片描述

工作集(和驻留集)

在这里插入图片描述

页面分配策略小结

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3