请求页式存储管理中常用页面置换算法(优.选)
操作系统-第4章复习题答案
操作系统-第4章复习题答案操作系统第四章复习题⼀、选择题1、在可变式分区分配⽅案中,某⼀作业完成后系统收回其主存空间,并与相邻空闲区合并,为此修改空闲区表,造成空闲区数减⼀的情况是( D )。
A ⽆上邻空闲区,也⽆下邻空闲区B 有上邻空闲区,但⽆下邻空闲区C 有下邻空闲区,但⽆上邻空闲区D 有上邻空闲区,也有下邻空闲区2、分区式存储器管理⽅式,每个程序(B)。
A ⼀定在分区中连续,部分存放B ⼀定在分区中连续,整体存放C 可以在分区中不连续,整体存放D 可以在分区中连续,部分存放3、下列选项中对分段存储管理叙述正确的是(B)A 分段存储管理中每个段必须是⼤⼩相等的。
B 每⼀段必须是连续的存储区C 每⼀段不必是连续的存储区D 段间的存储区必须是连续的4、下列对重定位的叙述中,正确的选项是(B)。
A 经过静态重定位后,指令代码并不发⽣变化。
B 经过静态重定位后,数据地址和指令地址发⽣了变化C 经过动态重定位后,指令代码中的操作码和操作数地址都要发⽣变化。
D经过动态重定位后,数据地址发⽣了变化⽽指令地址没有发⽣变化。
5、虚拟存储器功能的管理⽅法包括(C)。
A 可变分区存储管理B 基本分页存储管理C 请求分段存储管理D 段页式存储管理6、虚拟存储器的最⼤容量(C)。
A 由作业的地址空间决定B 是任意的C 由计算机的地址结构决定的D 为内、外容量之和7、操作系统为( C )分配内存空间。
A线程B⾼速缓冲存储器(Cache)C 进程 D 块表8、下⾯的页⾯置换算法中会产⽣所谓Belady异常现象的是(B)。
A 最佳页⾯置换算法(OPT)B 先进先出页⾯置换算法(FIFO)C 最近最久未使⽤页⾯置换算法(LRU)D 最少使⽤页⾯置换算法(LFU)9、采⽤( B )不会产⽣内部碎⽚。
A 分页式存储管理B 分段式存储管理C 固定分区式存储管理D 段页式存储管理10、最佳适应算法的空闲区是(B)。
A 按⼤⼩递减顺序连在⼀起B按⼤⼩递增顺序连在⼀起C 按地址由⼩到⼤排列D 按地址由⼤到⼩排列11、在可变式分区存储管理中的拼接技术可以(A)。
虚拟存储器附答案
第五章虚拟存储器一、单项选择题1. 虚拟存储器的最大容量___。
*A. 为内外存容量之和 B. 由计算机的地址结构决定(((实际容量C. 是任意的D. 由作业的地址空间决定虚拟存储器是利用程序的局部性原理,一个作业在运行之前,没有必要全部装入内存,而只将当前要运行那部分页面或段装入便可以运行,其他部分放在外部存储器内,需要时再从外存调入内存中运行,首先它的容量必然受到外存容量的限制,其次寻址空间要受到计算机地址总线宽度限制。
最大容量(逻辑容量)收内外存容量之和决定,实际容量受地址结构决定。
2.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1﹑2﹑3﹑4﹑1﹑2﹑5﹑1﹑2﹑3﹑4﹑5﹑6时,将产生___次缺页中断。
(开始为空,内存中无页面,3块物理块一开始会发生三次缺页。
)A. 7B. 8C. 9D. 103. 实现虚拟存储器的目的是___.A.实现存储保护B.实现程序浮动C.扩充辅存容量D.扩充主存容量4. 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行___指令.(书本158页,(2)最后一句话)A.被中断的前一条B.被中断的C.被中断的后一条D.启动时的第一条5.在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数________。
(在最后一题做完后再作答)答案错误选择:DA.减少 B. 增加 C. 无影响 D. 可能增加也可能减少6. 虚拟存储管理系统的基础是程序的________理论.A. 局部性B. 全局性C. 动态性D.虚拟性7. 下述_______页面淘汰算法会产生Belady现象.A. 先进先出*B. 最近最少使用C. 最近不经常使用D. 最佳二. 填空题1. 假设某程序的页面访问序列为1.2.3.4.5. 2. 3. 1. 2. 3. 4. 5. 1. 2. 3. 4且开始执行时主存中没有页面,则在分配给该程序的物理块数是3 且采用FIFO方式时缺页次数是____13____; 在分配给程序的物理块数是4且采用FIFO方式时,缺页次数是___14______; 在分配给程序的物理块数是3且采用LRU方式时,缺页次数是______14____。
OS第4章 作业18192
OS第四章作业练习一、选择题1、在固定分区分配中,每个分区的大小是()。
A.相同B.随作业长度变化C.可以不同但预先固定D.可以不同但根据作业长度固定2、在可变分区分配中,首次适应算法的空闲区是()。
A.按地址递增顺序连在一起B.始端指针表指向最大空闲区C.按大小递增顺序连在一起D.寻找从最大空闲区开始3、在可变分区分配中,最佳适应算法的空闲区是()。
A.按大小递减顺序连在一起B.按大小递增顺序连在一起C.按地址由小到大排列D.按地址由大到小排列4、在动态分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是()。
A、无上邻空闲区,也无下邻空闲区B、有上邻空闲区,但无下邻空闲区C、有下邻空闲区,但无上邻空闲区D、有上邻空闲区,也有下邻空闲区5、设内存的分配情况如下图所示。
若要申请一块40K的内存空间,采用最佳适应算法,则所申请到的分区首址为()。
A.100K B.190K C.330K D.410K6、在分区分配方案中,需要执行紧凑操作的是()A、固定式分区B、可变式分区C、重定位式分区D、多重式分区7、在可重定位分区存储管理中的拼接技术可以()。
A 集中空闲区B 增加主存容量C 缩短访问周期D 加速地址转换8、采用页式存储管理的系统中,若逻辑地址用32位表示,其中12位表示页内地址,则地址空间最多允许()页。
A 232B 224C 220D 2129、很好地解决了“零头”问题的存储管理方法是()。
A.页式存储B.固定分区C.多重分区D.可变式分区10、联想寄存器在计算机系统中是用于()。
A、存储文件信息B、与主存交换信息C、地址变换D、存储通道程序11、采用()不会产生内部碎片。
A、固定式分区存储管理B、分段式存储管理C、分页式存储管理D、段页式存储管理12、段页式存储管理的实现原理是()。
A、用分段方法分配和管理物理存储空间,分页方法管理用户地址空间。
页式虚拟存储管理FIFO、LRU和OPT页面置换算法
目录1 需求分析 (2)1.1 目的和要求 (2)1.2 研究内容 (2)2 概要设计 (2)2.1 FIFO算法 (3)2.2 LRU算法 (3)2.3 OPT算法 (3)2.4 输入新的页面引用串 (3)3 详细设计 (4)3.1 FIFO(先进先出)页面置换算法: (4)3.2 LRU(最近最久未使用)置换算法: (4)3.3 OPT(最优页)置换算法 (4)4 测试 (5)5 运行结果 (5)6 课程设计总结 (9)7 参考文献 (10)8 附录:源程序清单 (10)1 需求分析1.1 目的和要求在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。
1.2 研究内容模拟实现页式虚拟存储管理的三种页面置换算法(FIFO(先进先出)、LRU (最近最久未使用)和OPT(最长时间不使用)),并通过比较性能得出结论。
前提:(1)页面分配采用固定分配局部置换。
(2)作业的页面走向和分得的物理块数预先指定。
可以从键盘输入也可以从文件读入。
(3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。
2 概要设计本程序主要划分为4个功能模块,分别是应用FIFO算法、应用LRU算法、应用OPT算法和页面引用串的插入。
1.1各模块之间的结构图2.1 FIFO 算法该模块的主要功能是对相应页面引用串进行处理,输出经过FIFO 算法处理之后的结果。
2.2 LRU 算法该模块的主要功功能是对相应的页面引用串进行处理,输出经过LRU 算法处理之后的结果。
2.3 OPT 算法该模块的主要功功能是对相应的页面引用串进行处理,输出经过OPT 算法处理之后的结果。
2.4 输入新的页面引用串该模块的主要功能是用户自己输入新的页面引用串,系统默认的字符串是0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,用户可以自定义全新的20个数字页面引用串。
请求页式管理的页面置换算法
实验报告课程:操作系统班级:成绩:指导教师:实验密级:预习程度:仪器组次:必修/选修:姓名:学号:实验日期:实验时间:实验序号:实验名称:访问实验二请求页式管理中的置换算法实验目的与要求:1.采用FIFO〔先进先出〕置换算法,发生缺页中断时,给出相应的字地址及页号,计算缺页中断率。
2.采用LFU〔最不经常使用〕置换算法,发生缺页中断时,给出相应的字地址及页号,计算缺页中断率。
实验仪器:名称型号数量微机1一、实验内容1.假设有一个用户进程P的地址空间为n〔n=60〕页,系统已在内存中给该进程分配有m〔m<n,m=8〕个页面,且该进程的第0、5、6页〔p0、p5、p6〕已经装入内存,页长为1K。
根据进程访问的字地址序列,采用不同的置换算法,分别计算缺页中断率。
2.进程依次要访问的字地址序列〔访问串〕,在0~1024*n-1〔0~61439〕中模拟随机发生,访问序列的随机生成规那么为:50%的字地址前向顺序增长,25%的字地址均匀分布在前地址〔低地址〕局部,25%的字地址均匀分布在后地址〔高地址〕局部,为了减少模拟次数,前向顺序递增产生的字地址如小于1024*n-51360927〕那么自动加512。
模拟访问串长度为100。
以n=60为例,字地址序列〔访问串〕的随机生成方法如下:〔1〕在[0,61439]之间随机产生起始字地址,当前访问的字地址记为k;〔2〕前向顺序递增产生的字地址为 k+1+512;〔3〕前地址〔低地址〕在[0,k-1]内随机产生;〔4〕后地址〔高地址〕在[k+1,61439]内随机产生;〔5〕重复顺序递增、前地址区间随机产生、后地址区间随机产生的过程,概率分别为:50%、25%、25%。
二、实验要求1.采用FIFO〔先进先出〕置换算法,发生缺页中断时,给出相应的字地址及页号,计算缺页中断率。
2.采用LFU〔最不经常使用〕置换算法,发生缺页中断时,给出相应的字地址及页号,计算缺页中断率。
作业二(存储管理)
作业二姓名学号班级一、单项选择题1.在存储管理方案中,D可与覆盖技术配合。
A.页式管理B.段式管理C.段页式管理D.可变分区管理2.在存储管理中,采用覆盖与交换技术的目的是A。
A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享3.动态重定位技术依赖于B。
A.重定位装入程序B.重定位寄存器C.地址机构D.目标程序4.虚拟存储器的最大容量B。
A.为内外存容量之和B.由计算机的地址结构决C.是任意的D.由作业的地址空间决定5.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出的页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生D次缺页中断。
A.7 B.8 C.9 D.106.在存储管理中很好地解决了“零头”问题的存储管理方法是D。
A.页式存储管理B.段式存储管理C.多重分区管理D.可变式分区管理7.系统“抖动”现象的发生是由A引起的。
A.置换算法选择不当B.交换的信息量过大C.内存容量不足D.请求页式管理方案8.在可变分区存储管理中使用拼接技术可以 A 。
A.集中空闲区B.增加主存容量C.缩短访问周期D.加速地址转换9.分区管理中采用“最佳适应”分配算法时,适合把空闲区按A次序登记在空闲区表中。
A.长度递增B.长度递减C.地址递增D.地址递减10.在固定分区分配中,每个分区的大小是A。
A.相同B.随作业长度变化C .可以不同但预先固定D .可以不同但根据作业长度固定11.设内存的分配情况如图5.7所示。
若要申请一块40K 字节的内存空间,若采用最佳 适应算法,则所得到的分区首址为 C 。
A 、100KB 、190K C 、330K D 、410K图5.7 内存分配情况12.实现虚拟存储器的目的是 D 。
A .实现存储保护 B .实现程序浮动 C .扩充辅存容量 D .扩充主存容量13.采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是 B 。
【安徽】13-14学年职高计算机专业存储器管理练习题(含答案)
2013-2014学年安徽省职高计算机专业存储器管理练习题一、选择题1、存储分配解决多道作业(A)的划分问题。
为了解决静态和动态存储分配,需采用地址重定位,即把(B)变换成(C),静态重定位由(D)实现,动态重定位由(E)实现。
A:①地址空间②符号名空间③主存空间④虚拟空间B、C:①页面地址②段地址③逻辑地址④物理地址⑤外存地址⑥设备地址D~E:①硬件地址变换机构②执行程序③汇编程序④连接装入程序⑤调试程序⑥编译程序⑦解释程序2、提高主存利用率主要是通过(A)功能实现的。
(A)的基本任务是为每道程序做(B);使每道程序能在不受干扰的环境下运行,主要是通过(C)功能实现的。
A、C:①主存分配②主存保护③地址映射④对换⑤主存扩充B:① 逻辑地址到物理地址的变换;② 内存与外存间的交换;③ 允许用户程序的地址空间大于内存空间;④ 分配内存3、由固定分区方式发展为分页存储管理方式的主要推动力是(A);由分页系统发展为分段系统,进而以发展为段页式系统的主要动力分别是(B)和(C)。
A~C:① 提高主存的利用率;② 提高系统的吞吐量;③ 满足用户需要;④ 更好地满足多道程序运行的需要;⑤ 既满足用户要求,又提高主存利用率。
4、静态重定位是在作业的(A)中进行的,动态重定位是在作业的(B)中进行的。
A、B:① 编译过程;② 装入过程;③ 修改过程;④ 执行过程5、在首次适应算法中,要求空闲分区按(A)顺序链接成空闲分区链在最佳适应算法中按(B)顺序链接成空闲分区链;在最坏适应算法中按(C)顺序链接成空闲分区链。
A~C:① 空闲区地址递增;② 空闲区首址递减;③ 空闲区大小递增;④ 空闲区大小递减。
6、回收内存时可能出现下述四种情况:⑴ 释放区与插入点前一分区F1相邻,此时应(A);⑵ 释放区与插入点后一分区F2相邻,此时,应(B);⑶ 释放区不与F1和F2相连,此时应(C)。
A~C:① 为回收区建立一分区表项,填上分区的大小和始址;② 以F1为分区的表项作为新表项且不做任何改变;③ 以F1为分区的表项作为新表项,修改新表项的大小;④ 以F2为分区的表项作为新表项,同时修改新表项的大小和始址。
全国自考操作系统(存储管理)模拟试卷1(题后含答案及解析)
全国自考操作系统(存储管理)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题 3. 填空题 4. 简答题 6. 判断题单项选择题1.根据作业在本次分配到的内存起始地址将目标代码装到指定内存地址中,并修改所有有关地址部分的值的方法称为_______方式。
A.固定定位B.静态重定位C.动态重定位D.单一连续重定位正确答案:B 涉及知识点:存储管理2.静态地址重定位的对象是_______。
A.源程序B.编译程序C.目标程序D.执行程序正确答案:C 涉及知识点:存储管理3.使用_______,目标程序可以不经过任何改动而装入主存直接执行。
A.静态重定位B.动态重定位C.编译或汇编D.连接程序正确答案:B 涉及知识点:存储管理4.在可变式分区存储管理中,当释放和回收一个空闲区时,造成空闲表项区数减1的情况是_______。
A.无上邻空闲区,也无下邻空闲区B.有上邻空闲区,但无下邻空闲区C.无上邻空闲区,但有下邻空闲区D.有上邻空闲区,也有下邻空闲区正确答案:D解析:在有上邻空闲区也有下邻空闲区的情况下,释放区和上、下邻空闲区合并成一块空闲区,故原先记录上、下邻空闲区的两个表项就只需要合并为一个表项记录新的大空闲区。
知识模块:存储管理5.在下列存储管理算法中,内存的分配和释放平均时间之和为最大的是_______。
A.首次适应法B.循环首次适应法C.最佳适应法D.最差适应法正确答案:C解析:最佳适应算法的分配算法的速度比首次适应法、循环首次适应法和最差适应算法差得多,如用链表实现,释放算法要在链表中找上、下邻空闲区,修改过或新加入的空闲区还要有序地插入到链表中。
知识模块:存储管理6.早期采用交换技术的目的是_______。
A.能运行更多的程序B.能运行更大的程序C.实现分时系统D.实现虚拟存储技术正确答案:A 涉及知识点:存储管理7.虚拟存储器技术的目的是_______。
A.实现存储保护B.实现程序浮动C.可运行更大更多的程序D.扩充主存容量正确答案:C 涉及知识点:存储管理8.在以下存储管理方案中,不适用于多道程序设计系统的是_______。
fifo 页面置换算法
fifo 页面置换算法页面置换算法是操作系统中一种重要的内存管理技术,用于决定当内存中某个时间点所包含的页面(即帧)数量大于物理内存容量时,应该淘汰哪个页面,以便为新的页面腾出空间。
FIFO (FirstInFirstOut,先进先出)页面置换算法是一种常见的算法,其基本思想是优先淘汰最先进入内存的页面。
一、算法原理FIFO页面置换算法的基本原理是,当需要为新的页面分配内存时,选择最早进入内存的页面进行淘汰。
这种算法的优点是实现简单,缺点是对频繁调用的页面影响较大,因为这些页面最先进入内存,所以被淘汰的可能性也较大。
但是它能够确保被淘汰的页面是最早进入内存的页面,因此它能够提供一定的公平性。
二、算法步骤FIFO页面置换算法的实施步骤如下:1.记录每个页面进入和离开内存的时间;2.当需要为新的页面分配内存时,比较该页面与其最先进入内存的时间;3.优先淘汰最先进入内存的页面;4.将新页面放入空出的帧中。
三、算法优缺点1.优点:a.实现简单,易于实现;b.在许多场景下能提供较好的性能;c.有利于保持页面的有序性。
2.缺点:a.频繁调用的页面被淘汰的可能性较大,可能导致频繁的页面加载和卸载操作;b.对于某些应用场景可能不够高效,因为一些页面可能长时间在内存中占据空间,而不会被频繁使用。
因此需要对其进行优化,以便在减少页面的浪费和提高系统性能之间找到平衡。
四、应用场景FIFO页面置换算法适用于各种操作系统和应用程序,包括但不限于Web服务器、数据库系统、桌面环境等。
它尤其适用于那些对响应速度要求较高且对内存使用效率要求不高的场景。
例如,一些网页浏览、邮件阅读等应用场景,由于页面加载频率较高,FIFO算法可能会影响性能。
五、总结总的来说,FIFO页面置换算法是一种简单易行的内存管理技术,但在实际应用中需要根据具体场景进行优化。
在实际操作中,需要根据应用的特点和需求选择合适的页面置换算法,以提高系统的性能和稳定性。
操作系统填空题全
一、填空题1.操作系统的基本功能包括_处理机管理、_存储器_管理、_设备__管理、_文件_管理。
除此之外还为用户使用操作系统提供了用户接口。
2.一个操作系统兼备了批处理、分时处理和实时处理操作系统三者或其中两者的功能,这样的操作系统称为_通用操作系统_。
3.操作系统是计算机系统中的一个___系统__软件,它控制和管理计算机系统中的__系统__资源。
4.实时系统应该具备的两个基本特征是:_实时性_和__可靠性_。
5.现代操作系统的两个最基本的特征是__并发性_和__共享性______。
6.按内存中同时运行的数目可以将批处理分成两类:_单道批处理_和___多道批处理___。
7.推动多道批处理系统形成和发展的主要动力是_不断提高计算机资源的利用率,而推动分时系统形成和发展的主要动力是方便用户_。
8.在操作系统中,不可中断执行的操作称为__原子操作___。
9.进程是由程序、数据和__PCB_组成的。
10.进程的同步是进程_直接_制约关系,进程的互斥是进程__间接____制约关系。
11.进程的基本特征有__动态_、__并发_、独立、异步及结构特征。
12.信号量的物理含义是当信号量值大于零时表示_有s个资源可用_;当信号量值小于零时,其绝对值表示_s等待队列中进程的个数______。
13.根据Bernstein 条件(程序能并发执行,且具有可再现性的条件),则如下4条语句中:S1:a:=x+yS2:b:=z+1S3:c:=a-bS4:w:=c+1S1和S2两条语句__可以_并发执行,S3和S4两条语句_不可以__并发执行。
(本小题填空时考虑:是否可以并发执行)14.一次只允许一个进程访问的资源称为__临界资源_;15.进程中访问临界资源的那段代码称为___临界区_____。
16.以下程序运行后,在内存中总共存在__4___个进程。
Main() {fork(); fork(); } n个fork语句有2的n次个进程17.对于信号量S只能通过_p(s),v(s)_操作进行,分别表示申请资源和释放资源。
操作系统阶段练习三
操作系统课程阶段练习三(第4章)一、选择题(单选)1、在固定分区分配中,每个分区的大小是(C )。
A.相同B.随作业大小变化C.可以不同但预先固定D.可以不同但根据作业大小固定2、在可变分区管理中,采用拼接技术的目的是(A )。
A.合并空闲区B.合并分配区C.增加主存容量D.便于地址转换3、在存储器管理中,采用覆盖和交换技术的目的是(C )。
A.实现主存共享B.物理上扩充主存C.节省内存空间D.提高CPU利用率4、解决主存碎片问题的存储器管理方案时(B )。
A.可变式分区B.分页管理C.分段管理D.单一连续管理5、系统发生抖动现象的原因是(A )。
A.淘汰算法选择不当B.交换的信息量过大C.内存容量不足D.存储器管理选择不当6、实施虚拟存储器管理的依据是程序的(A )。
A.局部性原理B.动态性原理C.并发性原理D.一致性7、实现虚拟存储器管理的目的是(B )。
A.扩充物理内存B.逻辑上扩充内存C.逻辑上扩充外存D.都不对8、在分页管理系统中,分页是由(B )完成的。
A.程序员B.硬件C.编译软件D.都不对9、作业中断经操作系统处理后,应该让其执行(B )指令。
A.被中断的前一条指令B.被中断的那条指令C.被中断的后一条指令D.启动时的那一条10、采用分段存储管理方式中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是(D )。
A.224B.28C.232D.21611、把作业地址空间中使用的逻辑地址变为内存中物理地址的过程称为(A )。
A.重定位B.物理化C.逻辑化D.加载12、首次适应算法的空闲区是按(A )连接在一起。
A.地址递增B.大小递增C.地址递减D.大小递减13、能很好解决“零头”问题的存储管理方法是(A )A.分页存储管理B.分段存储管理C.多重分区管理D.可变式分区存储管理14、在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生(D )次缺页中断。
计算机操作系统习题5参考答案
习题5参考答案Ⅰ问答题1. 存储管理的主要功能是什么?答:(1)主存空间的分配与回收。
系统按照一定的算法把某一空闲的存储空间分配给作业或进程;用户不需要时,及时回收,以供其它用户程序使用。
(2)地址转换(地址重定位)。
把作业地址空间中使用的逻辑地址转换成内存空间中的物理地址。
(3)主存空间的共享和保护。
可用的主存空间可由两个或多个进程共享。
同时要保护系统程序区不被用户有意或无意的侵犯,不允许用户程序读写不属于自己地址空间的数据,避免各道程序间相互干扰。
特别是当一道程序发生错误时,不至于影响其它程序的运行。
(4)主存空间的扩充。
使用虚拟存储或自动覆盖技术提供比实际内存更大的空间。
2. 指出逻辑地址与物理地址的不同点。
答:用户的源程序一旦编译之后,每个目标模块都以0为基地址进行编址,这种地址称为逻辑地址或相对地址。
为了便于CPU访问,内存中的每个物理存储单元都有一个编号,这个编号称为内存地址,即物理地址(也称绝对地址)。
3. 何谓地址转换(重定位)?有哪些方法可以实现地址转换?答:当作业运行时,不能用逻辑地址在内存中读取信息,必须把作业地址空间中使用的逻辑地址转换成内存空间中的物理地址,这种转换称为地址转换。
实现地址转换的方法有:静态地址转换和动态地址转换。
4. 简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?答:覆盖技术主要是指同一主存区可以被不同的程序段重复使用。
交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。
交换是由操作系统完成,用户并不知道。
操作系统按一定的策略采用“强占”和“礼让”的方法,把内存部分内容暂时放到硬盘交换区中。
覆盖是由用户控制,操作系统提供覆盖机制,用户给出该程序的覆盖结构。
覆盖机构将整个作业分为常驻和覆盖两部分。
子程序不会同时调入内存。
用户只要将最大的子程序作为覆盖区告诉系统即可。
操作系统题目(整理版)
问答题1、试比较作业和进程的区别。
答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。
作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。
一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。
而进程是已提交完毕的程序所执行过程的描述,足资源分配的基本单位。
其主要区别关系如下:(1)作业是用户向计算机提交任务的任务实体。
在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。
而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。
任一进程,只要它被创建,总有相应的部分存在于内存中。
(2)一个作业可由多个进程组成。
且必须至少由一个进程组成,但反过来不成立。
(3)作业的概念主要用在批处理系统中。
像Unix这样的分时系统中,则没有作业概念。
而进程的概念则用在几乎所有的多道程序系统中2.试比较进程和程序的区别。
答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。
(2)进程具有并行特征(独立性,异步性),程序则没有。
(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。
3.什么是线程?试述线程与进程的区别。
答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。
线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型。
其中用户级线程在用户态下执行,CPU调度算法和各线程优先级都由用户设置,与操作系统内核无关。
核心级线程的调度算法及线程优先级的控制权在操作系统内核。
混合型线程的控制权则在用户和操作系统内核二者。
线程与进程的主要区别有:(1)进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,但自己没有任何资源。
(2)以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。
操作系统自测题六(虚拟存储管理)
一、选择题1.页式虚拟存储管理的主要特点是__________A.不要求动态重定位B.不要求将作业同时全部装入主存的连续区域C.不要求进行缺页中断处理D.不要求进行页面置换2.设内存的容量为4MB,辅存的容量为40MB,计算机的地址线24位,则虚存的最大容量是___A.40MBB.4MB+40MBC.16MBD.24MB3.在请页式存储管理中,当所访问的页面不在内存时将产生缺页,缺页中断属于_____A.I/O中断B.内中断C.外中断D.程序中断4.虚拟存储管理策略可以_______A.扩大逻辑外存容量B.扩大物理外存容量C.扩大逻辑内存容量D.扩大物理内存容量5. 请段式存储管理系统的特点是___________A.不要求进行段的保护B.不要求将进程同时全部装入内存的连续区域C.不要求进行缺段中断处理D.不要求进行动态连接6.进程在执行过程中发生了缺页中断,操作系统处理后,应让其继续执行_________A.被中段的指令B.被中断指令的前一条C.被中断指令的后一条D.启动时的第一条指令7.在请页式存储管理中,若采用FIFO页面置换算法,则当分配给进程的页面增加时.缺页的次数__________A.无影响B.增加C.减少D.可能增加也可能减少8.虚拟存储器的理论基础是___________A.局部性原理B.全局性原理C.动态性D.虚拟性9.下面的页面置换算法中,引起抖动可能性最大的是_____A. OPTB. FIFOC. LRUD. CLOCK10.内存空间是______A.一维的B.二维的C.三维的D.四维的11.逻辑地址对应的是________A.数据的地址B.模块的地址C.内存的基址D.外存的基址12.物理地址对应的是________A.数据的地址B.模块的地址C.内存的地址D.外存的地址13.在页式存储管理中,页表的作用是实现从页号到物理块号的______A.逻辑映射B.物理映射C.地址映射D.逻辑地址映射14.虚拟存储器受到的限制除了外存的容量,还有_________A.指令中的地址长度B.内存的容量C.硬件的好坏D.以上观点都对15.在页式存储管理系统中,每当CPU要形成一条有效地址时都要查页表,这一工作是由以下__________实现的A.硬件B.操作系统C.查表程序D.存取控制程序16.系统抖动现象的发生是由________引起的A.置换算法选择不当B.交换的信息量过大C.内存容量不足D.请页式管理方案17.在请页式存储管理系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起_______A.输入、输出中断B.时钟中断C.越界中断D.缺页中断18.在请页式存储管理系统中,若所需的页不在内存,则会引起_____A.输入、输出中断B.时钟中断C.越界中断D.缺页中断二、判断题1.抖动是操作系统的特征之一2.LRU页面置换算法总是选择在主存驻留时间最长的页面淘汰3.采用多道程序设计的系统中,系统的道数越多,系统的效率越高4.页式存储管理方案易于实现用户使用内存空间的动态扩充5.交换技术采用的是以“时间”换取“空间”的策略6.在页面共享时,如果多个进程共享一个“程序页面”,则各个进程的逻辑地址中必须对该页使用相同的页号7.页式系统难以实现存储保护,是因为一个程序在内存中的页面往往很分散8.在请页式存储管理系统中,为了提高内存的利用率,允许用户使用不同大小的页面9.在支持虚拟存储器的系统中,CPU能运行比该计算机内存容量还要大的程序10.在请页式存储管理系统中,LRU置换策略总是优于FIFO置换策略11.为了减少缺页中断率,页应该小一些12.为了减少内存碎片,页应该小一些13.在请求段式系统中,分段的尺寸要受到内存空间的限制三、填空题1.在请页式存储管理中,地址变换过程可能会因为______、______、和________等原因产生中断2.交换技术获得的好处是以牺牲______为代价的3.在请页式存储管理系统的页面置换算法中,_________选择淘汰不再使用的页或最长时间不再使用的页;__________选择淘汰在内存驻留时间最长的页;________选择淘汰最近一段时间内使用最少的页4.在______系统中,操作系统必须为每个进程建立一张段表,且每一段都对应一张页表.5.页面置换算法是在内存中没有________时被调用,它的目的是选出一个被__________的页面,如果内存中有足够的________存放所调入的页,则不必使用页面置换算法6.决定缺页中断所需时间的主要因素是_________、_________和________.7.多道程序设计技术的引入给存储管理系统提出了新的课题,需要考虑的三个问题是______、________和________.8.设一个计算机的CPU地址长度为32位,内存的大小是32MB,则该计算机的物理地址空间的大小为_________,逻辑地址空间的大小为______9.可以实现虚拟存储技术的管理方案有________、_______和______,其中________方案实现起来最复杂10.在虚拟存储管理系统中,要求硬件必须提供________,以保证地址变换的速度11.________算法是LRU置换算法的近似算法,它要求页表中的访问字段只需一位即可12.在请页式存储管理的页表中,状态位的作用是_________,__________的作用是判断某页是否要写回外存,访问字段是用于________自测题答案一、选择题1.B2.C3.D4.C5.B6.A7.D8.A9.B 10.A 11.B 12.C 13.C 14.A 15.A 16.A 17.C 18.D二、判断题1.F 2F 3.F 4.T 5.T 6.T 7.F 8.F 9.T 10.F 11.F 12.T 13.T三、填空题1. 地址越界,缺页,访问权限非法2. CPU时间3. 最佳置换算法(OPT),先进先出置换算法(FIFO),最近使用最少置换算法(LRU)4. 段页式5. 空闲块,淘汰,空闲块6. 中断处理时间,页面交换时间,重启进程的时间7. 内存分配,地址重定位,内存保护8. 32MB,4GB9. 请页式,请段式,请求段页式,请求段页式10. CACHE11. 时钟置换(CLOCK)12. 判断是否缺页,修改位,页面置换。
作业4——精选推荐
作业41、存储管理的主要功能是什么?答:(1)主存的分配和管理:按⽤户要求将适当的存储空间进⾏分配。
在⽤户请求时能做出快速的响应,分配相应的存储空间;在⽤户不再使⽤时,应⽴即回收。
①记住存储区域的状态;②实施分配;③接受系统或⽤户释放的存储区域,并修改分配表;(2)地址变换:可执⾏⽂件⽣成中的链接技术,程序加载时及再次换⼊系统时的重定位技术,进程运⾏时硬件和软件的地址变换技术和机构;(3)存储的共享和保护:代码与数据的共享及访问权限的控制;(4)存储扩充:虚存(系统)或覆盖(⽤户)完成。
2、什么是虚拟存储器,其特点是什么?答:虚拟存储器:操作系统为⽤户提供的能够⾃⼰编程的地址空间就是虚拟存储器。
特点:(1)有相当容量的辅存来存放所有并发作业的地址空间;(2)有⼀定量的主存,⾜够现有程序运⾏;(3)有地址变换机构。
3、实现地址重定位的⽅法有哪⼏类?形式化地描述动态重定位过程。
答:分类:静态重定位和动态重定位(1)静态地址重定位是在虚空间程序执⾏之前由装配程序完成地址映射⼯作。
静态重定位的优点是不需要硬件⽀持,但是⽤静态地址重定位⽅法进⾏地址变换⽆法实现虚拟存储器。
静态重定位的另⼀个缺点是必须占⽤连续的内存空间和难以做到程序和数据的共享。
(2)动态地址重定位是在程序执⾏过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。
动态地址重定位的主要优点有:①可以对内存进⾏⾮连续分配。
②动态重定位提供了实现虚拟存储器的基础。
③动态重定位有利于程序段的共享。
过程:程序的⽬标模块装⼊内存时,与地址有关的各项均保持原来的相对地址不进⾏任何修改。
如MOV1,[500]这条指令仍是相对地址500。
当此模块被操作系统调度到处理机上执⾏时,操作系统将把此模块装⼊的实际起始起始地址减去⽬标模块的相对基地址,然后将其差值装⼊定位寄存器中。
当CPU取得⼀条访问内存的指令时,地址变换硬件逻辑⾃动将指令中的相对地址与定位寄存器中的值相加,再依此和值作为内存绝对地址去访问该单元中的数据。
存储管理部分题目
存储管理部分练习题一、选择题:1、把作业地址空间中使用的逻辑地址变成内存中的物理地址称为()。
A、加载B、重定位C、物理化D、逻辑化2、虚存的基础是(),其基本含义是()。
A、局部性理论B、代码的顺序执行C、程序执行时对内存访问不均匀D、变量的连续访问E、指令局部性3、某系统采用基址、限长寄存器保护方法实现存储保护,在这种方法中判断是否越界的判别式为()。
A、0≤被访问的物理地址<基址寄存器的内容B、0≤被访问的物理地址≤寄存器的内容C、0≤被访问的逻辑地址<限长寄存器的内容D、0≤被访问的逻辑地址≤限长寄存器的内容4、最佳适应算法的空白区是()。
A、按大小递增顺序排列的B、按大小递减顺序排列的C、按地址由小到大排列的D、按地址有大到小排列的5、在页式存储管理中,每当CPU形成一个有效地址(虚地址)时,要查页表,这一工作是由()实现的,操作系统()感知页表的存在。
A、硬件自动B、操作系统C、查表程序D、存取控制程序E、能够F、不能够6、具有虚拟存储功能的管理方法包括()。
A、可变分区存储管理B、页式存储管理C、段式存储管理D、段页式存储管理7、采用()不会产生内部碎片。
A、分页式存储管理B、分段式存储管理C、固定分区式存储管理D、段页式存储管理8、测得某个采用按需调页(Demand-Paging)策略的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%,由此断定系统出现异常。
此种情况下,()能提高利用率。
A、安装一个更快的硬盘B、通过扩大硬盘容量,增加对换空间C、增加运行进程数D、加内存条,增加物理空间容量二、填空题:1、为了支持多道程序运行,存储管理的主要功能应该是()、()、()。
2、虚拟存储器的最大容量是由()决定的。
3、在可变分区存储管理中,分区的保护通常采用()和()两种方式。
4、在分区分配算法中,首次适应算法倾向于优先利用内存中()部分的空闲分区,从而把保留了()部分的大空闲区。
苏州科技大学-操作系统复习JU_JI自整
一、考试题型1.选择题40分20题2.名词解释题20分5题4分3.简答题30分5题6分4.分析题10分1题2021-7-5真题名词解释●操作系统⏹操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序的集合。
●死锁⏹多个进程在运行过程中因争夺资源而造成的一种僵局。
●临界资源⏹将一次仅允许一个进程使用的资源称为临界资源。
●文件⏹文件是由创建者所定义的、具有文件名的一组相关元素的集合。
●虚拟盘解答●进程调度计算题●缺页置换计算题●分页存储管理是什么,地址转换图⏹分页式存储管理是将用户程序的地址空间分为若干个固定大小区域,称为“页”或“页面”。
相应的,也将内存空间分为若干个物理块或页框,页和块的大小相同。
这样可将用户程序的任一页放入任一物理块中,实现了离散分配。
⏹实现分页式存储管理所需的数据结构:页表。
⏹利用地址变换机构实现从逻辑地址到物理地址的转变换,通过页表来实现从页号到物理块号的变换,将逻辑地址中的页号转换为内存中的物理块号。
●文件主要操作⏹1、文件存储空间的管理⏹2、目录管理⏹3、文件的读、写管理和存取控制●设备管理器功能⏹1、缓冲管理⏹2、设备分配⏹3、设备处理⏹4、设备独立性和虚拟设备分析题●什么是SPOOLing系统,打印机后台进行打印时,SPOOLing提供了哪些功能?⏹通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。
⏹在实现后台打印时,SPOOLing 系统应为请求I/O的进程提供以下服务:⏹(1)由输出进程在输出井中申请一空闲盘块区,并将要打印的数据送入其中;⏹(2)输出进程为用户进程申请空白用户打印表,填入打印要求,将该表挂到请求打印队列。
⏹(3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。
操作系统智慧树知到答案章节测试2023年长春大学
第一章测试1.一个完全无软件的计算机系统,称为裸机。
()A:对B:错答案:A2.为用户提供良好的使用界面,不是操作系统需要提供的功能。
()A:错B:对答案:A3.如果分时操作系统的时间片一定,那么用户数越多,则响应时间越长。
()A:错B:对答案:B4.由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。
()A:对B:错答案:A5.操作系统是一种()。
A:软件包B:应用软件C:系统软件D:通用软件答案:C6.操作系统是对()进行管理的软件。
A:软件B:计算机资源C:硬件D:应用程序答案:B7.从用户的观点看,操作系统是()。
A:用户与计算机之间的接口B:合理地组织计算机工作流程的软件C:由若干层次的程序按一定的结构组成的有机体D:控制和管理计算机资源的软件答案:A8.工业控制系统中运行的操作系统最好是()A:分时系统B:网络操作系统C:实时系统D:分布式操作系统答案:C9.操作系统的基本类型主要有()A:批处理系统B:多任务系统C:分时系统D:多用户系统E:实时操作系统答案:ACD10.分时系统具有的特征有()A:独立性B:可靠性C:交互性D:多路性E:及时性答案:ACDE11.实时调度算法最早截止时间优先即EDF(Earliest Deadline First)是非抢占的。
()A:对B:错答案:B第二章测试1.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
()A:对B:错答案:A2.异步性是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。
()A:对B:错答案:A3.多个进程不能同时进入关于同一临界资源的临界区域,否则可能发生与时间有关的错误,这种现象称为进程同步。
()A:对B:错答案:B4.管程是操作系统中管理用户进程的系统进程。
()A:对B:错答案:B5.一组进程,为协调其推进速度,在某些关键点处需要相互等待与相互唤醒,进程之间这种直接相互制约的关系称为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机操作系统实验报告济南大学信息科学与技术学院2013年xx月xx日一、实验概述1. 实验名称请求页式存储管理中常用页面置换算法管理2. 实验目的(1)了解内存分页管理策略(2)掌握调页策略(3)掌握一般常用的调度算法(4)学会各种存储分配算法的实现方法。
(5)了解页面大小和内存实际容量对命中率的影响3. 实验内容(1)采用页式分配存储方案,通过分别计算不同算法的命中率来比较算法的优劣,同时也考虑页面大小及内存实际容量对命中率的影响;(2)实现OPT 算法(最优置换算法) 、LRU 算法(Least Recently) 、FIFO 算法(First IN First Out)的模拟;(3)使用某种编程语言模拟页面置换算法。
二、实验环境C语言三、实验过程1. 设计思路和流程图选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换2. 算法实现(1)OPT基本思想:是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。
数组next[mSIZE]记录物理块中对应页面的最后访问时间。
每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。
(2)FIFO基本思想:是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。
或者借助辅助数组time[mSIZE]记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。
(3)LRU基本思想:是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。
数组flag[10]标记页面的访问时间。
每当使用页面时,刷新访问时间。
发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。
3.源程序并附上注释#include <stdio.h>#include <stdlib.h>/*全局变量*/int mSIZE; /*物理块数*/int pSIZE; /*页面号引用串个数*/static int memery[10]={0}; /*物理块中的页号*/static int page[100]={0}; /*页面号引用串*/static int temp[100][10]={0}; /*辅助数组*//*置换算法函数*/void FIFO();void LRU();void OPT();/*辅助函数*/void print(unsigned int t);void designBy();void download();void mDelay(unsigned int Delay);/*主函数*/void main(){int i,k,code;system("color 0A");designBy();printf("┃请按任意键进行初始化操作... ┃\n");printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf(" >>>");getch();system("cls");system("color 0B");printf("请输入物理块的个数(M<=10):");scanf("%d",&mSIZE);printf("请输入页面号引用串的个数(P<=100):");scanf("%d",&pSIZE);puts("请依次输入页面号引用串(连续输入,无需隔开):");for(i=0;i<pSIZE;i++)scanf("%1d",&page[i]);download();system("cls");system("color 0E");do{puts("输入的页面号引用串为:");for(k=0;k<=(pSIZE-1)/20;k++){for(i=20*k;(i<pSIZE)&&(i<20*(k+1));i++){if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))printf("%d\n",page[i]);elseprintf("%d ",page[i]);}}printf("* * * * * * * * * * * * * * * * * * * * * * *\n");printf("* 请选择页面置换算法:\t\t\t *\n");printf("* ----------------------------------------- *\n");printf("* 1.先进先出(FIFO) 2.最近最久未使用(LRU) *\n");printf("* 3.最佳(OPT) 4.退出*\n");printf("* * * * * * * * * * * * * * * * * * * * * * *\n");printf("请选择操作:[ ]\b\b");scanf("%d",&code);switch(code){case 1:FIFO();break;case 2:LRU();break;case 3:OPT();break;case 4:system("cls");system("color 0A");designBy(); /*显示设计者信息后退出*/printf("┃谢谢使用页面置换算法演示器! 正版授权㊣┃\n");printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");exit(0);default:printf("输入错误,请重新输入:");}printf("按任意键重新选择置换算法:>>>");getch();system("cls");}while (code!=4);getch();}/*载入数据*/void download(){int i;system("color 0D");printf("╔════════════╗\n");printf("║正在载入数据,请稍候!!!║\n");printf("╚════════════╝\n");printf("Loading...\n");printf(" O");for(i=0;i<51;i++)printf("\b");for(i=0;i<50;i++){mDelay((pSIZE+mSIZE)/2);printf(">");}printf("\nFinish.\n载入成功,按任意键进入置换算法选择界面:>>>");getch();}/*设置延迟*/void mDelay(unsigned int Delay){unsigned int i;for(;Delay>0;Delay--){for(i=0;i<124;i++){printf(" \b");}}}/*显示设计者信息*/void designBy(){printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");printf("┃课题三:页面置换算法┃\n");printf("┃学号:20111214034 ┃\n");printf("┃姓名:韩瑶┃\n");printf("┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n"); }void print(unsigned int t){int i,j,k,l;int flag;for(k=0;k<=(pSIZE-1)/20;k++){for(i=20*k;(i<pSIZE)&&(i<20*(k+1));i++){if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))printf("%d\n",page[i]);elseprintf("%d ",page[i]);}for(j=0;j<mSIZE;j++){for(i=20*k;(i<mSIZE+20*k)&&(i<pSIZE);i++){if(i>=j)printf(" |%d|",temp[i][j]);elseprintf(" | |");}for(i=mSIZE+20*k;(i<pSIZE)&&(i<20*(k+1));i++){for(flag=0,l=0;l<mSIZE;l++)if(temp[i][l]==temp[i-1][l])flag++;if(flag==mSIZE)/*页面在物理块中*/printf(" ");elseprintf(" |%d|",temp[i][j]);}/*每行显示20个*/if(i%20==0)continue;printf("\n");}}printf("----------------------------------------\n");printf("缺页次数:%d\t\t",t+mSIZE);printf("缺页率:%d/%d\n",t+mSIZE,pSIZE);printf("置换次数:%d\t\t",t);printf("访问命中率:%d%%\n",(pSIZE-(t+mSIZE))*100/pSIZE);printf("----------------------------------------\n");}/*计算过程延迟*/void compute(){int i;printf("正在进行相关计算,请稍候");for(i=1;i<20;i++){mDelay(15);if(i%4==0)printf("\b\b\b\b\b\b \b\b\b\b\b\b");elseprintf("Θ");}for(i=0;i++<30;printf("\b"));for(i=0;i++<30;printf(" "));for(i=0;i++<30;printf("\b"));}/*先进先出页面置换算法*/void FIFO(){int memery[10]={0};int time[10]={0}; /*记录进入物理块的时间*/int i,j,k,m;int max=0; /*记录换出页*/int count=0; /*记录置换次数*//*前mSIZE个数直接放入*/for(i=0;i<mSIZE;i++){memery[i]=page[i];time[i]=i;for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}for(i=mSIZE;i<pSIZE;i++){/*判断新页面号是否在物理块中*/for(j=0,k=0;j<mSIZE;j++){if(memery[j]!=page[i])k++;}if(k==mSIZE) /*如果不在物理块中*/{count++;/*计算换出页*/max=time[0]<time[1]?0:1;for(m=2;m<mSIZE;m++)if(time[m]<time[max])max=m;memery[max]=page[i];time[max]=i; /*记录该页进入物理块的时间*/for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}else{for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}}compute();print(count);}/*最近最久未使用置换算法*/void LRU(){int memery[10]={0};int flag[10]={0}; /*记录页面的访问时间*/int i,j,k,m;int max=0; /*记录换出页*/int count=0; /*记录置换次数*//*前mSIZE个数直接放入*/for(i=0;i<mSIZE;i++){memery[i]=page[i];flag[i]=i;for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}for(i=mSIZE;i<pSIZE;i++){/*判断新页面号是否在物理块中*/for(j=0,k=0;j<mSIZE;j++){if(memery[j]!=page[i])k++;elseflag[j]=i; /*刷新该页的访问时间*/ }if(k==mSIZE) /*如果不在物理块中*/{count++;/*计算换出页*/max=flag[0]<flag[1]?0:1;for(m=2;m<mSIZE;m++)if(flag[m]<flag[max])max=m;memery[max]=page[i];flag[max]=i; /*记录该页的访问时间*/for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}else{for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}}compute();print(count);}/*最佳置换算法*/void OPT(){int memery[10]={0};int next[10]={0}; /*记录下一次访问时间*/int i,j,k,l,m;int max; /*记录换出页*/int count=0; /*记录置换次数*//*前mSIZE个数直接放入*/for(i=0;i<mSIZE;i++){memery[i]=page[i];for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}for(i=mSIZE;i<pSIZE;i++){/*判断新页面号是否在物理块中*/for(j=0,k=0;j<mSIZE;j++){if(memery[j]!=page[i])k++;}if(k==mSIZE) /*如果不在物理块中*/{count++;/*得到物理快中各页下一次访问时间*/for(m=0;m<mSIZE;m++){for(l=i+1;l<pSIZE;l++)if(memery[m]==page[l])break;next[m]=l;}/*计算换出页*/max=next[0]>=next[1]?0:1;for(m=2;m<mSIZE;m++)if(next[m]>next[max])max=m;/*下一次访问时间都为pSIZE,则置换物理块中第一个*/memery[max]=page[i];for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}else {for(j=0;j<mSIZE;j++)temp[i][j]=memery[j];}}compute();print(count);}6. 程序运行时的初值和运行结果1. 按任意键进行初始化:2. 载入数据:3. 进入置换算法选择界面:4.运算中延迟操作5.三种算法演示结果:四、实验体会掌握了一般的调度算法,了解了页面大小和内存实际容量对命中率的影响最新文件---------------- 仅供参考--------------------已改成word文本--------------------- 方便更改。