基于Linux的模拟文件系统的设计与实现doc.doc
《基于Linux的模拟文件系统的设计与实现doc.doc》由会员分享,可在线阅读,更多相关《基于Linux的模拟文件系统的设计与实现doc.doc(98页珍藏版)》请在咨信网上搜索。
1、基于Linux的模拟文件系统的设计与实现【实用文档】doc文档可直接使用可编辑,欢迎下载中北大学操作系统课程设计说明书学院、系:软件学院专业:软件工程学生姓名:申云如学号:11201914设计题目:基于Lnux的模拟文件系统的设计与实现起迄日期:2013年11月日 201年2月6日指导教师:李玉蓉201 年 12月 日1 需求分析本次是基于inu的模拟文件系统的设计与实现,其设计内容如下:1、设计一个10个用户的文件系统。每个用户最多可以保存0个文件,一次运行用户可打开多个文件。2、程序采用二级文件目录。(即设置主目录(MD)和用户文件目录(UFD)。另外,可打开文件设置指针。3、为了方便实现
2、,对文件的读写作了简化。在执行读写命令时,只需改读写指针。并不进行实际的读写操作。4、实现的基本功能主要包括:改变目录(CD),创建目录(MD),显示目录(D),删除目录(RD),打开全部文件(openal),打开单个文件(ope),建立一个文件(at),删除一个文件(delete),写文件(rie),读文件(read),改文件的保护码(cane),退出(exi)等。要求:考虑特殊情况如:各个命令对全路径和相对路径的支持、目录不存在时,给出错误信息、不能用cd进入文件、命令之中不能有空格(如 x ,给出错误提示)、相对路径的解析、路径中的空格剔除、新建目录或文件时的问题、重名问题、目录或文件的
3、名字长度限制、目录或文件的名字中包含不合法字符(注意空格)、删除目录或文件时的问题、删除不存在的文件或目录给出错误提示、删除目录时目录不为空(如果该目录为空,则可删除,否则给出是否做删除提示,删除操作将该目录下的全部文件和子目录都删除)、进入到某个目录下,却要删除本目录或上级目录、不能用dee删除目录、不能用RD删除文件等都要考虑在内。用户验证和操作算法思想:用结构体strucuer来对用户信息进行存储,利用useHad链表对用户进行检索和查找在线用户,以便更好的实现用户登录的验证.目录操作算法思想:首先用结构体struc ldr存储目录信息,利用数组对目录名以及目录创建时间进行存储,在每次创
4、建目录时,检索目录链表,进行添加链表;改变目录,调用cd()来实现对目录的改变,删除文件时,依次检索链表来实现对链表的删除,并实施操作删除文件系统的目录;添加目录时,用添加链表的函数进行添加,并实施操作添加文件系统的目录.文件操作算法思想:首先用结构体strucffle存储文件信息,利用数组对文件名,文件创建者,文件权限,文件创建时间,在每次创建文件时,检索文件链表,进行添加链表,并实施操作添加文件系统的目录;删除文件时,依次检索链表来实现对链表的删除,并实施操作删除文件系统的文件;改变文件权限时,查找文件链表并返回文件的基本信息,开始对文件的权限修改。 2 总体设计本程序共分为11个功能,在
5、小组任务分配中共分为四个部分:文件系统的整体设计接口和用户验证、目录和文件链表的操作和接口实现、目录操作功能的实现以及文件操作功能的实现.主函数首先对用户进行验证,然后调用11个函数,来实现对文件系统各功能的实现,各函数为: cd();m();dr();rd();opn();cret();delet();writ(); hode();el();eit(1);主函数主要是先对用户链表进行初始化,然后进行用户验证以及登录,并选择命令对文件进行操作。整体流程图如下图-所示:图2-13.详细设计/添加目录列表void adddir(chadirnae,char creattie) stc ldr *p
6、,q; =(trut lr *)malo(sieo(tct dr); strcy(q-irame,dirnme); srcpy(-crate,atime); =irHead; if(p=NULL) /判断是否是头指针serHead dirHe=; iHeadnexNULL; lse wle(next!NUL) pp-next; pext; qnxtUL; /创建目录vod () tim_pe; ie(ptim); car die0; int st=0; /判断目录是否创建成功 int(”请输入创建的目录名:n”); sc(,dirname); statmkir(ime); /创建目录 if(!
7、stat) pritf(”目录创建成功!n”) ; addi(irna,cim(&ptime); ese prit(目录创建失败!n); /改变目录void c() har curr30; /当前目录 car ame1; /改变目录 prntf(”当前路径为:n); scp(curdi,gtcw(NLL,0)); pin(,curdir); rt(”请输入改变的目录n); scf(”s,dinme); hdir(dirname); 改变目录 srcat(cudir,/); srct(cuir,dirnam); prinf(改变后的目录为:”); rint(%s,curr);/删除目录int d
8、eeir(char irname) srut lir *p,*; p=drH; if(p=NULL) 检验链表是否为空 return 0; whe(p!=NLL&stcmp(dirname,dirnm)) q; p=pxt; /保存上一指针 if(p=dirHe) /寻找目录名是头指针 irHaddiHed-et; ls qnext=p-et; fee(); /释放占用内存 return 1;/删除目录d rd() car drnae20; printf(”请输入要删除的目录名:n); anf(s,rname); if(dletdir(diram)) printf(”目录删除成功!n); rm
9、ir(dirnae); /删除目录 ele printf(”目录删除失败!n); /显示目录voidir() strut ir p; p=dirHea; whie(!=UL) prt(ssn”,preattime,-dirm); p=pnet; 登陆如图:创建目录,显示目录如图:删除目录如图:改变目录如图:4心得体会经过近两个星期的实验,这次的课程设计终于完成了。本次课程设计是基于Linux的模拟文件系统的设计与实现,本次课程设计是我们第一次运用inx编程,中间遇到了很多困难,在这次实验中,我们充分理解并运用了in下的文件和目录的操作,理解了c语言的文件操作和目录操作,并且重新复习,理解了语言
10、,内存的开辟以及链表的使用方式。学习并熟悉了lux操作系统的使用,使用了linux下的C语言的编译环境gcc等的使用及操作方式,这对我们今后的学习发展有很大帮助.在设计的过程中遇到了很多的问题,首先是我们不会用inux系统,再者就是在设计的过程中发现了自己的c语言编程有很多都不熟悉了,对以前所学过的知识理解得不到位,掌握得不够透彻,通过这次课程设计,我又把以前所学过的知识重新复习了一遍。总的来说,经过这次试验,我的知识得以扩充,能力得以提升。信息工程学院嵌入式系统设计课程设计报告题目: 基于Linux的文件下载功能的设计与实现学号:学生姓名:专业名称:计算机科学与技术班级:目录. 课题研究意义
11、和现状- -1.1课题研究意义 -12课题研究现状 1 -2。 系统总体方案设计及功能模块介绍22.系统概述及总体方案设计 -系统软件设计与实现 3。1 主程序设计与实现 2 32 服务器端程序设计与实现 。 客户端程序设计与实现- 4. 系统测试 8 4.1 系统软件测试842 系统硬件测试- 8 .总结和展望9 。参考文献 1 课题研究意义和现状1。1课题研究意义随着微机技术的不断发展,在许多工程领域单片机的应用日趋广泛,已逐渐取代了单板机。为了适应这一新形势的变化,目前许多高校及一些中等专科学校已不再开设以单板机为主的“微机原理、接口及应用课程,而直接讲授单片机及有关技术。但是目前缺少相
12、应的实验设备及教材。鉴于这种情况,从教学和科研两个角度出发,我们此次的毕业设计尝试设计一种单片机教学实验板,来满足有关单片机教学实验的要求。从教学实验的角度出发,该实验板可适用于电类专业和非电类专业不同层次单片机教学实验的要求,如:自动化,仪器仪表,电子技术,电子测量,计算机应用,机电一体化等各专业,及机械专业。利用该板可以做各种编程实验,和一些简单的输入输出接口实验.如彩灯实验,数码管显示,音乐盒播放设计,键盘输入,模拟量的输入、输出,数模转换及电机正反转等。上述实验都不需要扩展硬件,该板上将提供全部接口和器件。同时为了强调学生的动手能力,在设计该实验板时,我们把T891单片机的所有控制线、
13、地址线和数据线经驱动后,将全部引入一排接线端子上,这就给系统的扩展提供了便利条件,我们可以在面包板上设计自己的接口电路,由单片机来控制实现.如存储器的扩充、键盘/显示接口芯片的扩展等、若连续做的话,可以使每个同学在自己占用的实验板上,设计成一个独立的应用系统。这对于同学们的实际工作能力,将会有一个很大的促进和提高。1课题研究现状嵌入式系统作为一个的热门领域,涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域的应用.随着后PC时代来临,嵌入式应用呈现系统复杂化,应用多样化,硬件集约化、软件平台化等特点。行业发展现状与趋势: 目前,在上海地区,嵌入式系统开发涉及的行业众多, 水平参差不
14、齐, 大多数停留在8位单片机开发这个层面上, 一部分单位开始采用2位机,并采用了实时操作系统。而具有能够同时进行软件设计和芯片设计的系统设计的系统级高端人才几乎没有, 国际上领先的多核嵌入式系统设计, 可重构嵌入式系统设计在上海市的应用还停留在少数研究单位的研究中.2系统总体方案设计及功能模块介绍 系统概述及总体方案设计21。1系统概述 通过u-boot,内核,根文件系统的移植实现文件的下载。212 总体方案设计1通过SD启动开发板;2.将u-bot下载到开发板的内存中,并将boot烧写到开发板的EMC上; 。重新启动开发板,(从EMMC启动); 4。将内核下载到开发板的内存中; 网络传输(f
15、tp服务器和客户端,ttp为文件传输协议);5.将虚拟机中的一个叫做nfsdir的目录挂载到开发板的根目录; 挂载:nfsdi这个目录下的内容,虚拟机可以和开发板实现共享; 挂载:通过nfs服务器实现; 。最终实现下载文件程序的运行.3系统软件设计与实现31主程序设计与实现系统移植与实现1、新建/bt目录,若有则不用新建2、将ubootfs412.n、umag与exs412oren。b拷贝到ftpboot目录下3、修改tftpbot目录权限 sdo cmd -R 77 /ttot、新建/urce目录,若有则不用新建5、将fsdr压缩包拷贝到该目录下,解压uo tarxfnfsr。ok。tar6
16、、修改sore目录权限 sudo hmod -R7/sure7、检查tft与服务器是否安装 atahe olic tfpdh apt-cache plic nfskrlserver 如果没有安装,则在终端输入do aptget ntal tftd-ha sudoapt-einsnkrne-sver进行安装8、修改配置文档: tft服务器: 、sudo vimc/deful/tftpdha /tc/defaultftpdhp TFTP_USRNAEtftp TFTP_DEO”/tftpboot TFTDDRESS”.00.0:69 TFT_OPTIONS=l c”0 保存退出 、查看tp服务器状
17、态 sudo ervcetftdhpaats 若为正在运行,则重启:sudo sice tftpdhp ert 若停止,则启动:uosevic ttdhpa at nf服务器: 1、sudvi /export /sorc/nfdir *(rw,ync,n_suecheck,noroo_squah) 2、查看fs服务器状态 sudosrice nfs-kerelsrie sttus 若为正在运行,则重启:sudosrvcf-rel-serve rsrt 若停止,则启动:sudo svie nfsernl-sere stat9、启动开发板 设置参数:setenvpd 12。168。00.0 sen
18、v sererip268.0.2 vn tftp 410000 bootfs42。bn movi wrte ubo 40000 重启开发板,重新设置参数: tenv iadd19168.100。200 sten sererip 192。18.002 setenv bootmd tftp 410000 Iae;ft 420000 exos412-orien。db;bootm1000 0000 et booargs nointrd roo/dv/nfs fsrt192.168。1。2:/ource/nfsdirrw oowait conso=SAC2,100n8 iit=lnuc ip=19216
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用文档 基于 Linux 模拟 文件系统 设计 实现 实用 文档 doc
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。