操作系统课程设计报告-文件系统

操作系统课程设计报告-文件系统

ID:34251992

大小:323.50 KB

页数:18页

时间:2019-03-04

操作系统课程设计报告-文件系统_第1页
操作系统课程设计报告-文件系统_第2页
操作系统课程设计报告-文件系统_第3页
操作系统课程设计报告-文件系统_第4页
操作系统课程设计报告-文件系统_第5页
资源描述:

《操作系统课程设计报告-文件系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南阳理工学院操作系统课程设计报告指导老师:学院:软件学院学院班级:09软工2班姓名:学号:第18页共18页南阳理工学院操作系统课程设计报告设计时间:2011-12-13专业年级:09软工2班姓名:宋根林学号:068109051教师评定:一.设计目的:通过课程设计,加深对操作系统各资源管理模块的理解,掌握操作系统的基本原理及功能,具有初步分析实际操作系统、设计、构造和开发现代操作系统的基本能力。二.设计内容:①设计进程控制块PCB表结构,分别适用于可强占的优先数调度算法和循环轮转调度算法。②建立进程就绪队列。对两种不同算法编制入链子程序。③编制两种进程调度算法:1)可强

2、占的优先进程调度;2)循环轮转调度三.设计过程1、实现功能①设计进程控制块PCB表结构,分别适用于可强占的优先数调度算法和循环轮转调度算法。②建立进程就绪队列。对两种不同算法编制入链子程序。③编制两种进程调度算法:1)可强占的优先进程调度;2)循环轮转调度2、添加功能先到先服务进程调度算法,计算每个进程的周转时间和带权周转时间以及模拟cpu运行的利用率。3、设计思路①本程序用两种算法对多个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。②第18页共18页南阳理工学院操作系统课程设计报告为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数

3、或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。③在优先数算法中,优先数的值为50与运行时间的差值,即Pro_time-process->needtime。进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。④对于遇到优先数一致的情况,采用FIFO策略解决。1、算法和流程图可强占优先调度算法实现过程流程图:第18页共18页南阳理工学院操作系统课程设计报告循环轮转算法实现过

4、程流程图:第18页共18页南阳理工学院操作系统课程设计报告FCFS算法实现过程流程图:第18页共18页南阳理工学院操作系统课程设计报告四.操作界面截图及分析进程输入:第18页共18页南阳理工学院操作系统课程设计报告可强占的优先进程调度过程:第18页共18页南阳理工学院操作系统课程设计报告循环轮转调度过程:第18页共18页南阳理工学院操作系统课程设计报告先到先服务调度过程:第18页共18页南阳理工学院操作系统课程设计报告五.设计总结:通过该课程设计,加深了对系统进程调度机制的理解。在抢占方式中实践了“抢占”必须遵循的原则:优先权原则,短进程优先原则,时间片原则。认识了几

5、种进程调度算法的优缺点以及应用范围。加强C++的编程能力,实现类的封装。附录:程序及注释(用红色黑体标注自己设计的函数)//进程PCB类和模拟cpu的进程类的声明#include#include#include#include#includeusingnamespacestd;//进程的状态#defineUNREADY0//未就绪#defineREADY1//就绪#defineEXECUTE2//执行#defineEND3//完成//进程的PCB类structProcessPc

6、b{ProcessPcb(){next=NULL;}charpro_name[20];//进程的名字inttime_submit;//提交时间,从时间的1开始计时inttime_exe;//进程所需的运行时间intpro_id;//进程ID--系统生成intpro_priority;//进程优先级=50-所需运行时间inttime_start;//开始执行的时间inttime_end;//结束的时间inttime_wait;//等待的时间intpro_state;//进程的状态(就绪,执行,完成)inttime_left;//还需多少时间单位//,初始化为所需的执行时

7、间第18页共18页南阳理工学院操作系统课程设计报告inttime_turn;//周转时间doubletime_aver;//带权周转时间ProcessPcb*next;};///封装CPU调度与分配程序模块。classCpuModel{public:CpuModel(){pcbnum=0;}voidcpurun();//cpu模拟运行函数boolGetPcb();//进程输入函数voidShowPcb();//将输入的进程展示出来voidPriModel();//可强占的优先进程调度模式voidRrModel();//循环轮转调度模式voidFcfs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。