大作业用先进先出(FIFO)页面调度算法处理缺页中断
大作业用先进先出(FIFO)页面调度算法处理缺页中断

实验四 用先进先出(FIFO )页面调度算法处理缺页中断1.实验目的深入了解页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理中如何处理缺页中断。
2.实验预备知识页式存储管理中的地址转换的方法;页式虚拟存储的缺页中断处理方法。
3.实验内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。
实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所作工作进程测试。
假定主存64KB ,每个主存块1024字节,作业最大支持到64KB ,系统中每个作业分得主存块4块。
4.提示与讲解页式存储管理中地址转换过程很简单,假定主存块的大小为2n 字节,主存大小为2m'字节和逻辑地址m 位,则进行地址转换时,首先从逻辑地址中的高m-n 位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n 位,最后从逻辑地址中取得低n 位放入物理地址的低n 位就得到了物理地址,过程如图1所示。
图1 页式存储管理系统地址转换示意图地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程图如图2所示(实验中假定主存64KB ,每个主存块1024字节,逻辑地址即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB,即m=16,逻辑地址中页号6位、页内地址10位)。
在页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页面装入主存储器,作业执行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中断”,由操作系统把当前所需的页面装入主存储器后,再次执行时才可以按上述方法进行地址转换。
页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。
国家开放大学《操作系统》形考任务(应用题)参考答案

国家开放大学《操作系统》形考任务(应用题)参考答案1.用如图所示的进程状态转换图能够说明有关处理机管理的大量内容。
图进程状态转换图试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?参考答案:①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。
运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。
阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。
②下述状态变迁:(A)2→1:可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2:不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再由运行态变为就绪态。
(C)4→1:可以。
某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
2.系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。
参考答案:因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。
设三个进程分别为A、B和C。
设一个互斥信号量mutex,其初值为1。
3.判断下列同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
①设A,B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图左侧所示。
②设A,B为两个并发进程,它们共享一个临界资源。
其运行临界区的算法框图如图右侧所示。
参考答案:①这个算法不对。
因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
改正:A、B两进程要同步使用缓冲区Q。
操作系统期末试题及答案

(答案在后面)一、 填空题(每空1分,共10分)1. 常见的I/O 控制方式有程序I/O 方式、 中断 I/O 控制方式、 DMA I/O 控制方式和 通道 I/O 控制方式四种。
2. 操作系统向用户提供的两个基本接口是 程序 接口和 用户 接口。
3. 若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,逻辑地址(3082)10转化得到的物理地址是 6154 . 4. 具有多路性、独立性、及时性和交互性特征的操作系统是 分时操作系统.5. 通道用于控制 设备控制器 与内存之间的信息交换。
6. 事务的最基本特性是. 7. 若盘块大小为4KB ,每个盘块号占4字节,在采用两级索引时允许的最大文件长度为 4GB 。
二、单选题(每题2分,共20分)1. 用磁带作为文件存贮介质时,文件只能组织成( )。
A. 顺序文件B. 链接文件 C 。
索引文件D. 目录文件2. 一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,则其响应比是( C )。
A. 2B. 1C. 3D. 0。
5 3. 文件系统采用多级目录结构后,对于不同用户的文件,其文件名( C )。
A 。
应该相同 B. 应该不同 C. 可以相同,也可以不同 D 。
受系统约束 4. 死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。
下列方法中破坏了“循环等待”条件的是( D ). A 。
银行家算法 B. 一次性分配策略 C. 剥夺资源法 D 。
资源有序分配法 5. 进程状态从就绪态到运行态的转化工作是由(B )完成的。
A 。
作业调度B 。
进程调度 C. 页面调度 D 。
设备调度 6. 采用缓冲技术的主要目的是(C )。
A. 改善用户编程环境 B 。
提高CPU 的处理速度 C. 提高CPU 和设备间的并行程度 D 。
实现与设备无关性 7. 目录文件所存放的信息是( D )。
操作系统第二次作业答案

