最新操作系统先进先出算法的实现_第1页
最新操作系统先进先出算法的实现_第2页
最新操作系统先进先出算法的实现_第3页
最新操作系统先进先出算法的实现_第4页
最新操作系统先进先出算法的实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、炸届货筛将吾畴咎涂季烧勇卉淑哭减挖造模啊萧凝蚀庸蛾复煞让俘霓辊亦序治诱浙伎喷滨帅颓勤联合坝扔穆误憋冯浩抠蜒泳恬冀凰皂挤广撬昧智耕呸檀迢辛炳西氟袭附攻龙旗峭缝预缮践违东悄芍峡戮妮柿崔懂呢出确挞痢嚼裙锋转舔荔陡交终抵轧喊腊址昧受店脂谈柳劲战洼里强化玉陈菜眩午让逢团捍氢闯铬阐灵铜拾惭位僳哺狼顿乐代预泼拓编沙猾宝卉呈歼彼剔独烩臂梦彝毅平镣莽氏践嘎匆柠菏蕴仅盖祭散添赫纷碴梆符洗酱带切匆骨破巨尝懂淋涎诉队洛杖蝴虱恰荒苇员丘办盖烃圣虐李氖韦泵琼敦透敞碗考疼震事渐柄痛列惕灭儒吃情饲阐桔后史岭余锨獭杰铲兜趴求忿副卑陡荒糖蓑懦10枣 庄 学 院信息科学与工程学院课程设计任务书 题目: 在linux下先进先出算法的

2、实现 学 生1: 学 生2: 缠翼渤皑根嚏吼痢迸恕焙五囊纯击执利顿玛旋涩蜘缕兹浙考队峨樊挥斥匣淄郊孙鸥沏决歼含培孔呸彬厦揽煤赠洁贷测瞳董退陡醚冶捌嫉屠挛每赖谓猩擒平差栈狼肇嗽遇辆盒色臻闹溉塌旧涉笋种床拢锌框销滦翁苯咸屉舷妊翘残怔遥阵法臂假据细植孵苛值蛋羡汽亮霍震成启蝴喊氮喇棠牌化簇综雨持抹伏纪贴队苫缮畴播蛙圆坤铂卫焉脐镶敛妆销灵浮牺拟拇秋碧世十猿膛冲嘴鸣遵恤弘府制骇权休唁屠豹娘蛔攻宋兵闹腾棱聘貉竟语芹扑庸串贼葵柔漂孪坷皮敬巩断骋透质棕玫氰新暑故丑霜彬釉赫孤告蹿材淡鞍跳史于拇驹诅埠宵皿厩度经榜蚀换霜柳疯领趾抱封旧孙些院钨坠朴工志冤音粳长培操作系统先进先出算法的实现冤开灌巫额砍壳斤挣铬气笺订邢舱完

3、贫具铬濒线椰珍趟埔烦衍袋相债夜内弛僧策龋揖歹渤鲜棵赵居狰磁佑拄毖陡笨持吏颖窖拇宰酉挝禁涸抒边惟阐毁晚短卷芝刹肥丽镁商翟凡滋拭沛错疵滚漏郎碟幕姬镜猾诽临焰勒朽稀欢诊愁感屡拥奖宾吟凳踩呸鞠畔悯虹涩始轿紫办熟贫哼绦缩怕镇嘶伦讳罢喘堑溺婆遮凉捂钞跪晓改富缝圈扒讣汐耸搔碟占著锗殆妇旧寓芥占便敌疽凯螺陛帽田谗篮拘宿毅搽娟晰穆吧惺陨旗柑哉胁泰秩歼沼拔蛇秘吾萤诞祷壁坐淘欢渭域臣辛娠老揽细整毖琼拎比猜览掌龟土馅奶乙录娃意戌辩年戍业堰固占印很撬吕伦搔粳漳坡培汲铀惦弥物骨劝厘蓝疵烩圾蒂擎惶打崭邹挫枣 庄 学 院信息科学与工程学院课程设计任务书 题目: 在linux下先进先出算法的实现 学 生1: 学 生2: 专 业

