操作系统先进先出算法的实现.docx

上传人:b****5 文档编号:28302310 上传时间:2023-07-10 格式:DOCX 页数:12 大小:76.95KB
下载 相关 举报
操作系统先进先出算法的实现.docx_第1页
第1页 / 共12页
操作系统先进先出算法的实现.docx_第2页
第2页 / 共12页
操作系统先进先出算法的实现.docx_第3页
第3页 / 共12页
操作系统先进先出算法的实现.docx_第4页
第4页 / 共12页
操作系统先进先出算法的实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

操作系统先进先出算法的实现.docx

《操作系统先进先出算法的实现.docx》由会员分享,可在线阅读,更多相关《操作系统先进先出算法的实现.docx(12页珍藏版)》请在冰豆网上搜索。

操作系统先进先出算法的实现.docx

操作系统先进先出算法的实现

枣庄学院

信息科学与工程学院课程设计任务书

 

题目:

在Linux下先进先出算法的实现

 

学生1:

学生2:

专业:

计算机多媒体技术

课程:

操作系统

指导教师:

职称:

讲师

完成时间:

2013年12月----2014年1月

枣庄学院信息科学与工程学院制

2013年12月20日

课程设计任务书及成绩评定

课程设计的任务和具体要求

操作系统课程设计是操作系统课程学习的延续。

主要目的是配合操作系统课程的学习,对Linux操作系统有一定掌握,能够熟练操作,并能在Linux系统下模拟实现操作系统的功能,有助于对操作系统的理解。

本次课程设计共分两部分,其中第一部分为操作题,同学们需要对Linux的基本的命令(常用的几个,讲课的时候强调的),这部分,任课教师实时检查,让学生用命令完成一定的功能,然后,根据完成情况评定成绩。

第二部分为编程设计题,每组同学必须独立完成,可以选择进程调度,也可以根据自己的兴趣,选择模拟实现磁盘调度、银行家算法、页面置换算法等。

 

指导教师签字:

日期:

指导教师评语

 

成绩:

指导教师签字:

日期:

课程设计所需软件、硬件等

1.Windowsxp系统

2.WIN-TC

 

课程设计进度计划

起至日期

工作内容

备注

2012年12月20日

2012年12月23日

2012年12月24日

2012年12月25日

查找资料系统分析

概要设计

详细设计

写课程设计报告

参考文献、资料索引

序号

文献、资料名称

编著者

出版单位

[1]c语言课程设计案例精编清华大学出版社2004年版作者:

郭翠英

[2]计算机操作系统西安交通大学出版社2010年版作者:

殷士勇

[3]操作系统概念高等教育出版社2010年版作者:

西尔伯查茨

 

1.引言…………………………………………………………………………4

2.Linux的基本命令………………………………………………………4

2.1Linux目录管理有关命令………………………………………………4

2.2更改目录或文件访问权限的命令………………………………………4

2.3显示文件内容的命令……………………………………………………5

2.4文件管理命令……………………………………………………………5

3.算法思路……………………………………………………………………5

3.1先进先出算法步骤………………………………………………………5

3.2数据结构…………………………………………………………………6

3.3程序流程图………………………………………………………………6

3.4程序代码…………………………………………………………………6

4.程序调试……………………………………………………………………9

5.总结分析……………………………………………………………………10

 

1.引言

1.通过一学期的操作系统的学习,理解了一些linux操作系统的基本语法命令,也掌握了一些操作系统的运行过程,掌握了一些算法。

先进先出(FIFO)就是其中之一,我们想在期末课程设计来通过模拟实现请求页式存储管理的基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中基本页面置换算法的基本思想和实现过程。

2.虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。

在虚拟存储器系统中,作业无需全部装入,只要装入一部分就可运行。

本实验使用请求分页存储管理。

建立一个页表,要访问页面时,先查页表,若当前页在内存中,直接访问,不在内存中则调入该页到内存中,同时用FIFO算法淘汰最先进入内存的页。

3.操作系统课程设计是操作系统课程学习的延续。

主要目的是配合操作系统课程的学习,对LINUX操作系统有一定掌握,能够熟练操作,并能在LINUX系统下模拟实现操作系统的功能,有助于对操作系统的理解。