操作系统第二次作业一、选择题1.虚拟存储器的容量是由计算机的地址结构决定的,若CPU有32位地址,则它的虚拟地址空间为【A】。
A.4G B.2G C.64K D.100K2.在请求分页存储管理方案中,若某用户空间为3个页面,页长1KB,现有页表如下,则逻辑地址1800。
A.1052 B.3124 C.1076 D.58963.【 A】用于管理各种不同的真实文件系统,是真实文件系统与服务之间的接口。
A.VFSB.Ext2C. vfatD.JFS4.用磁带作为文件存贮介质时,文件只能组织成【 A】A.顺序文件B.链接文件C.索引文件D.目录文件5.按数据组织分类,【 B】是以字节为单位直接读写的设备。
A.块设备B.字符设备C.网络设备 D.虚拟设备6.在现代操作系统中采用缓冲技术的主要目的是【 C】。
A.改善用户编程环境 B.提高CPU的处理速度C.提高CPU和设备之间的并行程度 D.实现与设备无关性7.【 D】是将大量计算机通过网络连接在一起,以获得极高的运算能力和数据共享的系统。
A. 实时系统B.分时系统C. 网络系统D.分布系统式8.若一个文件的访问控制权限值为0754,请问同组用户对该文件具有【 C】权限。
A. 可读B.可读可写C. 可读可执行D.没有权限9.操作系统的安全问题中【 D】是绕过安全性控制、获取对程序或系统访问权的程序方法。
A.木马B.病毒C.蠕虫D.后门10.虚拟存储器的最大容量是由【B】决定的。
A.页表长度B.计算机系统的地址结构和外存空间C.内存空间D.逻辑空间11.在请求分页存储管理方案中,若某用户空间为3个页面,页长1KB,现有页表如下,则逻辑地址2100。
A.1052 B.3124 C.1076 D.529612.下面的【 B】不是文件的物理存储结构。
A. 索引文件B.记录式文件C. 顺序文件D.链接文件13.从用户的角度看,引入文件系统的主要目的是【C】。
A. 实现虚拟存储B.保存文件系统C. 实现对文件的按名存取D.保存用户和系统的文档14.使用SPOOLing系统的目的是为了提高【D】的使用效率。
答案_实验五 存储管理(二)

实验五存储管理(二)学号:姓名:班级:实验目的:1. 了解虚拟存储器。
2. 掌握分页存储管理的原理,熟悉段式存储和段页式存储管理。
3. 掌握常用的页面置换算法。
实验内容:一、选择:1.可变分区方式常用的主存分配算法中,(C)总是找到能满足作业要求的最大空闲区分配A、最佳适应算法B、首次适应算法C、最坏适应算法D、循环首次适应算法2.下列(A )存储方式不能实现虚拟存储器A、分区B、页式C、段式D、段页式3.操作系统处理缺页中断时,选择一种好的调度算法对主存和辅存中的信息进行高效调度尽可能地避免(D)A、碎片B、CPU空闲C、多重中断D、抖动4.分页式存储管理的主要特点是(C)A、要求处理缺页中断B、要求扩充主存容量C、不要求作业装入到主存的连续区域D、不要求作业全部同时装人主存5.LRU页面调度算法淘汰(B)的页A、最近最少使用B、最近最久未使用C、最先进入主存D、将来最久使用6.分区管理要求对每一个作业都分配(A)的主存单元A、地址连续B、若干地址不连续的C、若干连续的页D、若干不连续的帧7.在存储管理中,采用覆盖与交换技术的目的是(A)A、节省主存空间B、物理上扩充主存容量C、提高CPU的效率D、实现主存共享8.分页虚拟存储管理中,缺页中断时,欲调度一页进入主存中,内存己无空闲块,如何决定淘汰已在主存的块时,(B)的选择是很重要的A、地址变换B、页面调度算法C、对换方式D、覆盖技术9.(D)存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点A、分段B、分页C、可变分区方式D、段页式10.在固定分区分配中,每个分区的大小是(C)A、随作业长度变化B、相同C、可以不同但预先固定D、可以不同但根据作业长度固定11.下述(B)页面置换算法会产生Belady现象A、最佳置换算法B、先进先出算法C、LRU算法D、Clock算法12.在一个分页式存储管理系统中,页表的内容为:若页的大小为4KB,则地址转换机构将相对地址0转换成的物理地址是(A)。
作业调度

作业调度:从输入井中选中后备作业装入主存储器的过程,称为作业调度进程调度:从就绪队列中选中一个进程占用处理器运行作业调度的必要条件:系统现有尚未分配的资源可以满足被选中作业的资源要求。
作业调度算法的原则:公平性、平衡资源使用、极大的流量作业调度算法1、先来先服务算法按照作业进入输入井的先后次序来挑选作业,进入的作业优先被选中。
但是要注意,不是先进入的一定被选中,只有满足“必要条件”的作业才可能被选中。
一个先进入的作业,如果它所需要的资源或其中一部分资源已被在它先前的作业占用且尚未归还,那么这个作业将被推迟,而去选择在它之后进入的资源能满足的作业。
一旦有作业执行结束归还了资源后,作业调度再次选择作业时,仍要按照进入输入井的次序去挑选,刚刚被推迟的作业有可能被优先选中。
例子:假设用户使用的主存空间为100KB,作业调度和进程调度均采用先来先服务算法,进入输入井时间如下表:当作业调度是,A,B作业首先依次被选中装入主存,但作业C到达输入井后,由于不能满足它对主存量的要求,只能让它在输入井中等待,对随后到达输入井的作业D和E,作业D的主存需求可以得到满足,于是选中D装入主存。
于是A,B,C 总共占用85KB主存,还剩余15KB的空闲区,不够装入作业E,因此C,E均被推迟,在输入井中等待。
随后A被执行完,释放了15KB的主存,目前存储器有两个15KB的空闲区,仍不能装入C或E。
随后在11.3刻时间,B执行完,释放60K 的主存空间和A作业释放的15KB合并后成75KB的空闲区。
满足C和E的需求,因此C,E在11.3刻同时被装入主存。
优点:算法简单容易实现,具有一定的公平性缺点计算时间短的作业可能周转时间很长,从而增加了系统平均周转时间,降低了系统的吞吐率2、计算时间短的作业优先算法作业调度根据在输入井中的作业提出的计算时间为标准,优先选择计算时间短且资源能得到满足的作业。
由于作业是依次进入输入井的,所以该算法仍将像先来先服务算法一样,会依次把作业A,B,D先装入主存,调度进程按装入的次序让他们依次占用处理器。
操作系统习题及答案四