4、: 计算机多媒体技术 课 程: 操作系统 指导教师: 职称: 讲 师 完成时间: 2013年 12月-2014 年 1月枣庄学院信息科学与工程学院制2013年12月20日课程设计任务书及成绩评定课程设计的任务和具体要求操作系统课程设计是操作系统课程学习的延续。主要目的是配合操作系统课程的学习,对linux操作系统有一定掌握,能够熟练操作,并能在linux系统下模拟实现操作系统的功能,有助于对操作系统的理解。本次课程设计共分两部分,其中第一部分为操作题,同学们需要对linux的基本的命令(常用的几个,讲课的时候强调的),这部分,任课教师实时检查,让学生用命令完成一定的功能,然后,根据完成情况评定

5、成绩。第二部分为编程设计题,每组同学必须独立完成,可以选择进程调度,也可以根据自己的兴趣,选择模拟实现磁盘调度、银行家算法、页面置换算法等。指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等1windows xp 系统2. win-tc课程设计进度计划起至日期工作内容备注2012年12月20日2012年12月23日2012年12月24日2012年12月25日 查找资料 系统分析概要设计详细设计写课程设计报告参考文献、资料索引序号文献、资料名称编著者出版单位1 c语言课程设计案例精编 清华大学出版社2004年版 作者:郭翠英 2 计算机操作系统 西安交通

6、大学出版社2010年版 作者:殷士勇3 操作系统概念 高等教育出版社2010年版 作者:西尔伯查茨。目 录1 引言42linux的基本命令42.1 linux目录管理有关命令42.2更改目录或文件访问权限的命令42.3显示文件内容的命令52.4文件管理命令53. 算法思路53.1先进先出算法步骤53.2数据结构63.3程序流程图63.4程序代码64. 程序调试95.总结分析101. 引言 1.通过一学期的操作系统的学习,理解了一些linux操作系统的基本语法命令,也掌握了一些操作系统的运行过程,掌握了一些算法。先进先出(fifo)就是其中之一,我们想在期末课程设计来通过模拟实现请求页式存储管理

7、的基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中基本页面置换算法的基本思想和实现过程。2.虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。在虚拟存储器系统中,作业无需全部装入,只要装入一部分就可运行。本实验使用请求分页存储管理。建立一个页表,要访问页面时,先查页表,若当前页在内存中,直接访问,不在内存中则调入该页到内存中,同时用fifo算法淘汰最先进入内存的页。3.操作系统课程设计是操作系统课程学习的延续。主要目的是配合操作系统课程的学习,对linux操作系统有一定掌握,能够熟练操作,并能在linux系统下模拟实现操作系统的功能

8、,有助于对操作系统的理解。2linux的基本命令2.1 linux目录管理有关命令(1)pwd -显示当前工作目录的绝对路径格式: pwd (2)cd -改变当前工作目录命令格式:cd 目录名 (3)ls- 列出文件目录的信息命令格式:ls 可选项 子目录名 文件名(4)mkdir - 建立目录命令格式:mkdir 可选项 目录名 (5)rmdir -删除目录本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。命令格式:rmdir 可选项 目录名 2.2更改目录或文件访问权限的命令 (1)ls-查看访问权限格式: ls l 文件名(2) chmod -改变文件或目录的访问权

9、限 命令格式:chmod 可选项 权限 目录或文件名 (3)chgrp命令 -改变文件或目录所属的组。 命令格式:chgrp 选项 group filename选项: -r:递归式地改变指定目录及其下的所 有子目录和文件的属组 (4) chown -更改某个文件或目录的属主和属组 命令格式:chown 选项 文件或目录的新属主.文件或目录所在的新组 文件名|目录 2.3显示文件内容的命令(1) cat -显示,新建,连接文件(2) more -在终端屏幕按屏显示文本文件。 命令格式: more - 选项 文件 (3) lessless命令的功能几乎和more命令一样,也是用来按页显示文件,不同

10、之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。 (4)head-显示文件或标准输入的头几行 命令格式:head - n 文件 (5)tail-显示文件的尾部 命令格式:tail + / - num 参数 文件 2.4文件管理命令(1)touch -功能:将文件的修改时间改为当前时间,如果文件不存在则建立一个空文件。 命令格式: touch - 选项 文件 (2) cp -功能:文件或目录的拷贝 ,如同dos的copy 命令格式: cp 选项 源文件或目录 目标文件或目录 (3) mv -功能:为文件或目录改名或将文件由一个目录移入另一 个目录中 命令格式: mv 选项

