大工17秋《操作系统》大作业题目及要求

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习中心:

专业:

年级:年春/秋季

学号:

学生:

题目:

1.谈谈你对本课程学习过程中的心得体会与建议

转眼间,学习了一个学期的计算机操作系统课程即将结束。在这个学期中,通过老师的悉心教导,让我深切地体会到了计算机操作系统的一些原理和具体操作过程。在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。通过这一学期的学习,我才知道操作系统(OperatingSystem,简称 OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。经过一个学期的学习,我也知道了计算机操作系统是铺设在计算机硬件上的多层系统软件,不仅增强了系统的功能,而且还隐藏了对硬件操

作的细节,由它实现了对计算机硬件操作的多层次的抽象。总而言之,操作系统的一些原理在生活中都可以找到相应的例子。结合生活中的例子,可以化抽象为具体,我们会更加清楚地了解到其原理与操作过程。我觉得通过我们的不断学习,结合生活中的实际问题,我们就会把操作系统学得更好。

2.《操作系统》课程设计,从以下5个题目中任选其一作答。

《操作系统》课程设计

注意:从以下5个题目中任选其一作答。

总则:不限制编程语言,可以选用C/C++等(具体工具平台及语言可以自己根据自己的习惯选用,不必完全按照上述技术

要求)

作业提交:

大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东浙江台州奥鹏学习中心[1]VIP)

以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项:

独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!

题目一:页面置换算法FIFO算法

要求:(1)撰写一份word文档,里面包括(算法思路、算法数据结构、主要函数代码、测试案例)章节。

(2)算法思路:FIFO为先进先出算法,简单介绍该算法

的基本思想,100字左右即可。

(3)算法数据结构:列出主要用的数据结构,比如存储页

面号序列page[],存储装入物理块中的页面memery[]等,

只需要列出数据结构名称即可。

(4)主要函数代码:列出先进先出页面置换算法的代码。

不需要列出主函数。

(5)给出一个测试案例即可,比如设置物理块个数为3,

页面序号7 0 1 2 3 0 4 2 3,代码应列出算法

置换的具体细节。

页面置换算法FIFO算法

在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。在请求分页存储器管理系统中,我们需要一个页面置换算法,而先进先出算法就是最早出现的一种算法,利用该算法可以实现页面的置换,实现内存的充分利用,使进程可以执行。

先进先出置换算法(FIFO)

最简单的页面置换算法是先入先出(FIFO)法。这种算法的实质是,总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。理由是:最早调入内存的页,其不再被使用的可能性比刚调入内存的可能性大。建立一个FIFO队列,收容所有在内存中的页。被置换页面总是在队列头上进行。当一个页面被放入内存时,就把它插在队尾上。

这种算法只是在按线性顺序访问地址空间时才是理想的,否则效率不高。因为那些常被访问的页,往往在主存中也停留得最久,结果它们因变“老”而不得不被置换出去。

FIFO的另一个缺点是,它有一种异常现象,即在增加存储块的情况下,反而使缺页中断率增加了。当然,导致这种异常现象的页面走向实际上是很少见的。优先淘汰最早进入内存的页面,亦即在内存中驻留时间最久的页面。该算法实现简单,只需把调入内存的页面根据先后次序链接成队列,设置一个指针总指向最早的页面。但该算法与进程实际运行时的规律不适应,因为在进程中,有的页面经常被访问。

1.先进先出(FIFO)

该算法实现简单,只需把一个进程已调入内存的页面,按先后顺序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。

1、输入当前要调用的页面号

2、判断该页面是否已在队列内,若在队列内,不执行任何操作

若不在队列内。则执行以下操作判断队列是否已满,若队列未满,直接把该页面号存入队列若队列已满,删除并返回队头元素,然后把该页面号存入队

3、输出置换次数,依次输出置换出的页面。

2.先进先出算法思路

在请求分页存储器管理系统设计中,先进先出(FIFO)算法是一种给出页面访问的顺序与分配给作业的主存块数,使用队列作为数据结构编写算法,实现统计缺页次数与页面置换操作,该算法总是先淘汰最先进入内存的页面,即选择在内存中停留时间最久的页面予以淘汰。

3.先进先出算法步骤

1.设置一些页面参数,

int pagenum=0 内存页面数

int total=0 要访问的页面总数

int lacknumber 缺页的总数

2.设置一个队列

int seque[20]={0}; 队列长度设置为20 ,且初值设为0

3.执行算法

输入1,2,3,4,1,2,5,1,2,3,4,5

以输入-1结束

4.算法数据结构

Array[0][20]

Void main()系统主函数

Cin>> pagenum 键盘输入页号

存储页面号序列page[]

存储装入物理块中的页面memery[]访问函数 void Visit(int)

void FIFO(void);

打印函数print()

核心函数FIFO()

5.主要函数代码

#include<>

int choose; ageNomber=i; p[i].PhyNomber=0;

p[i].Change=0;

相关文档
最新文档