操作系统课程实践_57019(1).doc

《操作系统原理》课程实践报告 专 业 计算机科学与技术 班 级 学 号 姓 名 指导教师 陈 珂 完成时间 成 绩 《操作系统原理》课程设计报告撰写说明如下: 1、内容完整,包括:设计题目、设计内容与要求、主要思想、算法描述与流程、实现过程与结果、源程序清单、实验总结。 2、封面统一,用A4纸张打印。 3、可选做下列题目之一。 4、提交报告一份、源码一份(注明运行平台window或linux)。纸板报告由学委统一收齐上交;电子版和源码发到gajiajie@163.com。 5、验收时间另行通知。 操作系统课程设计任务书 题目一 进程调度算法模拟 一、设计目的 编程实现进程调度的算法,更好地掌握操作系统的原理及实现方法,从而有利于把握进程调度细节。 三、设计要求 (1)要求实现先来先服务,短作业优先,时间片轮转,高优先权调度算法四种算法并进行对比分析. (2)要求界面简单,易懂,关键代码部分要注释. (3)编程语言可以采用自己任意精通的语言 四、设计思想说明 先来先服务:程序的执行调度顺序按先进入队列的先获得执行,并且其他进程都不能中断正在执行的进程,要等进程完成后才能,让出CPU给其他进程。执行的时候可以随时在队列中插入进程。 短作业优先:进程的调度顺序按程序的服务时间来决定,进程的执行顺序。服务时间短的先被调用。调度时先从队列中选取服务时间最短的进程来执行。进程中途不能中断,即使此时队列中存在服务时间比其更短的进程,仍需要等待该进程执行完后才能被执行。 高优先权调度:选取进程中优先级最高的一个,以优先级的值大,优先级就大。 调度时总是选取队列中进程优先级最高的来执行,不管是否有某个进程在执行,只要存在比正在执行进程优先级高的进程,则就会立刻中断正在执行的进程,让给跟高优先级的进程。 时间片轮转:本课程设计采用多级反馈队列调度算法,设立4个进程队列,分给队列1的时间片为3秒,队列2的时间片为6秒,队列3的时间片为12秒,队列4的时间片为24秒。队列1的优先级最高,队列4的优先级最低。高优先级的队列没执行完,即不为空,就永远不执行其下面的低优先级的队列里面的进程。当执行低优先级队列里面的进程时,突然间高优先级的队列插入了进程就立刻跳到高优先级的队列执行其里面的进程。每个队列的进程都是按先来先执行的顺序执行。进程初次执行肯定要进入队列1。如何从头到尾执行一遍队列1中的进程是,存在某些进程在队列1的时间片内还没执行完,就把进程移交到下一个队列中。每个队列都如此类推。直到最后一个队列4,如果在队列4还有进程在本时间片内还没没执行完,就把该程序放到队尾,从新等待时间片执行。 题目二 存储管理 一、实验目的 1加深对操作系统存储管理的理解 2模拟页面置换算法,加深理解操作系统对内存的管理 二、背景知识 进先出的算法(FIFO) 最近最少使用的算法(LRU) 最佳淘汰算法(OPT) 三、设计内容 设计一个虚拟存储区和内存工作区,并使用下列算法计算访问命中率. 先进先出的算法(FIFO) 最近最少使用的算法(LRU) 最佳淘汰算法(OPT) 命中率=1-页面失效次数/页地址流长度 程序设计〉 本程序设计基本上按照设计内容进行。即首先用srand()和rand()函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。相关定义如下: 1 数据结构 (1)页面类型 typedef struct{ int pn,pfn,counter,time; }pl-type; 其中pn 为页号,pfn为面号, counter为一个周期内访问该页面的次数, time为访问时间. (2) 页面控制结构 pfc-struct{ int pn,pfn; struct pfc_struct *next; } typedef struct pfc_struct pfc_type; pfc_type pfc_struct[total_vp],*freepf_head,*busypf_head;

文档评论(0)

1亿VIP精品文档

相关文档