四、计算题1、某虚拟存储器的用户编程空间共32个页面,每页为1KB ,内存为16KB 。
假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。
1.解:页式存储管理的逻辑地址分为两部分:页号和页内地址。
由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。
由“内存为16KB”,可知有16块,块号为4位。
逻辑地址0A5C (H )所对应的二进制表示形式是:000 1010 0101 1100,根据上面的分析,下划线部分为页内地址,编码 “000 10” 为页号,表示该逻辑地址对应的页号为2。
查页表,得到物理块号是11(十进制),即物理块地址为:10 11,拼接块内地址10 0101 1100,得10 1110 0101 1100,即2E5C (H )。
2、对于如下的页面访问序列:1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5当内存块数量为3时,试问:使用FIFO 、LRU 置换算法产生的缺页中断是多少?写出依次产生缺页中断后应淘汰的页。
(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断。
要求写出计算步骤。
) 2.解:采用先进先出(FIFO )调度算法,页面调度过程如下:页面次序主存 页面 情况共产生缺页中断9次。
依次淘汰的页是1、2、3、4、1、2。
采用最近最少使用(LRU )调度算法,页面调度过程如下: 共产生缺页中断10次。
依次淘汰的页是1、2、3、4、5、1、2。
3、下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。
现有以下作业序列:96K 、20K 、200K 。
若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的请求,为什么?空闲分区表页面次序1 2 3 4 1 2 5 1 2 3 4 5 主存 页面 情况3.解:若采用最佳适应算法,在申请96K 存储区时,选中的是5号分区,5号分区大小 与申请空间大d,-致,应从空闲分区表中删去该表项;接着申请20K 时,选中1号分区,分配后1号分区还剩下12K ;最后申请200K ,选中4号分区,分配后剩下18K 。
操作系统实验六-虚拟存储器实验报告

