操作系统-存储管理_虚拟内存管理

news/2024/7/20 13:20:15 标签: 操作系统, 内存管理

本总结参考MOOC华中科技大学苏曙光老师的操作系统课程

1.页式虚拟内存管理概念

物理内存(即实内存)管理
在这里插入图片描述
虚拟内存目标
在这里插入图片描述
虚拟内存的实现思路:在程序运行时,只把当前必要的很小的一部分代码和数据装入内存中。其余代码和数据需要时再装入。不再运行的代码和数据及时从内存删除
程序运行的局部性
1,程序在一个有限的时间段内访问的代码和数据往往集中在有限的地址范围内;
2,把程序的一部分装入内存在较大概率上也足够让其运行一小段时间。
典型的虚拟内存管理方式:
1.页式存储管理;
2.段式存储管理;
3.段页式存储管理。

页式存储管理:把进程空间(虚拟)和内存空间划分成等大小的小片;
页和页框大小相等
进程的小片——页(虚拟页或页面)
内存的小片——页框(物理页)

在这里插入图片描述
内存装入和使用内存的原则:
内存以页框为单位分配使用;
进程以页为单位装入内存:
进程以页为单位装入内存——很灵活

2.页表和页式地址映射

页式系统中的地址
虚拟地址(VA)可以分解为页号P和页内偏移W
计算过程要懂
注意计算过程
页面映射表
记录页与页框之间的对应关系,也叫页表
即页表是记录页和页框之间的对应关系,通过它可以知道进程中对应的页在页框中对应的号码;
在这里插入图片描述
在这里插入图片描述
页式地址映射:
功能:虚拟地址->物理地址
过程(三步)
1.从VA中分离出页号P和页内偏移W
2.查页表:以P为索引值查页框号P’
3.计算物理地址MA:
MA = P’ * 页大小 + W

在这里插入图片描述

3.快表技术和页式共享技术

快表机制(Cache)
块表的概念:
慢表:页表放在内存中;
快表:页表放在Cache中;
快表的特点:
(1) 容量小,访问快,成本高;
(2) 快表是慢表的部分内容的复制;
(3) 地址映射时优先访问快表
若在快表中找到所需数据,则成为“命中”
没有命中,需要访问慢表,同时更新快表

(4)合理的页面调度策略能使快表具有较高命中率
快表机制下地址映射过程
在这里插入图片描述
没有快表执行访存命令时,总共需要访问几次内存?
最好情况:查询的页面在快表中,然后通过快表给出的地址直接访问内存。(1次)(只用访问物理地址)
最坏情况:查询的页面内不在快表中,需要访问内存得到需要访问页面的地址,然后更具地址再次访问内存的到数据。(2次)。(因为此时页表和物理地址都在内存中)
第一次是获取段表、页表里面的块号、页号算出物理地址;第二次访问物理地址得到数据。
假定CPU一次访问内存时间为1μs(微秒),访问快表时间忽略不计;如果快表的命中率为85%,那么一次内存读写的平均时间是多少,
1μs0.85 + 1μs0.15*2 = 1.15μs

页面共享
在这里插入图片描述
页面共享原理:在不同进程的页表中填上相同的页框号,即(物理存储位置相同)多个进程能访问相同的内存空间,从而实现页面共享。
共享页面在内存中只有一份真实存储,节省内存
在这里插入图片描述

4.缺页中断

**在Cache没有叫没有命中,主存中没有叫缺页**
页表扩充:即之前留下来的其他特性加上具体的内容;
带中断位的页表,扩充有中断位的辅存地址的页表
在这里插入图片描述
在这里插入图片描述
以上为两种扩充页表的方法;

