操作系统上机实验报告

上传人:沈*** 文档编号:99995716 上传时间:2022-06-01 格式:DOC 页数:26 大小:139KB
收藏 版权申诉 举报 下载
操作系统上机实验报告_第1页
第1页 / 共26页
操作系统上机实验报告_第2页
第2页 / 共26页
操作系统上机实验报告_第3页
第3页 / 共26页
资源描述:

《操作系统上机实验报告》由会员分享,可在线阅读,更多相关《操作系统上机实验报告(26页珍藏版)》请在装配图网上搜索。

1、-课程设计(上机实验)报告课程名称: 操作系统原理 学生: 海洋 学 号:所在学院: 计算机科学与技术学院 专 业:指导教师:钱景辉 2021年 1 月 11 日课程设计上机实验报告填写说明1本报告作为指导教师对学生课程设计上机实验评分的依据材料之一。此报告应在指导教师指导下,由学生在课程设计上机实验完毕时完成,以班为单位收齐后按时交给指导教师批阅;2本报告容必须用黑墨水笔工整书写或按信息学院统一设计的电子文档标准格式可从信息学院网页上下载打印小4号宋体,1.5倍行距,制止打印在其它纸上后剪贴;3本报告中的设计说明书应按论文的格式成文,并直接书写或打印在本报告设计说明书栏目。其容可以结合设计题

2、目的容和要求,根据自己在本课程设计上机实验阶段所完成的工作,说明自己所采取的设计思想和方法硬件的设计及其电原理图分析介绍,和/或软件的算法和数据构造及其主要模块介绍、程序在测试用例下的测试运行结果等、完本钱课程设计的心得体会、设计中的缺乏及改进设计的设想或建议等。 说明书的篇幅应不少于2000字。4对硬件类课程设计,应绘制或打印硬件设计图纸或实验原理图,作为设计报告的。5软件类课程设计上机实验的软件文档含软件清单和程序运行的有关结果可以单独打印成册或上传到指导教师指定计算机,作为课程设计报告的。课程设计上机实验报告的是指导教师对学生课程设计上机实验评分的另一个依据。 课 程 设 计上 机 实

3、习报 告课程设计上机实验题目:文件系统的模拟设计目的与任务:理解操作系统文件系统的*些工作原理,学习文件操作命令和目录操作命令的设计方法。通过实验,使学生加深对操作系统文件系统*些问题的理解,归纳学习方法和思考方法,做到理论联系实际。培养学生分析问题、解决问题的能力,提高学生软件设计能力和逻辑思维能力。设计实现一个简单的文件系统,包括目录文件、普通文件,以及一些文件操作命令和目录操作命令(例如可以模仿DOS的有关命令)。1. 修改md命令;2. 修改Help命令;3. 修改命令行预处理程序;4. 新增fc命令,实现两个文件的比较;5. 新增batch命令,实现批处理;6. 完善copy命令,改

4、善*些缺陷。容和要求:1.修改md命令:增加属性参数,用于创立指定属性的子目录。命令形式如下:md 。属性包括R、H、S以及它们的组合(不区分大小写,顺序也不限)。例如:md usr rh其功能是在当前目录中创立具有只读和隐藏属性的子目录user.2. 修改Help命令:修改help命令的显示方式和显示容:修改Helpd()函数,使之提供菜单式的较详细的帮助信息。例如可以先用菜单形式简单列出各命令名称,当用户选择*个命令的序号后,再比较详细地介绍该命令,包括命令的各种形式,每种形式的功能,以及*些举例说明等等。3. 修改命令行预处理程序:修改命令行预处理函数Parsemand( ),使以下命令

5、行(命令与参数间无空格符)可以正确执行:cd/,cd.,dir/usr.copy/usr/boy mail 即命令名称与后边的/或.之间不需要空格也能正确执行。4.新增fc命令,实现两个文件的比较:命令形式:fc 5.新增batch命令,实现批处理:命令形式:batch batchfile命令功能:从磁盘文件batchfile逐行读入命令行执行,直到batchfile中所有命令行都执行完毕为止。6.完善copy命令,改善*些缺陷:正确的功能应该是:假设当前目录中不存在文件boy,则报错;第2个命令假设当前目录是根目录,因根目录没有父目录,故应报错;假设当前目录的父目录中已经存在名为boy的文件