实验六虚拟存储器一、实验内容模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。
二、实验目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。
用这种办法扩充的主存储器称为虚拟存储器。
通过本实验帮助同学理解在分页式存储管理中怎样实现虚拟存储器。
三、实验题目本实验有三道题目,其中第一题必做,第二,三题中可任选一个。
第一题:模拟分页式存储管理中硬件的地址转换和产生缺页中断。
[提示](1)分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。
为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:其中,标志----用来表示对应页是否已经装入主存,标志位=1,则表示该页已经在主存,标志位=0,则表示该页尚未装入主存。
主存块号----用来表示已经装入主存的页所占的块号。
在磁盘上的位置----用来指出作业副本的每一页被存放在磁盘上的位置。
(2)作业执行时,指令中的逻辑地址指出了参加运算的操作存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式:绝对地址=块号×块长+单元号计算出欲访问的主存单元地址。
如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。
若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,有操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。
(3)设计一个“地址转换”程序来模拟硬件的地址转换工作。
当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。
当访问的页不在主存时,则输出“* 该页页号”,表示产生了一次缺页中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 用先进先出(FIFO )页面调度算法处理缺页中断
1.实验目的
深入了解页式存储管理如何实现地址转换;
进一步认识页式虚拟存储管理中如何处理缺页中断。
2.实验预备知识
页式存储管理中的地址转换的方法;
页式虚拟存储的缺页中断处理方法。
3.实验内容
编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。
实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所作工作进程测试。
假定主存64KB ,每个主存块1024字节,作业最大支持到64KB ,系统中每个作业分得主存块4块。
4.提示与讲解
页式存储管理中地址转换过程很简单,假定主存块的大小为2n 字节,主存大小为2m'字节和逻辑地址m 位,则进行地址转换时,首先从逻辑地址中的高m-n 位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n 位,最后从逻辑地址中取得低n 位放入物理地址的低n 位就得到了物理地址,过程如图1所示。
图1 页式存储管理系统地址转换示意图
地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程图如图2所示(实验中假定主存64KB ,每个主存块1024字节,
逻辑地址
即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB,即m=16,逻辑地址中页号6位、页内地址10位)。
在页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页面装入主存储器,作业执行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中断”,由操作系统把当前所需的页面装入主存储器后,再次执行时才可以按上述方法进行地址转换。
页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。
这样,在实验中页表格式如图2所示。
页表用数组模拟,在实验中页表数据结构定义为(同学们可自行定义其它功能等价的结构):
define n 32 /*实验中假定的页表长度,页表的长度实际上是由系统按照作业长度决定的*/
struct
{int lnumber; /*页号*/
int flag; /*表示该页是否在主存,“1”表示在主存,“0”表示不在主存*/
int pnumber; /*该页所在主存块的块号*/
int write; /*该页是否被修改过,“1”表示修改过,“0”表示没有修改过*/
int dnumber; /*该页存放在磁盘上的位置,即磁盘块号*/ }page[n]; /*页表定义*/
图2 模拟地址转换的流程图
缺页处理过程简单阐述如下:
①根据当前执行指令中逻辑地址中的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,形成缺页中断。
中断装置通过交换PSW让操作系统的中断处理程序占用处理器;
②操作系统处理缺页中断的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,把它暂时调出主存。
若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回;
③找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2步找到的主存块,修改页表中该页的标志为“1”;
④由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。
当重新执行该指令时,由于要访问的页面已在主存中,所以可正常执行。
关于第②步的查找装入新页面的主存块的处理方式,不同系统采用的策略可能有所不同,这里采用局部置换算法,就是每个作业分得一定的主存块,只能在分得的主存块内查找空闲块,若无空闲主存块,则从该作业中选择一个页面淘汰出主存。
实验中使用局部置换算法。
使用局部置换算法时,存在这样一个问题:就是在分配给作业主存空间时,装入哪些页?有的系统采取不装入任何一页,当执行过程中需要时才将其调入。
有的系统采用页面预置的方法,就是估计可能某些页面会先用到,在分配主存块后将这些页面装入。
实验中,采用第二种方法,分配主存空间时将前几页调入主存,假定系统中每个作业分得主存块m(m=4)块,则将第0~m-1页装入主存。
因为是模拟硬件工作,所以实验中如果访问的页不在主存时,则输出该页页号,表示硬件产生缺页中断,然后直接转去缺页中断处理;由于采用页面预置方法,在给定的主存块中一定无空闲块,只能淘汰已在主存的一页;没有启动磁盘的工作,淘汰的页需要写回磁盘时,用输出页号表示,调入新的一页时,将该页在页表中的存在标志置为“1”,输出页号表示将该页调入主存。
图3 采用先进先出页面置换算法的缺页中断流程图
主存中无空闲块时,为装入一个页面,必须按某种算法从已在主存的页中选择一页,将它暂时调出主存,让出主存空间,用来存放需装入的页面,这个工作称为“页面调度”。
如何选择调出的页是很重要的,常用的页面调度算法有先进先出算法、最近最少用算法和最近最不常用算法。
实验中使用先进先出调度算法。
先进先出调度算法总是选择驻留在主存时间最长的一页调出。
先进先出算法简单,易实现。
可以把在主存储器的页的页号按进入主存的先后次序排成队列,每次总是调出队首的页,当装入一个新页后,把新页的页号排入队尾。
实验中,用一个数组存放页号的队列。
假定分配给作业的主存块数为m,数组可由m个元素组成,p[0],p[1]……p[m-1];队首指针head;采用页面预置的方法,页号队列的长度总是m,tail等于(head+1)%m。
因此可以使用一个指针,只用head即可。
在装入一个新的页时,装入页和淘汰页同时执行,当装入一个新的页时,将其页号存入数组:
淘汰页的页号=p[head];
p[head]=新装入页的页号;
head=(head+1)%m;
实验中,采用先进先出页面置换算法的缺页中断流程图如图3所示。
图4一条指令执行的模拟流程图
实验执行一条指令时,不模拟指令的执行,只是考虑指令执行是否修改页面,若修改页面,则将该页的页表中修改标志为置“1”,然后输出转换后的物理地址,并输出物理地址来表示一条指令执行完成;如果访问的页不在主存时,则产生缺页中断,然后直接转去缺页中断处理,最后模拟中断返回,就是返回重新进行地址转换。
一条指令执行的模拟流程图如图4所示。
因为没有实际主存,所以在模拟程序中首先手工输入页表信息,创建该作业的页表;然后循环执行假定的指令,观察地址转换情况。
5. 实验报告的内容
(1)实验题目。
(2)程序中使用的数据结构及符号说明。
(3)编写一份源程序并附上注释。
(4)打印显示初始页表,每次调出(要调出一页时)和装入的页号以及执行最后一条指令后在主存中的页面号(即数组的值)。