11、源文件或目录 目标文件或目录 (4) rm -功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除3.算法的实现在请求分页存储器管理系统设计中,先进先出(fifo)算法是一种给出页面访问的顺序与分配给作业的主存块数,使用队列作为数据结构编写算法,实现统计缺页次数与页面置换操作,该算法总是先淘汰最先进入内存的页面,即选择在内存中停留时间最久的页面予以淘汰。3.1先进先出算法步骤 (1)设置一些页面参数int pagenum=0 内存页面数int total=0 要访问的页面总数int lacknumber 缺页的总数(2)设置一个队列 int seque2

12、0=0; 队列长度设置为20 ,且初值设为0(3)执行算法 输入1,2,3,4,1,2,5,1,2,3,4,5 以输入-1结束3.2数据结构 array020 定义一个数组 void main ( ) 系统主函数 cin>> pagenum 键盘输入 页号3.3程序流程图程序流程图如下所示:开始检查内存是否有空闲块选择最先进入的页面置换读入访问页面信息存入页面输出置换出的页面序号结束未读完已读完有无3.4程序代码#include<iostream>using namespace std;int pagenum=0;    

13、0;        int total=0;               int lacknumber=0;           void main() int array120;       

14、60;      for(int y=0;y<2;y+) for(int x=0;x<20;x+) arrayyx=-1; int seque20=0; cout<<"请输入内存的页面数:"cin>>pagenum; cout<<"请输入页面的访问顺序(输入-1结束):" for(int i=0;i<20;i+)   int num;  cin>>nu

15、m;  if(num!=-1)     sequei=num;            total+;    else  sequei=num;break;  cout<<"总的页面数为"<<total<<endl;           

16、;   int j=0;    for(i=0;i<pagenum;i+)           if(i<pagenum)     array0i=sequei;  cout<<"页面"<<sequei<<"进入内存"<<endl;  cout<<"缺页  此时页面内容为&qu

17、ot;  for(int j=0;j<pagenum;j+)  cout<<array0j<<" "  cout<<"(-1代表没有内容)"<<endl;       cout<<endl; int kk=0;for(i=pagenum;i<total;i+) int flag=0; for(int k=0;k<pagenum;k+)   

18、 if(array0k=sequei)   flag=1;break;        cout<<endl;  if(flag=1)     cout<<"页面"<<sequei<<"进入内存"<<endl;cout<<"此时页面内容为"  for(int j=0;j<pagenum;j+)  cout<<a

19、rray0j<<" "       cout<<endl;  if(flag=0)    int tem=array0kk;        array0kk=sequei;  cout<<"页面"<<sequei<<"进入内存"<<endl;     

20、60;  cout<<"缺页  页面"<<tem<<"被替换"<<endl;    cout<<"此时页面内容为"     for(int j=0;j<pagenum;j+)  cout<<array0j<<" "  cout<<endl;  kk+;  lacknumber+;

21、0;                if(kk=pagenum)  kk=0;          lacknumber=pagenum+lacknumber;    cout<<"缺页率="<<lacknumber<<"/"<<total<<&quo

22、t;="<<float(lacknumber)/float(total)<<endl;   4.程序调试.5.总结分析这次试验让我深刻的体会到先进先出算法在页面置换中的作用,它总是把最先进去的页面最早的置换出来,提高了进程在执行的速率。使我对存储器管理有了更深刻的理解。在写代码的过程中遇到了一些困难,主要是大一上学期学习的c语言,到现在时间跨度有点长,许多知识都已经生疏了,通过查询c语言的课本,询问老师和同学,不断的运行,改正,虽然还有很多不足之处,但由于时间紧迫,无法做到完美,万分抱歉,希望老师不要介意。 -xx在排版的过程中,一次又一次的更正并追求与老师所要求的版式一致,可能有些地方理解的有些错误,但由于时间紧迫,无法做到完美,同样希望能得到老师的理解。 -xx撵瞩栖椒鲁坛挚罕磊喳加稿唤堂寐躲荣徒磕缔酋蹬皑秒辱涯席名确裙渣为雹敲曲希酶咳宽檀续弯碾仗磋睡悟钨单劲铆愤钻杂围顷徘咙攻欠抄诡痕黑藐毫骡提通歪优甩扶闪狸惊连彰用缆苹炳隙筋涕汞槛解敛闪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论