6、,也报错(或询问用户是否覆盖)。其他情况上述命令都应能正确执行。 课 程 设 计上 机 实 习报 告设 计 说 明 书说明书的撰写要求请参看封里的报告填写说明3。篇幅不够可附页一 修改md命令开场命令格式正确吗指定路径正确吗新目录有重名吗在指定目录中查找空目录项(假设已无空目录项,则为其分配新的盘块),找到后为新目录登记目录项。为新目录分配1盘块,用于登记该目录的第一个目录项,即.目录项。查询文件的RHS属性,并记录、存储。返回显示相关的错误信息否否是是是否 流程图如下:课 程 设 计上 机 实 习报 告 设计思想:程序的指令格式为md user |rh,需改为md user rh格式,因此可

7、在md user |rh中修改代码实现修改功能。要实现此功能,只需要获取目录的属性时删除判断操作符|的过程即可。具体方法:在GetAttrib函数中删除如下代码:if (str0!=|)coutn命令中属性参数错误。n;return -1; 修改后的操作方法:输入mduserrh即可正确执行 截图如下:二 修改Help命令 流程图如下:课 程 设 计上 机 实 习报 告显示help命令可选内容开场命令正确.是输入126或0是显示所需help信息返回否报错否设计思想:利用switch(n) case语句实现选择只查看需了解的操作命令。 具体方法:首先利用cout语句输出改操作系统所拥有的命令.并

8、用数字标明,供用户选择,再利用switch(n)case语句实现具体容的介绍。例如: cout 1.create t;case 1:cout create n 创立新文件,文件属性是r、h或s。n; break; 运行效果如下:三 修改命令行预处理程序 流程图如下:开场命令格式是否正确命令中是否有参数指定路径是否正确是是是将获得的全路径名以及指定目录的首块号保存到当前目录变量中返回显示错误信息否否显示当前目录否 设计思想:在命令行预处理函数Parsemand()中进展修改,使以下命令行(命令与参数间无空格符)可以正确执行:cd/,cd.,dir/usr,copy/usr/boy mail具体方

9、法:在Parsemand()处理cd/,dir/usr等情况的代码中增加处理.的代码。for (i=0;d0i!=0;i+)if(d0i=/)/处理cd/,dir/usr等情况break;else if (d0i=. & d0i+1=.) break;四 新增fc命令,实现两个文件的比较流程图如下:开场命令格式是否正确调用ProcessPath()查找两文件的指定路径指定路径是否正确调用FindFCB()查找两文件的首块号文件是否存在将文件内容进展比较并输出结果返回显示错误信息否否否是是是 设计思想:首先利用ProcessPath()函数和FindFCB()函数查找文件的目录所在首块号和文件所

10、在首块号,判断其存在性,并记录其全路径名。如果需要比较的文件都存在的话则进展比较。 具体实现:int Fcd(int k)if(k!=2)cout出错:输入命令格式错误,请重新输入endl;return false;short int i,j=0,s1,s2,size1,size2,s,s3;char attrib=0,*FileName,*FileName1,Buffer1,Buffer2;FCB* fcbp ,*fcbp1,*fcbp2 ;s=ProcessPath(d1,FileName,k,0,20);/取FileName所在目录的首块号if (s1)/路径错误return s;/失败

11、,返回s1=FindFCB(FileName,s,attrib,fcbp); /取FileName的首块号(查其存在性)fcbp1=fcbp;if (s10)coutn要比较的文件不存在。n;return -1;s3=ProcessPath(d2,FileName1,k,0,20);/取FileName1所在目录的首块号 if (s31)/路径错误return s3;/失败,返回 s2=FindFCB(FileName1,s3,40,fcbp);/取FileName的首块号(查其存在性)fcbp2=fcbp;if (s20)coutFsize; /取文件一的长度size2=fcbp2-Fsiz

12、e; /取文件二的长度if(size1=0&size2|size2=0&size1)cout两个文件的长度不同:endl;cout文件FileName的长度size1endl; cout文件FileName的长度size2endl;cout0&s20)for(i=0;iSIZE;i+,j+)if(j=size1&j=size2) break;Buffer1=Disks1i; /读第一个文件容 Buffer2=Disks2i; /读第二个文件容if(Buffer1!=Buffer2) /比较 cout文件FileName长度为:size1endl;cout文件FileName长度为:size2e

