计算机四级网络工程师-操作系统原理-第5章内存管理
文章目录
单选题
可变分区管理方案,看内存分配表
各类适应算法
下次适应算法
最优适应算法
最坏适应算法
首次适应算法,系统中剩余的最大空闲分区
这种题目一定要学习画图,画出变化趋势和具体数值
静态重定位中,从哪个单元获取操作数
第28题:在操作系统的存储系统中,程序装入时采用静态重定位方法。已知:第18号单元外有一条加法指令,该指令要求处第066号单外取得操作数1234。假设存储管理为程学分配的内存区域是众第800号开始,则加法指令将从哪一个单元获取操作数:答案——866
各类置换算法
置换算法 | 策略 |
---|---|
先进先出页面置换算法(FIFO) | 将驻留在内存中时间最长的一页调出 最先装入内存的一页调出 |
最近最少使用页面置换算法(LRU) | 最长时间未被使用过的页面 距离现在最长时间没有被访问的页面 |
最近最不常用页面置换算法(LFU) | 一段时间单页面被使用的次数多少选择 一段确定的周期T内,使用次数最少 |
最近未使用页面置换算法(NRU) | 在最近的一个**【时钟滴答】**中尽量置换一个没有被访问的和没有被修改过的页面 |
理想页面置换算法(OPT) | 以后不再需要的、或者在最长时间以后才会用到的页面 |
第二次机会页面置换算法 | 检查进入内存时间最久页面的R位,如果是0,则置换该页;如果是1,就将R位清0,并把该页面放到链表的尾端,修改其进入时间【重点就是会放到链表尾端,画图表时注意】 |
各类置换算法看内存分配情况表——实战
最近最少使用页面置换算法(LRU)
先进先出页面置换算法(FIFO)
最近最不常用页面置换算法(LFU)
最近未使用页面置换算法(NRU)
涉及计算【真题讲解】
页式管理存储
第60题:在分区管理方法中,假设程序A自60K处开始存放,到124K为止。若
采用基址奇存器和限长奇存器的方法进行存储保护,则限长奇存器中的值为()
解:64K(124K-60K)
第64题:页式存储诸管理方案中,若一个进程的虚拟地址空间为2GB,页面大小
为4KB,当用4字节表示物理页号时,页表需要占用多少个页面()。
解:512(2GB=2×1024×1024KB/4KB页面大小
第65题:在采用页式存储管理方案的系统中,逻辑地址用32位表示,内存分块
大小为2^10。则用户程序最多可划分成多少页()
解:232/210=2^22页
第66题快表命中率花费us计算
简单页式存储管理
问最大有多少个页面
m:地址的二进制表示个数
n:页内地址部分二进制占用位数
最大允许进程的页面数量:2^(m-n)
第71题:简单贞式存储管理方案中,若地址用22二进制表示,贞内地址部分占12个二进制位,则最大允许进程有多少个页面()。
解:1024个(2^(22-12))
第77题:页式存储诸管理方案中,若地址长度用4个字节表示,贞内地址部分占用24个二进制位,则最大允许进程看多少个页面()。
解:256个(2^(4字节*8-24=32-24=8)
问最大有多少字节
直接找系统采用的XX位二进制位表示逻辑地址
第 84题:某页式存储管理系统中内存按学节编址。若系统米用24位二进制位表示逻辑地址,贞内地址部分占用10个二进制位,则允许一个进程最大有多少学节?
解:2^24
第86题:某页式存储管理系统中内存按字节编址。若该系统采用32位二进制位
表示逻辑地址,贞内地址部分占用14个二进制位,则允许进程最大为多少学节?
解:2^32
问页表长度(页表项个数)
写保护中断
各个置换算法的缺页率(建议放弃这一题分,比较容易搞混,需要理解各个置换算法并画图表)
LRU页面置换算法
OPT最佳页面置换算法
八进制的计算(先八进制转换成二进制再计算)
虚拟页式存储管理(求偏移量题目)
重要提示:无论二进制还是十六进制,记得右对齐,左补零
题目直接给二进制,直接进行数位数偏移
题目直接给16进制,转换为二进制后进行数位数偏移
虚拟页式的有效位、修改位、访问位、保护位、禁止位
有效位 | 又称驻留位、存在位或中断位,表示页是在内存还是在外存 |
---|---|
修改位 | 表示该页在内存中是否被修改过。决定页面是否需要回写到外存 |
保护位 | 表示是否能有读/写/执行权限。 |
禁止位 | 表示采用内存映射I/O的机器中需要的位。 |
TIPS:其中访问位和修改位可以用来决定置换哪个页面(#新加一个页面,增改页面要用到)
单页存放整数变量个数和循环代码计算缺页次数
一般情况通解:两个循环次数相乘,除单页个数
(循环1*循环2)/单页整数变量个数
答案有整数×整数形式
使用快表和不使用快表相比较,求平均访问时间降低x%
需要直接记忆单选
FIFO:颠簸抖动、会出现**Belady
**现象,随着分配给进程的物理页面增加,缺页率增加
内存紧缩:将零碎的空闲区集中为一个大的空闲区;系统内存不足时
可变分区:满足多道程序设计且设计上最简单,需要采用移动技术解决碎片问题
每个进程得到处理机运行前,首先要部分装入内存
将多个目标程序装配成可运行的程序的过程称为链接
操作系统中,将逻辑地址转换为内存物理地址的过程称为(重定位)。
动态重定位:动态重定位是指在装入程序时,不进行地址转换,而是直接把程序装入内存中,程序在执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝对地址。改变了存放区域仍能正确执行。
静态重定位:在装入一个程序时,把程序中的指令地址和数据地址全部转换成绝对地址。
页式:不能采用移动技术解决碎片问题
系统内存不足时,操作系统采用内存覆盖和内外存交换;内存紧缩
首次适应算法:倾向于优先使用低地址空闲区的算法
进程交换:将暂时不用的进程代码、数据和部分进程控制块交换至磁盘
采用二级页表进行地址转换,需要访问3次内存:第一次一级索引;第二次二级索引;第三次访问该指令
虚拟存储空间大小的限制因素:计算机地址位宽(#想象成OS的64位和32位内存大小区别)
页式存储管理方案:逻辑地址连续,物理页面可以不相邻
“抖动现象”:页面置换算法不合理
实现虚拟页式存储管理的硬件基础:缺页中断机制
发生缺页中断后,首先:保留当前进程现场
快表(TLB)存放在高速缓存、当切换进程时,要刷新快表,对快表的查找是按内容并行进行的
多选题
管理空闲物理内存【五星重点题目,常考必考】:位示图表示法、空闲页面表、空闲块表(包括空闲块链表)#就记住 空闲2个字+位示图这3个字
需要直接记忆多选
在计算机系统中层次化的存储体系是由寄存器高速缓存、内存储器、硬盘存储器、磁带机和光盘存储器等装置构成的。
存在外部碎片:动态分区(可变分区)、段式
存在内部碎片:虚拟页式、段页式、固定分区
可以与虚拟存储技术结合使用:页式、段式、段页式
管理空闲物理内存【五星重点题目,常考必考】:位示图表示法、空闲页面表、空闲块表(包括空闲块链表)#就记住 空闲2个字+位示图这3个字
支持多道程序设计:可变分区存储管理、页式存储管理、固定分区存储管理、段页式存储管理
虚拟页式存储管理的现象:页面抖动(颠婆);Belady异常;缺页中断;页面写错误(缺页中断就会导致写错误)
以一个进程为单位分配一组连续的内存单元、进程的逻辑地址与内存存储区域都是连续的:固定分区;可变分区
可“扩充”内存容量的方案:虚拟页式、虚拟段式
实现地址变换涉及到的数据结构:空闲区表、页表、位图
可进行进程部分交换:页式、段式、段页式#和固定分区;可变分区,分开选,不是这两个就是前面三个,多选题
可将整个进程交换:固定分区、可变分区
内存分配表的组织方式主要有:位示图表、空闲页面表、空闲块表
实现虚拟页式存储管理需要以下的硬件支持:
(1)系统有容量足够大的外存:
(2)系统有一定容量的内存:
(3)最主要的是,硬件提供实现虚-实地址映射的机制:
(4)缺页中断处理机制
禁选——系统有高速缓存器
几个主要的页面置换算法
(1)先进先出页面置换算法(First-In First-Out,FIFO)
(2)最近最少使用页面置换算法(Least Recently Used,LRU)
(3)最近最不常用页面置换算法(Least Frequently Used,LFU)
(4)理想页面置换算法(OPT)(虽然是置换算法,但是只能作为衡量标准,
实现不了,所以不能用在实际的操作中)
(5)最近未使用页面置换算法(NRU)
(6)第二次机会页面置换算法
(7)时钟页面置换算法(Clock)
禁选——理想页面置换算法、公平页面置换算法
存储管理的主要任务:
(1)分配和回收物理内存空间
(2)实现存储共享
(3)实现存储保护
(4)“扩充”内存容量
地址转换方式:基址寄存器和地址转换线路组合方式、静态重定位、动态重定位
用于保护存储分区:设置界限寄存器、设置存储保护键
实现虚拟存储器需要以下的硬件支持:
(1)系统有容量足够大的外存
(2)系统有一定容量的内存;
(3)最主要的是,硬件提供实现虚-实地址映射的机制。
哪些单元可用于虚拟存储系统的交换单位:页、段
每个页表项中必须包含的:页框号;有效位;修改位;访问位
禁选——磁盘始址
从简单页式存储发展到虚拟页式存储,需要增加的信息:有效位(存在未);修改位;访问位(引用位)
判断一个页面是否以已调入内存,用到页表表项的那些位(驻留位;中断位)
进行页面置换时、当页面内容被修改后:访问位;修改位
虚拟页式存储管理系统中,可用的页面调入策略:请求调页;预先调页
虚拟地址到物理地址转换可能出现现象:快表未命中;缺页中断
加快虚拟页式存储管理系统中虚——实地址转换的速度:添加快表;以2的幂次方的页面长度分页(分页尺寸大小为2^n);增加联想寄存器;增加快表的容量;增加快表的读写速度