《2023年操作系统上机实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年操作系统上机实验报告.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计(上机实验)报告课程名称:_ _ _ _ _ _ _ _ _ 操作系统原理学生姓名:沈海洋 学 号:所在学院:计算机科学与技术学院专 业:指导教师:_ _ _ _ _ _ _ _ _ _ _ _ _ 钱量旌2 023年 1月11 日课程设计(上机实验)报告填写说明1.本报告作为指导教师对学生课程设计(上机实验)评分的依据材料之一。此报告应在指导教师指导下,由学生在课程设计(上机实验)结束时完毕,以班为单位收齐后准时交给指导教师批阅;2.本报告内容必须用黑墨水笔工整书写或按信息学院统一设计的电子文档标准格式(可从信息学院网页上下载)打 印(小4号宋体,1.5倍行距),严禁打印在其它纸上后
2、剪贴;3 .本报告中的“设计说明书”应按论文的格式成文,并直接书写(或打印)在本报告”设计说明书”栏目内。其内容可以结合设计题目的内容和规定,根据自己在本课程设计(上机实验)阶段所完毕的工作,阐明自己所采用的设计思想和方法(硬件的设计及其电原理图分析介绍,和/或软件的算法和数据结构及其重要模块介绍、程序在测试用例下的测试运营结果等)、完毕本课程设计的心得体会、设计中的局限性及改善设计的设想或建议等。说明书的篇幅应不少于2 023字。4.对硬件类课程设计,应绘制或打印硬件设计图纸或实验原理图,作为设计报告的附件。5.软件类课程设计(上机实验)的软件文档(含软件清单和程序运营的有关结果)可以单独打
3、印成册或上传到指导教师指定计算机,作为课程设计报告的附件。课 程 设 计(上机实验)报告的附件是指导教师对学生课程设计(上机实验)评分的另一个依据。课 程 设 计(上 机 实 习)报 告课 程 设 计(上机实验)题目:文献系统的模拟设计目的与任务:理解操作系统文献系统的某些工作原理,学习文献操作命令和目录操作命令的设计方法。通过实验,使学生加深对操作系统文献系统某些问题的理解,归纳学习方法和思考方法,做到理论联系实际。培养学生分析问题、解决问题的能力,提高学生软件设计能力和逻辑思维能力。设计实现一个简朴的文献系统,涉及目录文献、普通文献,以及一些文献操作命令和目录操作命令(例如可以模仿D O
4、S 的有关命令)。1.修改m d 命令;2 .修改H e I p 命令;3 .修改命令行预解决程序;4.新 增 f c 命令,实现两个文献的比较;5.新 增 b a t c h 命令,实现批解决;6 .完 善 c o p y 命令,改善某些缺陷。内容和规定:1.修 改md命令:增长“属性”参数,用于创建指定属性的子目录。命令形式如下:md 目录名 属性。属性涉及R、H、S以及它们的组合(不区分大小写,顺序也不限)。例如:md u sr r h其功能是在当前目录中创建具有“只读”和“隐藏”属性的子目录user.2.修改He Ip命令:修 改h e 1 p命令的显示方式和显示内容:修改H e 1
5、p Comd()函数,使之提供菜单式的较具体的帮助信息。例如可以先用菜单形式简朴列出各命令名称,当用户选择某个命令的序号后,再比较具体地介绍该命令,涉及命令的各种形式,每种形式的功能,以及某些举例说明等等。3.修改命令行预解决程序:修改命令行预解决函数ParseCommand(),使以下命令行(命令与参数间无空格符)可以对的执行:c d/,cd.,dir/usr.c opy/u s r/b o ym a il即命令名称与后边的“/”或”之间不需要空格也能对的执行。4.新增f c命令,实现两个文献的比较:命令形式:f c 文 献 名1 文献名25.新增b atch命令,实现批解决:命令形式:b
6、a tch b a tc h f i le命令功能:从磁盘文献b a tc h fi l e逐行读入命令行执行,直到b a tch f i I e中所有命令行都执行完毕为止。6.完 善c。p y命令,改善某些缺陷:对的的功能应当是:若当前目录中不存在文献b o y,则报错;第2个命令若当前目录是根目录,因根目录没有父目录,故应报错;若当前目录的父目录中已经存在名为boy的文献,也报错(或询问用户是否覆盖)。其他情况上述命令都应能对的执行。课 程 设 计(上 机 实 习)报 告设 计 说 明 书(说明书的撰写规定请参看封里的“报告填写说明3”。篇幅不够可附页)一.修 改md命令流程图如下:摞 程
7、 设 计(上 机 实 习)报 告设计思想:程序的指令格式为md user|rh,需改为md user rh 格式,因此可在m d user Ir h 中修改代码实现修改功能。要实现此功能,只需要获取目录的属性时删除判断操作符“I ”的过程即可。具体方法:在Ge t Attr i b 函数中删除如下代码:if(strO!=|)。coutnd user rh3:/二.修 改 He 1 p 命令流程图如下:课 程 设 计(上 机 实 习)报 告开始设计思想:运 用 swi t c h(n)c a se语句实现选择只查看需了解的操作命令。具体方法:一方面运用cout语句输出改操作系统所拥有的命令.并用
8、数字标明,供用户选择,再运用swit c h(n)case语句实现具体内容的介绍。例如:c o u t?/1.cr e at e t”;ca s e 1 :c o u t n”cd/usr:/usi*cd.:/四.新增f c命令,实现两个文献的比较流程图如下:设计思想:一方面 运 用P roc e s sPa t h()函 数 和FindFCB()函数查找文献的目录所在首块号和文献所在首块号,判断其存在性,并记录其全途径名。假如需要比较的文献都存在的话则进行比较。具体实现:i n t F c C o m d(i n t k)i f (k!=2)。c。u tV”犯错:输入命令格式错误,请重新输入
9、“e n d l;r e t u rn f a l se:。s h o r t i n t i,j=0,s l,s 2,si z e 1 ,si z e 2,s,s3;c h a r a t t ri b =0 ,*F i l e N a m e,*F i 1 e N a m e 1,B uf f e rl,B u f fe r2;oF C B*f c b p,*f c b pl,*f c b p2 ;s=Pro c e ss P a t h(c o m d 1 ,F i l e N a m e,k ,0 ,2 O );/取 F i1 e N a m e所在目录的首块号。i f (s l)/途
10、径错误 r e t u rn s;/失败,返回s 1 =F i n d F C B (F i 1 e N a m e ,s,a tt r i b,f c b p);/取 F i l e N a m e的首块号(查其存在性)f c b pl =f c b p;i f (sl 0)(。c ou t n要比较的文献不存在。n”;re t urn -1 ;)s3=P ro c e ss P a th (c om d 2,F i 1 e N a m e 1,k ,0,2 O );取 FileN a m e 1所在目录的首块号i f (s3 i f (s 2 F si z e ;取文献一的长度si z e
11、 2=f c b p2 F s i z e;/取文献二的长度i f (si z e l=0&si z e 2|s i z e 2 =0&si z e 1 )。8 c o u t v”两个文献的长度不同:e n d l;0 c o utF i 1 e N a m e 的长度”si z e l V e n d l;c ou t V文献“F i 1 eNameV的长度”s i z e 2 0&s2 0)(。f or(i=0;i S I ZE ;i +,j +)8 i f(j=s i z e l&j=s i z e 2)b re a k;。B uf f e rl=D i sk sl i;读第一个文献内
12、容B uf f e r2=D i s k s 2 i;读第二个文献内容。i f (B uf f e rl!=B uf f e r2)比较 c o ut “文献”F i l e N a m e V 长度为:s i z e 1 e n d l;b oc ou t F i l e N a m e n 长度为:V s i z e 2 e n d 1 ;8 c o u t 第一个不同字节的位置为第 V j+l 个字节”e n d l;c out*此时两个文献的字符分别为 B uf f e rl/,和 B uf f e r2 e n d l;000r e t u r n f a I se;b-i f(i
13、S I ZE)b r e a k;结束wh i 1 e 循环,避免进入死循环。if (j=siz e 1&j=s i ze 2)(。c o ut”两文献内容相同c ou t=-_个和就W-分7 07 7*1.的字震霹於stM-曲五.新 增 b a t c h 命令,实现批解决流程图如下:设计思想:b a t c h 命令从磁盘文献b a tc h f i 1 e 逐行读入命令行执行,直到b a tc h f il e中所有命令行都执行完毕为止。具体方法:int B a tc h C o m d (int k)s h ort i ,s,size,j j=0,x=0 ,y=0;ch a r a t
14、trib=/0 ,*File N a me;ch a r g Fil e N a me PA T H _ L EN ;/存放文献全途径名FC B*f c b p;if(k!=l)6 c o u t X n命令参数中应当只有一个文献名。n”;。e turn-1;)e lseo s=Pro c e ssPa th(c omd l,Fi 1 e N a me,k,0,0 20);/取 File N a me 所在目录的首块号 if (sl)/途径错误 re t u rn s;失败,返回)s=F i n d FC B (F ile N a me,s,a ttr i b,f c b p);取F ile
15、N a me 的首块号(查其存在性)strc p y(g F i 1 e N a m e ,t e mppa t h);i=strle n(t e mppa th);if (te mppa t h i-1 !=/)s t rc a t(g F i 1 e N a m e ,/);strc a t (g F i 1 e N a me,File N a me);/构造文献的全途径名b if (s0),c o u t ,z n 文献”g File N a me 不存在。n H;r e t u rn-3;d8e i f (s=0)c o u t F si z e;oc h a r B uf f e r
16、 1 0 0 5 0 ;分派动态内存空间wh i 1 e (s 0 )b f o r(i=0;iB uf f e r x y=0 ;a c ou t e 1 se 必 B uf f e r L x y=Dis k s i ;g y+;0 O O O I8 if (i S I Z E)(B uf f e r x y =0;b re a k;8 s=FA T s;f or(i=0;i=x;i +)oc out。n C:;/显示提醒符(本系统总假定是C盘)。i f (d s p a th)c o ut c ur p a t h .c p a th;g c o u t ;g c o u t B u f
17、 f e r i e n d 1;o 业 二Pa rse C omma nd (B uf f e r i);分解命令及其参数/c om d 0 中是命令,c om d 1,c o md 2 .是参数E x e c C o m d(k);执行命令b re t u r n 1;运营结果如下:设计思想:实现将当前目录/u sr中的文献复制到其父目录(根目录)中,文献名仍为原名,在 C opy C om d ()函数中修改代码。具体方法:修改部分代码如下e lse /k=2(命令中提供目的文献)的情况(8 /用来判断第二个参数是否为i f (1st re m p(c omd 2 ,.)。in t s=
18、Find Pa t h(c omd 2 ,(c h a r)1 6,1,f c b p);找指定目录(的首块号)8 i f(S 1)e c ou t n 途径名错误!e nd 1 ;re t u rn-1;O 0)3 ostrc py(c omd 2,te mppa th);用来判断第二个参数是否为i f (!s t rc mp(c omd 2 ,/)str c a t(c omd 2 ,File N a me l);。s0 2=Proc e ssPa th (c omd 2,Fi 1 e N a m e 2,k,0,20);取 File N a me 2 所在目录的首块号。if(s0 2cd
19、/usrC:/usi*copy boy boy_lC:/usrdirThe Directory of C:/usr一.userlibbinboy270cat171dirfile279dir0281boy2705 ile1271 bytes4 d i M s313152 free C:UsersuseDesktopexcise_1Debugexcise_1.exe:/cd/usi:/usrcopy cat.:/u sr dirhe D irectory of C:/u sruserlibbinboy270cat1?1iir f ile279iir 02814 file 1001 bytes4 dii*313344 free 指 导 教 师 意 见内 容 及 要 求评 定 等 级优良中及格不及格独立完毕所有工作量设计说明书质量创新素质,综合能力编程能力,软件质量遵守纪律,出勤率综合得分对学生课程设计(上机实验)的评语:指导教师:年 月日所在专业审查意见:负责人:年月 日
限制150内