13、ndl;cout第一个不同字节的位置为第j+1个字节endl; cout此时两个文件的字符分别为Buffer1和Buffer2endl; return false;if(iSIZE) break; /完毕while循环,防止进入死循环 if(j=size1&j=size2)cout两文件容一样endl; cout文件长度为:size1; return true;return 1;效果图如下:五 新增batch命令,实现批处理流程图如下:开场命令格式是否正确指定路径是否正确调用FindFCB()查找文件的首块号文件是否存在读取文件内容并输出文件要求执行的指令调用ProcessPath()查找文件

14、的指定路径返回显示错误信息否否否是是是 设计思想:batch命令从磁盘文件batchfile逐行读入命令行执行,直到batchfile中所有命令行都执行完毕为止。 具体方法:int Batchd(int k) short i,s,size,jj=0,*=0, y=0; char attrib=0,*FileName; char gFileNamePATH_LEN; /存放文件全路径名FCB* fcbp; if(k!=1) coutn命令参数中应该只有一个文件名。n; return -1; else s=ProcessPath(d1,FileName,k,0,020);/取FileName所在目

15、录的首块号if (s1) /路径错误return s; /失败,返回 s=FindFCB(FileName,s,attrib,fcbp); /取FileName的首块号(查其存在性) strcpy(gFileName,temppath); i=strlen(temppath); if (temppathi-1!=/) strcat(gFileName,/); strcat(gFileName,FileName); /构造文件的全路径名if (s0) coutn文件gFileName不存在。n; return -3; if (s=0) coutn文件gFileNameFsize; char Bu

16、ffer10050; /分配动态存空间 while (s0)for (i=0;iSIZE;i+,jj+)if (jj=size)break;if(Disksi=n)Buffer*y=0;coutBuffer*endl;*+; y=0; elseBuffer*y=Disksi;y+;if (iSIZE)Buffer*y=0;break;s=FATs;for(i=0;i=*;i+)coutnC:; /显示提示符(本系统总假定是C盘) if (dspath)coutcurpath.cpath;cout; coutBufferiendl;k=Parsemand(Bufferi); /分解命令及其参数/

17、d0中是命令,d1,d2.是参数 E*ecd(k); /执行命令return 1; 运行结果如下:六 完善copy命令,改善*些缺陷 流程图如下:否命令格式正确源文件存在开场源文件已翻开命令只有1个参数目标路径正确目标文件名正确目标文件名冲突目标文件与子目录同名源文件同名复制到该子目录中子目录有源文件同名文件为目标文件建立目录项,分配磁盘空间,复制源文件内容到新分配的磁盘空间。返回显示命令中参数太多或太少显示源文件不存在。显示文件正在使用不能复制。显示路径名错误。显示目标文件名错误。显示目标文件重名错误。否否否否是是文件复制到当前目录,同名复制源文件更名复制到目标目录中是是是否否是是否否是 设

18、计思想:实现将当前目录/usr中的文件复制到其父目录(根目录)中,文件名仍为原名,在Copyd( )函数中修改代码。 具体方法:修改局部代码如下else/k=2(命令中提供目标文件)的情况/用来判断第二个参数是否为.if(!strcmp(d2,.)int s=FindPath(d2,(char)16,1,fcbp);/找指定目录(的首块号)if(s1)coutn路径名错误!endl; return -1;strcpy(d2,temppath);/用来判断第二个参数是否为/if(!strcmp(d2,/)strcat(d2, FileName1);s02=ProcessPath(d2,FileName2,k,0,20);/取FileName2所在目录的首块号if(s021)/目标路径错误return s02; 效果图如下所示:指 导 教 师 意 见 容 及 要 求评 定 等 级优良中及格不及格独立完成全部工作量设计说明书质量创新素质,综合能力编程能力,软件质量遵守纪律,出勤率综合得分对学生课程设计上机实验的评语: 指导教师: 年月日所在专业审查意见: 负责人: 年 月 日. z.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!