计算机操作系统期末重点.docx
《计算机操作系统期末重点.docx》由会员分享,可在线阅读,更多相关《计算机操作系统期末重点.docx(28页珍藏版)》请在冰豆网上搜索。
计算机操作系统期末重点
第5章内存管理
•寄存器:
是存储容量有限的高速存储部件。
•特点
•位于CPU内。
•寄存器以名字标识,没有地址编号。
•作用
•可用来暂存指令、数据和地址
•分类
•通用寄存器
•指令指针寄存器
•标志寄存器
•段寄存器
•虚拟存储技术
使用户程序的大小和结构不受主存容量和结构的限制,即使在用户程序比实际主存容量还要大的情况下,程序也能正确运行。
5.2.1分区管理基本原理
固定分区管理
•固定分区是指系统在初始化时,将内存空间划分为若干个固定大小的区域
1.分区原则
(1)分区大小划分
•分区大小相等:
适合于多个相同程序的并发执行;
•分区大小不等:
多个小分区、适量的中等分区、少量的大分区。
根据程序的大小,分配当前空闲的、适当大小的分区。
(2)分区个数不变,大小不变
2、固定分区管理
•使用的数据结构:
分区状态表
•用于分配时查找未分配空间
动态分区管理
1.分区原则
•根据用户进程对内存的需求而划分:
•
(1)根据作业的大小动态地划分分区;
•
(2)各分区的大小是不定的;
•(3)内存中分区的数目也是不定的。
•问题:
各作业释放后的空间不连续,导致总的空闲空间很大却不能分配的情况发生。
易产生碎片(越分越小,直到成为小空闲区不能分配)。
•固定分区的分配与回收
•分配
•多作业队列:
将大小相近的作业放在同一个等待队列中。
•单作业队列:
所有作业放在一个等待队列中。
常见空闲区查找算法
•空闲区表的组织
•按空闲区大小的升序(或降序)组织;
•按空闲区首址升序(或降序)组织。
•查找算法:
以空闲区表组织的方法为基础,采用不同的方式选择空闲区。
•最佳匹配(最佳适应算法)
•首次匹配(首次适应算法)
•下次匹配(*)
•最坏匹配
•快速匹配(*)
1、最佳适应算法
•思想:
尽可能分配大小与请求相匹配的空闲区。
•组织方式:
空闲区表按空闲区大小从小到大组织。
•分配
•按申请的大小逐个与空闲区大小进行比较,找到与申请最接近的空闲区分配。
•缺点:
分割后的空闲区很小,直至无法使用,而造成浪费。
2、首次适应算法
•思想:
尽可能在低地址实施分配
•保留高地址部分的大空闲区。
•组织方式:
按空闲区首址从小到大组织
空闲区
分区管理的优缺点
•主要优点
•实现了多道程序共享内存;
•实现分区管理的系统设计相对简单,不需要更多的系统软硬件开销;
•实现存储保护的手段也比较简单。
•主要缺点
•内存利用不够充分。
系统中总有一部分内存空间得不到利用,存在碎片。
•内碎片:
指分配给作业的存储空间中未被利用的部分。
固定分区分配中存在。
•外碎片:
系统中无法利用的小存储块。
动态分区分配中存在。
•无法实现内存的扩充。
当进程的地址空间大于内存空间时,进程无法运行。
也即进程的地址空间受实际内存空间的限制。
(*)
•必须连续存放。
进程在内存中总是分配一块连续的存储空间,无法很好地利用碎片,虽然可以通过移动技术来整理内存空间,但代价较高。
(*)
•必须一次性将作业全部调入内存,若内存没有足够的空间,则等待。
(*)
•5.4页式管理
5.4.1页式管理的基本原理
页式管理的引入
•分区存储管理的主要问题是碎片问题。
•问题描述
在采用分区存储管理的系统中,会形成一些非常小的分区,最终这些非常小的分区不能被系统中的任何用户程序利用而浪费。
•问题产生原因
•作业要求分配的空间连续,主存有足够的空间但因不连续而不能分配
•解决问题的思路
•程序适应主存。
将程序分开存放—分页存储管理技术。
•分页的思想
•页(虚拟页):
程序地址空间分成大小相等的页面
•块(内存块、页块、页祯、内存页面):
把内存分成与页面大小相等的块。
•思想:
当一个用户程序装入内存时,针对每一页分配一个内存块。
一个作业的若干连续的页,可以分配到内存中若干不连续的块中。
1.内存页面分配与回收
•页式存储管理的数据结构
•
(1)页表:
页表包括用户程序空间的页面与内存块的对应关系。
页表每个进程至少一张。
•
(2)请求表:
表明各进程与其分页的页面之间的关联。
请求表整个系统一张。
•(3)存储页面表:
表示内存的分配情况。
存储页面表一个系统一张,可用位示图表示。
•图5.17位示图
•5.4.2静态页面管理
•2.分配算法
•利用页表、请求表、位示图进行分配。
3.页式地址变换
(1)虚地址(线性地址、逻辑地址)
(2)分页地址映射机制
•虚地址切分:
页号与页内位移
•划分页号和页内地址的依椐:
页的大小。
•2X=页大小,X即为页号的最低位
二进制表示虚地址
页号
页内位移
十六进制表示页号、页内位移
(3)地址变换
•使用二进制方法求物理地址
1将逻辑地址线性分割求出页号P和页内位移W:
•若逻辑地址以十六进制、八进制的形式给出,将逻辑地址转换成二进制;
•按页的大小分离出页号P和位移量W(低位部分是位移量,高位部分是页号);
2将位移量直接复制到内存地址寄存器的低位部分;
3以页号查页表,得到对应块号,将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地址。
•使用十进制方法求物理地址
•根据逻辑地址求出页号P和页内位移W;
•页号P=逻辑地址%页大小(%表示整除)
•页内位移W=逻辑地址mod页大小
•根据页号查页表得块号B;
•物理地址=块号B×页大小+页内位移W
•公式说明
•物理地址=块起始地址+块内位移W
•块起始地址=块长×块号
块长=页长
•块内位移=页内位移
【例】:
有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、A、5块,试将虚地址0AFEH,1ADDH转换成内存地址。
解:
求虚地址0AFEH的物理地址:
0000101011111110
P=1W=01011111110
MR=0100101011111110=4AFEH
求虚地址1ADDH的物理地址:
0001101011011101
P=3W=01011011101
MR=0010101011011101=2ADDH
【例】:
有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145,3412转换成内存地址。
解:
转换虚地址3412:
P=3412%2048=1
W=3412mod2048=1364
MR=9*2048+1364=19796
转换虚地址7145:
P=7145%2048=3
W=7145mod2048=1001
MR=5*2048+1001=11241
问题:
块号若为十六进制的字母表示,MR如何计算?
(十六进制转换成十进制)
例:
考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:
(1)逻辑地址至少需要多少二进制位表示?
(2)物理地址至少需要多少二进制位表示?
分析:
逻辑地址结构由两个部分组成:
前一部分表示该地址所在页面的页号P;
后一部分表示页内地址(页内位移)W。
物理地址中块号的地址位数决定了块的数量。
由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。
解:
因为页面数为8=2^3,故需要3位二进制数表示。
每页有1024个字节,1024=2^10,于是页内地址需要10位二进制数表示。
32个物理块,需要5位二进制数表示(32=2^5)。
(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。
(2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。
•物理地址计算
•有一系统采用页式存储管理,某个作业大小是4GB,页大小为4KB,依次装入内存的第6、5、3、2块,
•
(1)画出页表;
•
(2)试将虚地址5000,12000转换成内存地址。
•5.4.3动态页式管理(请求页式管理)
•复习:
5.3覆盖与交换技术
•实现内存扩充的方法:
•采用覆盖技术
•采用交换技术
•采用虚拟存储技术
•常用的虚拟存储技术
•请求分页存储管理
•请求分段存储管理
•请求段页式存储管理
•分页内存管理方式
•静态分页管理
•动态分页管理
•静态分页管理
•基本思想:
进程开始执行前,将全部页装入内存。
•动态分页管理(请求页式管理)
•基本思想:
进程开始执行前,只需装入即将运行的页面,然后根据需要载入其他页面。
•请求页式管理的调入策略
•预测调页:
分析预测,运行前调入
•系统根据作业运行的情况,预测哪些页将要运行,在其运行之前先行调入内存,这样在程序运行的过程中就不会出现缺页中断。
•缺点:
系统无法预计系统中作业的运行情况,难以实现。
•请求调页(请求分页):
缺页请求,运行时调入
•进程在执行的过程中,发现要执行的程序或处理的数据不在内存,向系统提出调入相应程序的请求,系统响应用户的请求将它所请求的页调入内存。
•请求页式管理的页表结构
•页表:
反映该页是否在内存,在外存的位置,在内存的时间的长短,是否需要回写等。
•页号:
•块号:
•中断位:
0表示该页在内存,1示该页不在内存(需要缺页中断)
•辅存地址:
该页在辅存的位置
•修改位:
0表示该页调入内存后没有修改,1表示页调入内存后修改过
•引用位:
0表示最近没有被访问,1表示最近被访问过
页号块号中断位辅存地址修改位引用位
请求分页的页表结构
……
•5.4.4请求页式管理的页面置换算法
•当要将辅存中的一页面并送入到全满的内存中时,必须把已在内存中的某一页淘汰掉。
用来选择淘汰哪一页的规则叫做置换算法,也称为淘汰算法。
•常用算法:
•先进先出算法FIFO:
淘汰先调入内存的页
•最久未使用淘汰算法LRU:
淘汰未被访问的页中时间最长的页
•最近未使用淘汰算法NUR:
淘汰第1个最近未被访问的页(淘汰页表中第一个访问位为0的页)
•最不经常使用页面淘汰算法(LFU):
淘汰那些到当前时间为止访问次数最少的页。
页表中增加一个访问记数器。
•最佳算法:
当要调入一新页而必须淘汰一旧页时,所淘汰的页是以后不再使用的,或者是以后相当长的时间内不会使用的。
这种算法是不可能的。
•页面淘汰算法优劣的衡量标准:
缺页中断率f’
•f’=f/a(a是总的页面访问次数,f是缺页中断次数)
【例】一个进程已分到4个页帧(块)(M=4),其页表如下表所示,当进程访问第4页时产生缺页中断,请分别用FIFO、LRU、NRU算法决定将哪一页淘汰?
是否需要回写?
页表:
页号页帧装入时间最近访问时间访问位修改位
206016101
1113016000
022616210
332016311
FIFO:
淘汰最先调入的页面(页帧为3的页)
∵修改位为1,∴要回写。
LRU:
淘汰最久未访问的页(页帧为1的页)
∵修改位为0,∴不要回写。
NRU:
淘汰最近未使用的页,淘汰第一个访问位为0的页(页帧为0的页)
∵修改位为1,∴要回写。
【例】对访问串:
1、2、3、4、1、2、5、1、2、3、4、5,指出在驻留集大小分别为3和4时,使用FIFO(先进先出)和LRU(最久未使用)置换算法的缺页率,结果说明了什么?
(设驻留集M表示分给该作业的内存块数)
分析:
解FIFO:
M=3f’=f/a=9/12=75%
M=4f’=10/12≈83%
LRU:
M=3f’=f/a=10/12≈83%
M=4f’=f/a=8/12≈67%
•Belady异常现象:
对于FIFO算法,有时会出现当M增加时缺页次数不是减少,反而增加的现象。
•补充:
抖动
•抖动
•主存和辅存之间的频繁的页面置换现象称为抖动,也称为颠簸,其导致系统效率急剧下降。
•产生抖动的原因:
•系统的淘汰算法不合理从而导致刚淘汰的页面马上又要访问的频繁的页面置换状态。
•系统在考虑置换算法时既要考虑有尽可能少的缺页率、置换算法的简单性、还要尽量避免系统抖动。
•5.5.1段式管理的基本原理
•段
•程序按逻辑上有完整意义的段来划分,称为逻辑段。
例如主程序、子程序、数据等都可各成一段。
每个段的大小可以不相等。
•逻辑地址
•程序中的逻辑地址由段号和段内位移两部分(二维)组成。
•段号
•将一个程序的所有逻辑段从0开始编号,称为段号。
•段内地址
•每一个逻辑段都是从0开始编址,称为段内地址。
•
段号S
段内位移W
程序逻辑地址—段式地址
•程序逻辑地址—段式地址
•第8章文件管理
•文件系统
•操作系统中负责管理和存取文件信息的软件。
•主要功能
•实现“按名存取”。
用户按照可见的文件逻辑结构提供的方式进行信息的加工和存取。
这种逻辑结构独立于物理存储设备,对用户透明,用户不必了解文件存取的物理细节,由文件系统进行文件名到文件存储设备物理地址的映射。
•对磁盘等外存空间进行统一管理。
用户创建文件时为其分配外存空间,用户删除或修改文件时回收或调整其外存空间,以提高外存空间的利用率。
•提供合适的文件物理结构。
文件在物理设备上的存放方式称为文件的物理结构,一个好的文件物理结构会给系统带来好的空间和时间利用率。
•完成对存放在存储设备上的文件信息的查找。
•提供用户接口。
如键盘命令、图形菜单、批处理和系统调用函数,均由文件系统提供。
•提供有关文件自身的服务,如文件的共享和保护以及文件完整性控制等。
•文件分类
•按文件性质和用途分类(*)
•按文件保护方式分类(*)
•按文件的逻辑存储结构分类
•有结构文件:
由若干个记录构成的文件,又称记录式文件;
•无结构文件:
由字符序列所构成的文件,又称为流式文件。
•按用户观点分类
•普通文件(常规文件):
是指系统中最一般组织格式的文件,一般是字符流组成的无结构文件;
•目录文件:
是由文件的目录信息构成的特殊文件,操作系统将目录也做成文件;
•特殊文件(设备驱动程序):
在UNIX或Linux操作系统中,所有的输入输出外部设备都被看作特殊文件便于统一管理。
•按存取的物理结构分类(详见后面章节)
Ø顺序(连续)文件:
Ø链接文件:
Ø索引文件:
Ø例:
Ø每个盘块大小为1KB,每个盘块号占4个字节,若采用一级索引方式,则在一个索引块中可存放多少个盘号?
若采用两级索引,则最多可存放的盘块数为多少?
允许的文件最大长度是多少?
Ø分析:
Ø两级索引:
见索引图
Ø文件长度:
共有N个盘块,每个盘块的大小M
Ø=N*M
Ø解:
Ø一级索引方式,盘块数=1KB/4B=256个
Ø两级索引,盘块数=256*256=64K个
Ø允许的文件最大长度=64K*1K=64MB
Ø文件目录的管理包括
Ø存储空间的有效利用
Ø快速搜索
Ø文件命名冲突
Ø文件共享
Ø8.5.1文件的组成
Ø文件包括两部分
Ø文件体
Ø文件说明(FCB文件控制块)
Ø基本信息
Ø文件名
Ø文件物理位置:
Ø文件结构:
指示文件的逻辑结构和物理结构。
Ø存取控制信息
Ø使用信息
Ø8.5.2文件目录
Ø文件目录:
一个文件的文件说明信息称为该文件的目录。
Ø分类:
一级目录、二级目录和多级目录
Ø一级目录
Ø思想:
把所有的文件都登记在一张目录表中,按文件名查找目录得到文件存放的地址。
Ø操作:
Ø建立一个新文件时就在文件目录中增加一个目录项;
Ø每当删去一个文件时就在文件目录中删去该文件的目录项。
Ø补充:
文件完整性
Ø定义:
是指文件的不失真性
Ø分类:
Ø物理上的完整性:
损坏存储设备
Ø逻辑上的完整性:
掉电
Ø保证文件完整性的措施:
转储(备份)
Ø周期性的全量转储
Ø周期性的增量转储
Ø周期性全量转储
Ø固定的时间周期:
如一周一次
Ø所有文件转存
Ø缺点
Ø由于是全量转储,因而需要消耗很多的系统时间。
Ø由于转储时间长而可能导致在转储过程中文件系统被迫停止工作。
Ø周期性增量转储
Ø固定的时间周期:
短周期,如一天一次
Ø发生变化部分
Ø为了确定哪些文件发生了改变,系统必须对文件进行跟踪,并标记那些更新了的文件,周期性地对做了标记的文件进行转储,转储后清除更新标记。
•第9章设备管理
•9.1.1设备的类别
•设备管理的对象:
外部设备
•按系统和用户分类
•系统设备,安装操作系统时就记载在系统中。
•例如显示器、键盘、鼠标器、光盘驱动器等。
•用户设备,通常由用户根据需要自行添加的。
•如打印机等。
•按输入输出传送方式分类
•块设备
•以块为单位进行数据传输。
•字符设备
•以字符为单位进行数据传输。
•按资源特点分类
•独占设备
•共享设备
•虚拟设备
•按设备使用特性分类
•存储设备
•用来存储信息的设备。
如磁盘等。
•I/O设备
•用来进行输入输出处理的设备。
如键盘、显示器等。
•设备控制器功能
•设备控制器与处理机的接口—信息存储及通信;
•设备控制器与设备的接口—连接设备;
•I/O逻辑—实现对设备的控制。
•接收处理机发出的I/O命令;
•对收到的命令进行译码;
•对收到的地址进行译码;
•根据所译出的命令对所选设备进行控制。
•通道是一个专管输入输出的硬件,又称I/O处理机。
•功能:
执行CPU发出的I/O指令,完成I/O操作。
•与一般处理机的不同:
•通道的指令类型单一。
通道能执行的命令主要局限于与I/O操作有关的指令;
•通道没有自己的存储器。
通道所执行的通道程序是放在主机的内存中的,与CPU共享内存。
•数据传输控制方式:
CPU与外设之间的数据传输。
•数据传输要解决的问题:
由谁来控制数据的传输?
传输过程出错如何处理?
传输结束如何通知CPU?
如何提高CPU与外设的并行度?
•数据传输控制方式分类
•程序查询方式
•中断方式
•DMA方式
•通道方式。
•程序查询方式
•用指令及循环测试控制CPU与外设之间的数据传送。
•数据传输过程如下图所示:
•优点:
程序查询方式实现简单,也无需硬件支持
•缺点:
•CPU的利用率极低。
CPU在绝大多数时间内都处于循环测试的忙等待状态。
•多台外设之间只能串行工作。
一段时间内CPU只能与一台外设交换数据。
•适用于CPU执行速度较慢且外设较少的系统。
•中断控制方式
•中断控制方式的引入
•程序查询方式CPU利用率低,需要不断查询,无法实现与外设并行工作
•解决方法:
与外设交换数据的过程中,CPU可以转进程调度,交换结束时再进行处理—中断控制方式
•中断控制方式以字节为单位进行数据传输。
•数据传输过程:
•缺点
•花费CPU的处理时间
•数据寄存器容量:
一字节
•数据寄存器满或空时将会产生中断请求信号,容量的关系使得中断频繁
•若系统中各种外设都采用中断方式进行数据传送,中断次数急剧增加,导致CPU无法及时响应,出现数据丢失现象。
DMA控制方式(DirectMemoryAccess直接存储器存取)的引入
•中断控制方式以字节为单位进行数据传输,若数据量大则导致中断频繁发生,CPU因频繁处理中断而使效率无法提高。
•解决方法:
交换过程无需CPU处理,外设与内存直接交换数据—DMA控制方式。
•特点
•块传送。
适用于块设备。
•直接传送。
内存与I/O设备间的数据传送在DMA控制器的控制之下完成,不需要CPU的任何中间干涉,仅在传送数据块的开始和结束时才需要CPU的干预。
DMA控制方式与中断控制方式的区别
•中断控制方式在每个数据传输完成后中断CPU一次,DMA方式是所有数据传输完成后中断CPU。
•中断控制方式的数据传输是在中断处理时由CPU控制完成,DMA方式是在DMA控制器的控制下完成。
•9.2.4通道控制方式
•通道控制方式的引入
•DMA方式对外设的管理和操作由CPU完成,外设种类多使得管理和控制复杂。
•解决方法:
使用专门用于I/O操作的硬件设备—通道。
•通道:
一个独立于CPU的专门实现I/O控制的处理机,它控制设备与内存直接进行数据交换。
•通道控制与DMA控制的比较
•相同:
设备与内存交换数据时无CPU干涉
•不同
•DMA:
数据的传送方向、存放数据的内存地址以及数据块的长度由CPU控制
•通道:
“CPU不干涉”更完全。
•9.4缓冲技术
•缓冲技术目的
•用来解决CPU与外设之间以及设备与设备之间速度不匹配的问题。
•解决系统中I/O负荷的不均衡问题。
•系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O,造成I/O负荷的不均匀。
•有效减少I/O次数,从而提高I/O速度。
•由于设备与CPU之间的数据传输方式是中断方式,采用缓冲技术能够将一批数据集中在一次中断中完成。
本应传输一个字符中断一次,但可将字符存于缓冲区,例如够100字符再中断一次。
•缓冲技术思想
•9.4.2缓冲的类型
•缓冲区物理介质:
内存
•缓冲技术类型
•单缓冲
•双缓冲
•多缓冲
•缓冲池
•双缓冲
•为输入、输出设备分配两个缓冲区
•输入数据
•输入设备:
输入缓冲区1,1满时输入缓冲区2
•进程:
取缓冲区1,1空时取缓冲区2;
•输出数据
•进程:
数据写入缓冲区1,1满时写入2
•输出设备:
取缓冲区1输出,1空时取2
•缓冲池
•缓冲池的组成
•三种基本缓冲区
•空缓冲区—空缓冲队列;
•装满输入数据的缓冲区—输入队列;
•装满输出数据的缓冲区—输出队列。
•四种辅助缓冲区
•用于收容输入数据的工作缓冲区—收容输入工作缓冲区;
•用于提取输入数据的工作缓冲区—提取输入工作缓冲区;
•用于收容输出数据的工作缓冲区—收容输出工作缓冲区;
•用于提取输出数据的工作缓冲区—提取输出工作缓冲区。
•缓冲池队列的管理任务
•空闲缓冲区的分配与回收
•输入输出队列及四种工作缓冲区管理
•虚拟设备
•复习
•设备类型
•独占设备:
指一段时间内只允许一个进程使用的设备。
该类设备分配给某进程后由进程独占,直至运行结束。
如打印机。
•共享设备:
指在一段时间内允许多个进程使用的设备。
如磁盘,若干个进程可交替地读取磁盘信息。
•虚拟设备:
指通过虚拟技术将独占设备改造成若干台共享设备,将这种经过虚拟技术改造的设备称为虚拟设备。
•磁盘组织与管理
(一)磁盘性能简述
•复习
•磁盘结构:
磁道、扇区
•访问磁盘操作
•移动磁头、扇区转动等待、读写操作
•磁盘信息存取时间
•寻道时间Ts。
磁头从当前位置移动到指定磁道上所经历的时间。
•旋转延迟时间Tr。
即指定扇区移动到磁头下面所经历的时间。
•传输时间Tt。
指把数据从磁盘读出,或向磁盘写入数据所经历的时间。
•
(二)磁盘调度
•磁盘调度:
按照一定的算法响应进程访问磁盘的请求。
•常用算法
•先来先服务算法
•最短寻道时间优先算法
•扫描算法
•循环扫描算法(*)
•N步扫描算法(*)
•电梯调度算法(*)
•先来先服务(FCFS)算法
•思想:
根据进程请求访问磁盘的先后次序进行调度。
•例:
当前磁头在53号柱面上执行输入输出操作,而等