好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统实训报告C实现操作系统五大功能.doc

21页
  • 卖家[上传人]:公****
  • 文档编号:432527314
  • 上传时间:2022-08-20
  • 文档格式:DOC
  • 文档大小:617.29KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 21湖南工业职业技术学院 操作系统实训报告题目:模拟操作系统五大功能 专业: 软件 实训老师: 完成时间: 2007-12-27 参与人员: 目 录一,设计思想和算法说明 31、 进程管理 32、 内存管理 33、 文件管理 34、 文件管理 45、 设备管理 5二,总功能模块图 5三,流程图 6CPU管理: 6内存管理: 6文件管理: 74)设备管理: 75)作业管理: 8四,使用说明 8五,程序清单 8六,结果分析和调试 19CPU管理: 19内存管理: 19文件管理: 19设备管理: 20作业管理: 20七,资料来源及参考书 20一,设计思想和算法说明1、 进程管理进程调度算法有FIFO,优先数调度算法,时间片轮转调度算法,分级调度算法,目前主要是考FIFO和优先数调度算法(静态优先级)。

      输入:进程流文件”jincheng.txt”,其中存储的是一系列要执行的进程,每个作业包括五个数据项:进程名 进程状态(1就绪 2等待 3运行) 所需时间 优先数(0级最高) 进程所占CPU的资源数输出:进程执行流 和等待时间 平均等待时间 CPU的使用率本程序包括:FIFO,优先数调度算法,时间片轮转调度算法2、 内存管理内存调度算法有:最先适应分配算法,最优适应分配算法,最坏适应算法用户提出内存空间的申请;系统根据申请者的要求,按照一定的分配策略分析内存空间的使用情况,找出能满足请求的空闲区,分给申请者;当程序执行完毕或主动归还内存资源时,系统要收回它所占用的内存空间或它归还的部分内存空间1).程序运行时首先接收输入:空闲区数据文件”fqu.txt”,包括若干行,每行有两个数据项:起始地址、长度(均为整数),各数据项以逗号隔开2).建立空闲区表并在屏幕上显示输出空闲区表内容,空闲区表中记录了内存中可供分配的空闲区的始址和长度,用标志位指出该分区是否是未分配的空闲区3).从用户界面根据用户提示接收一个内存申请,格式为:作业名、申请空间的大小4).按照最差(最坏)适配算法选择一个空闲区,分割并分配,修改相应的数据结构(空闲区表),填写内存已分配区表(起始地址、长度、标志位),其中标志位的一个作用是指出该区域分配给哪个作业。

      5).重复3)、4),直到输入为特殊字符(0)6).在屏幕上显示输出新的空闲区表和已分配区表的内容本程序包括:FIFO,最优适应分配算法,最坏适应算法3、 文件管理主要就是模拟操作系统中的 建立文件、打开文件、读文件、写文件、、关闭文件、 、删除文件、、建立目录、、显示目录内容、显示文件内容、、改变文件属性等操作1 改变目录格式:CD〈目录名〉功能:工作目录转移到指定的目录下,只要求完成改变到当前目录的某一个子目录下的功能,不要求实现相对目录以及绝对目录1)创建文件格式:CREATE〈文件名〉〈文件长度〉功能:创立一个指定名字的新文件,即在目录中增加一项,不考虑文件内容,但必须能输入文件长度2)删除文件格式:DEL〈希望删除的文件名〉功能:删除指定的文件3)显示目录格式:LSALL功能:显示全部目录以及文件,输出时要求先输出接近根的目录,再输出子目录4)创建目录格式:MD〈目录名〉功能:在当前路径下创建指定的目录5)删除目录格式:RD〈目录名〉功能:删除当前目录下的指定目录,如果该目录为空,则可删除,否则应提示是否作删除,删除操作将该目录下的全部文件和子目录都删除作业调度主要有FIFO,运算时间短的作业优先,优先数调度算法,响应比最高者优先调度算法,均衡调度算法4、 文件管理1)模拟作业调度算法输入:作业流文件“zye.txt”,其中存储的是一系列要执行的作业,每个作业包括三个数据项:作业号、作业进入系统的时间(用一整数表示,如10:10,表示成1010)、估计执行时间(单位分)优先级(0级最高)2)参数用空格隔开,下面是zye.txt文件里面存放的作业:1 800 502 815 303 830 254 835 205 845 156 900 107 920 5其中调度时刻为最后一个作业到达系统的时间!输出作业号!进入内存的时间!每行输出一个作业信息本程序包括:FIFO,运算时间短的作业优先,优先数调度算法,响应比最高者优先调度算法5、 设备管理主要就是模拟操作系统中的设备分配,回收,显示三个功能。

      定义四个设备类,设备总数量,空闲数量,分别是:Input, 2 , 2printer, 3, 3disk, 4 , 4tape 1, 1分配一个设备,它的空闲数量就少一个,如果回收一个,它就加一个,如果全部分配出去,你在申请的话,它就提示“占时无设备,请等待..”还加了一个输出设备表二,总功能模块图模拟操作系统五大功能CPU管理内存管理文件管理作业管理设备管理三,流程图CPU管理:开始打开文件jincheng.txt显示进程状态结束内存管理:开始选择申请空间撤销作业显示退出打开文件fqu.txt结束文件管理:开始选择该变目录创建文件删除文件显示目录结束创建目录删除目录输入exit 否 是4)设备管理:开始选择分配回收显示退出结束5)作业管理:开始打开文件zye.txt显示作业状态结束四,使用说明1) 首先在D盘下建立三张表,表名分别是:jincheng.txt,fqu.txt,zye.txt,它们分别存放cup运行的进程,内存存储的作业,还有作业管理的作业1) 第一章表是进程信息表:为jincheng.txtNameztaitimeyouxianzyuanA2505B16010………………..………….(2) 第二章表内存分给作业表 fqu.txtAddresslongztai10032free ………….………..(3) 第三章表作业分配表:zye.txt IDdtimextimeyouxian18005002815301………………..………….2)运行CPU管理首先要输入进程,所以首先输入D盘下的文件jincheng.txt文件。

      打开它,使数据进程进入该系统里面运行还有作业管理要输入D盘下的文件zye.txt文件使作业数据进入系统里面,进行计算而内存管理侧是,系统一运行,它自动打开文件使里面的数据读入系统里面来,不用输入文件另外文件管理就是自己在运行时,自己去创建和操作,修改设备管理在程序里面以定义规定好,进行分配和调用五,程序清单#include#include#include#include#include#include/////////////////////////////文件管理/////////////////////////////// ******************目录和文件的结构定义******typedef struct filenode{ char name[50]; /*目录或文件的名字*/ int type; /*0代表目录,1代表普通文件*/ struct filenode *next; /*指向下一个兄弟结点的指针*/ struct filenode *sub; /*指向第一个子结点的指针*/ struct filenode *father; /*指向父结点的指针*/ char size[10]; /*如果是文件则表示文件的大小*/}dirfilenode;dirfilenode *workDir; //定义当前工作目录dirfilenode root; //定义根目录char path[100]; //定义路径信息//初始化函数void initial3(){ strcpy(root.name,"root"); root.type=0; root.next=NULL; root.sub=NULL; root.father=NULL; strcpy(root.size,"文档"); workDir=&root; strcpy(path,"root");}//初始化新结点函数dirfilenode *init5(){ dirfilenode *p; p=new dirfilenode; strcpy(root.name,""); root.type=0; root.next=NULL; root.sub=NULL; root.father=NULL; strcpy(root.size,"存档"); return p;}//1 改变目录void CD(char dirName[]){ dirfilenode *p; int flag=0; p=workDir->sub; if(p==NULL){ cout<<"错误,\""<type==0) { if(!strcmp(p->name,dirName)) { flag=1; break; } } p=p->next; } if(flag==1) { workDir=p; strcat(path,"\\ "); strcat(path,p->name); cout<<"工作目录已进入\""<

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.