2.Linux的基本命令

2.1Linux目录管理有关命令

(1)pwd---显示当前工作目录的绝对路径

格式:

pwd

(2)cd---改变当前工作目录

命令格式:

cd[目录名]

(3)Ls---列出文件目录的信息

命令格式:

ls[可选项][子目录名][文件名]

(4)mkdir---建立目录

命令格式:

mkdir[可选项][目录名]

(5)rmdir---删除目录

本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。

命令格式:

rmdir[可选项][目录名]

2.2更改目录或文件访问权限的命令

(1)Ls---查看访问权限

格式:

ls–l文件名

(2)chmod---改变文件或目录的访问权限

命令格式:

chmod[可选项][权限][目录或文件名]

(3)chgrp命令----改变文件或目录所属的组。

命令格式:

chgrp[选项]groupfilename

选项:

-R:

递归式地改变指定目录及其下的所有子目录和文件的属组

(4)chown----更改某个文件或目录的属主和属组

命令格式:

chown[选项]文件或目录的新属主[.文件或目录所在的新组][文件名|目录]

2.3显示文件内容的命令

(1)cat----显示,新建,连接文件

(2)more---在终端屏幕按屏显示文本文件。

命令格式:

more[-选项]文件

(3)less

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。

(4)Head---显示文件或标准输入的头几行

命令格式:

head[-n]文件

(5)tail---显示文件的尾部

命令格式:

tail[+/-num][参数]文件

2.4文件管理命令

(1)touch---功能:

将文件的修改时间改为当前时间,如果文件不存在则建立一个空文件。

命令格式:

touch[-选项]文件

(2)cp---功能:

文件或目录的拷贝,如同dos的copy

命令格式:

cp[选项]源文件或目录目标文件或目录

(3)mv---功能:

为文件或目录改名或将文件由一个目录移入另一个目录中

命令格式:

mv[选项]源文件或目录目标文件或目录

(4)rm---功能:

删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除

3.算法的实现

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

3.1先进先出算法步骤

(1)设置一些页面参数

intpagenum=0内存页面数

inttotal=0要访问的页面总数

intlacknumber缺页的总数

(2)设置一个队列

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

(3)执行算法

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

以输入-1结束

3.2数据结构

Array[0][20]定义一个数组

Voidmain()系统主函数

Cin>>pagenum键盘输入页号

3.3程序流程图

程序流程图如下所示:

3.4程序代码

#include

usingnamespacestd;

intpagenum=0;            

inttotal=0;              

intlacknumber=0;           

voidmain()

{

 intarray[1][20];            

 for(inty=0;y<2;y++)

 for(intx=0;x<20;x++)

 {array[y][x]=-1;}

 intseque[20]={0};

 cout<<"请输入内存的页面数:

";

cin>>pagenum;

 cout<<"请输入页面的访问顺序(输入-1结束):

";

 for(inti=0;i<20;i++)

 {

 intnum;

 cin>>num;

 if(num!

=-1)

 {

  seque[i]=num;

           total++;

 }

 Else

 {seque[i]=num;break;}

 }

 cout<<"总的页面数为"<

   intj=0;

   for(i=0;i

 {

    if(i

  {

 array[0][i]=seque[i];

 cout<<"页面"<

 cout<<"缺页 此时页面内容为";

 for(intj=0;j

 {cout<

 cout<<"(-1代表没有内容)"<

  }

   cout<

 }

intkk=0;

for(i=pagenum;i

{

 intflag=0;

 for(intk=0;k

 {

  if(array[0][k]==seque[i])

  {flag=1;break;}

 } 

    cout<

 if(flag==1)

 {  cout<<"页面"<

cout<<"此时页面内容为";

 for(intj=0;j

 {cout<

 }

    cout<

 if(flag==0)

 {

 inttem=array[0][kk];

       array[0][kk]=seque[i];

 cout<<"页面"<

       cout<<"缺页 页面"<

   cout<<"此时页面内容为";

    for(intj=0;j

 {cout<

 cout<

 kk++;

 lacknumber++;              

 if(kk==pagenum)

 {kk=0;}

 }

}

       lacknumber=pagenum+lacknumber;

 

 cout<<"缺页率="<展开阅读全文

相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1