虚拟存储空间的大小受到计算机地址位宽因素限制。
页面置换算法
先进先出页面置换算法(FIFO)
思想:总是把最先装入内存的一页调出
会产生贝莱迪异常(Belady Anomaly)现象,分配给进程的物理页面数增加时,缺页次数反而增加
最近最少使用页面置换算法(LRU)
思想:选择距离现在最长时间内没有被访问的页面先调出
最近最不常用页面置换算法(LFU)
思想:根据在一段时间页面被访问次数最少的页面调出
理想页面置换算法(OPT)
思想:置换以后不需要或者最长时间后才需要用到的页面
最近未使用页面置换算法(NRU)
思想:随机地从类编号最小的非空类中挑选一个页面淘汰之
存储管理方法中存在外碎片
动态分区、段式
虚拟页式存储管理系统
每个页表项中必须包含的是页框号、有效位、修改位、访问位
虚拟页式,允许动态扩充内存容量
地址转换
重定位,将逻辑地址转换为内存物理地址的过程
动态重定位
其地址转换工作在每一条指令执行时刻完成
在装入程序时,不进行地址转换,而是把程序装入内存中,程序在执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝对地址。
静态重定位
在装入程序时,把程序中的指令地址和数据地址经过计算,全部转换成物理地址后再装入物理内存。
内存分区管理
内存紧缩:可以将零碎的空闲区集中为一个大的空闲区
可变分区
既可以满足多道程序设计且设计上又最简单
最先适配法
最先适配法是按顺序查找内存表,无论分配指针在哪,从头找到尾,找到第一个满足申请长度的空间进行分配。
下次适配法
是从上次分配的位置开始开始查找下一个满足要求的空闲区。
最佳适配法
总是查找到第一个满足要求的最小空间进行分配
最差适配法
最差适配法意思是首先找到最大的内存空间进行分配
页式存储管理方案
将内存按照一定的大小分页,每个分页都分配出去,但总存在最后一个分页装不满的情况,存在内部碎片问题,无法使用移动技术解决逻辑地址连续,物理页面可以不相邻不要求作业或进程的程序段和数据在内存中连续存放,从而有效地的解决了碎片问题。
动态页式管理提供了内存和外存统一管理的虚实实现方式,使用户可以利用的存储空间大大增加。
这既提高了主存的利用率,又有利于组织多道程序执行。
将内存等分成大小为2的幂次方的内存块,称为页框
系统将虚拟地址空间等分为若干页面,大小与页框相同
虚拟页面在物理空间上不要求连续存放
硬件机制实现逻辑地址到物理地址的动态转换
零碎知识
每个进程在得到处理机运行前,必须首先进行部分装入内存
当系统内存不足时,操作系统可以采取内存覆盖和内外存交换进行改善
进程交换是指将暂时不用的进程代码、数据和部分进程控制块交换至磁盘
管理空闲物理内存
空闲块链表、位示图
页表长度(页表项个数)=进程地址空间转换成逻辑地址长度,然后减去页面大小的位数,然后2的几次方
“固定分配,局部置换”
为每一个进程分配固定数目的内存页面
进程运行中出现缺页,只能在本进程的页面中进行置换
为每一个进程分配一定数目的内存页面(错误,固定数量表示整个运行期间都不会改变,一定数量表示后期可以增加页数)
可变分配,局部置换
进程中出现缺页,只能在本进程的页面中进行置换
进程运行中,期内存页面可以动态增长或减少
为每一个进程分配一定数目的内存页面
存储管理方案中,可进行进程部分交换
页式、段式、段页式
没有(固定分区和可变分区)
虚拟存储管理方案,发生抖动的现象原因
页面置换算法不合理
为了预防内存换页出现抖动
采用工作集算法
地址映射
地址映射通常是由硬件完成的
地址映射是将虚拟地址转换为物理地址
页表项的一些内容是硬件确定的
根据页表项的有效位确定所需的访问页面是否已经存在内存
快表
别名是TLB
当切换进程时,要刷新快表
快表存放在高速缓存中(不是寄存器)
对快表的查找是按内容并行进行的
存在外碎片的存储管理方式
动态分区
段式
为了保证操作系统中文件安全,采用方法
定时转存备份文件
设置文件访问控制列表
其他都是tm错的
为了提高内存利用率并减少内碎片,页面划分
与页表数量相关,可以找到平衡点
用于文件的存取控制和保护
存取控制矩阵
用户权限表
口令或密码
将多个目标程序装配成可运行的程序过程
链接
第二次机会页面置换算法