缺页中断:
定义:在地址映射过程中,当所要访问的目的页不存在内存中时,则系统产生异常中断——缺页中断;
缺页中断处理程序:中断处理程序把所缺的页从页表之处的辅存地址调入内存的某个个页框中,并更新页表中该页对应的页框号以及中断位I为0;
缺页率
在这里插入图片描述
MMU:MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制,在较为简单的计算机体系结构中,负责总线的仲裁以及存储体切换(bank switching,尤其是在8位的系统上;

5.页面淘汰策略

淘汰策略:选择淘汰哪一页的规则称为淘汰策略
页面抖动:页面在内存和辅存之间频繁交换的现象,“抖动”会导致系统效率下降;
好的淘汰策略:具有较低的缺页率(高命中率);页面抖动较少。
常用的淘汰算法:
OPT:理论最佳,实践中无法实现
FIFO:淘汰在内存中停留时间最长的页面;
LRU:淘汰最长时间未被使用的页面;
LFU:选择到当前时间为止访问次数最少的页面。

6.缺页因素与页式系统缺点

缺页因素:淘汰算法,分配给进程的页框数,页本身的大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
页式系统的不足:
页面划分无逻辑含义;
页的共享不灵活
页内碎片;

段式存储管理

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


http://www.niftyadmin.cn/n/816935.html

相关文章

软件工程学习笔记——软件生存周期

软件的生存周期分为若干个阶段:可行性分析和项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动。 可信性分析与项目开发计划 这个阶段主要确定软件的开发目标及其可行性。必须要回答的问题是:要解决的问…

Java基本修饰符

java中的修饰符分为类修饰符&#xff0c;字段修饰符&#xff0c;方法修饰符。根据功能的不同&#xff0c;主要分为以下几种&#xff1a; *权限访问修饰符&#xff08;可以用来修饰类、方法和字段&#xff09; 适用范围<访问权限范围越小&#xff0c;安全性越高>访问权限 …

解决wireshark中npcap安装失败问题

自己在下载wireshark后&#xff0c;需要下载npcap&#xff0c;但是总是下载失败 用一下别人的图片把&#xff0c;自己的忘了截图了&#xff0c;我的电脑上也是这个问题&#xff0c;安装wireshark的时候&#xff0c;npcap安装失败&#xff0c;刚开始一直解决不了&#xff0c;然后…

互联网的组成_数据链路层

基本概念&#xff1a; 链路&#xff1a;从一个结点到相邻结点的一段物理线路(有线或无线)&#xff0c;而中间没有任何其他的交换节点。 数据链路&#xff1a;当需要在一条线路上传送数据时&#xff0c;除了必须有一套物理线路外&#xff0c;还必须有一些必要的通信协议来控制这…

UDP广播-缓冲区过小

上次介绍到了关于客户端实时刷新摄像头所识别的图片的一些方法&#xff0c;采用了了UDP广播的技术做处理。理论上是没有问题的&#xff0c;将客户端运行在不同电脑上也能很好的看到效果&#xff0c;运行日志也没看出啥问题&#xff0c;结果今天翻看日志的时候发现提示缓冲区异常…

互联网的组成_网络层

网络层的功能&#xff1a;路径的选择、数据的转发。 源主机到目的主机之间分组的透明传输&#xff08;之间可能经过很多节点&#xff09; 学习目标&#xff1a; 1.了解IP地址分类、理解IP层分组转发工作原理 2.掌握子网掩码和无分类编址的计算 1.结合电路交换与分组交换的特点…

svn提交的时候提示No space left on device

看到这个错误&#xff0c;第一个反应是磁盘空间满了&#xff1b;但 df 一看&#xff0c;每个分区的空间都还富余的很。从 munin 的监控图表上看 Filesystem usage 也很平稳&#xff0c;但下面的 Inode usage 就有问题了&#xff0c;其中一个分区的 usage 已经到了100%。赶紧跑到…

萌新吃鸡苟分时对人数分配的想法,求多解法,欢迎大佬们分享

事情是这样的,在某天吃鸡苟分又苟到了前五的时候,我趴在草丛里,突发奇想,有了如下的问题: 首先在和平精英里四人模式中,四人一组(当然可能有单人或者插进去的人机,这个不影响接下来的问题),每当剩下五队人的时候,游戏会提醒你已经胜利(即队伍进入了前五), 我突然好奇,在这个时…