2022年操作系统课程设计计算机级 .pdf
《2022年操作系统课程设计计算机级 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统课程设计计算机级 .pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 报 告课程名称操作系统课程设计课题名称索引文件系统专业计算机科学与技术班级计算机 1001 学号姓名指导教师周 铁 山名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 23 页 -2013 年 1 月 3 日湖南工程学院课 程 设 计 任 务 书课程名称操作系统课程设计课题索引文件系统专业班级计 1001 算机学生姓名学号指导老师周铁山审批周铁山名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 23 页 -任务书下达日期2013 年 1 月 2 日任 务 完 成 日 期2013 年 1 月 5 日目录名师资料总结-精品资料欢迎下载-名师精心整理-第 3
2、页,共 23 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 23 页 -计算机 10 级操作系统课程设计任务书一、课程设计的性质和目的操作系统课程设计是计算机专业的专业课程,通过课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握操作系统的基本设计方法和技巧,进一步提高分析问题、解决问题及上机操作能力,为将来从事计算机工作打下一定的专业基础。二、设计课题课题一:模拟实现单级目录的FAT文件系统基本思路:用二进制文件空间模拟磁盘空间,用文件块操作模拟磁盘块操作。基本设计要求:1、实现如下文件系统功能(过程或函数):a、挂载文件系统FILE*OPENSYS(char*);b、
3、卸载文件系统int CLOSESYS(FILE*stream);c、显示目录void LISTDIR(void);d、建立文件int FCREA TE(char*);e、删除文件int FDELETE(char*);f、打开文件int FOPEN(char*);g、关闭文件int FCLOSE(int fileid);h、文件块读int FREAD(void*ptr,int n,int fileid);i、文件块写int FWRITE(void*ptr,int n,int fileid);j、判断文件结束int FEOF(int fileid);k、获取文件指针long FGETPOS(int
4、 fileid);l、设置文件指针int FSETPOS(int fileid,long offset);m、取得文件长度long FGETLEN(char*);2、提供文件系统创建程序3、有功能检测模块4、为简化程序设计,假定目录区域大小固定。文件系统空间划分:保留扇区FAT 表区(或字节映像图区)根目录区文件分区可以使用的C 语言文件操纵函数:FILE*fopen(const char*,const char*mode);int fclose(FILE*stream);int fseek(FILE*stream,long offset,int whence);long ftell(FILE
5、*stream);size_t fread(void*ptr,size_t size,size_t n,FILE*stream);size_t fwrite(const void*ptr,size_t size,size_t n,FILE*stream);课题二:模拟实现单级目录、单级索引的索引文件系统使用链接域将同一文件的各索引块按顺序连接起来;其余各项同课题一。三、课程设计报告要求1、设计报告要求A4纸打印成册;2、使用学院统一的封面;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 23 页 -3、课程设计报告每人一份,必须包含如下几个方面的内容:1)基本设计思想;2)主要数
6、据结构;3)主要实施流程;4)所有源代码;5)课程设计总结与体会。四、分组及选题办法1、按学号顺序一人一组,学号为奇数者为课题一,偶数者为课题二。2、成绩考核按个人课题完成情况、设计报告质量及对课程设计的态度等综合评定。五、设计进度安排1、讲课及上机调试时间安排:上课时间:上机时间:2、其余时间:查阅资料,确定方案,设计课题相关程序。3、个人答辩,交课程设计报告。主要数据结构提示:1、单级目录 FAT 文件系统:1)常量#define BlockSize 512#define DirSize 32 2)保留扇区结构struct ReserveBlock int sysblocknum;/*文件
7、系统总扇区数*/int resblocknum;/*保留扇区扇区数*/int fatblocknum;/*FAT 表扇区数*/int rootblocknum;/*根目录区扇区数*/char fillcharBlockSize-4*sizeof(int);/*填充字节*/;3)目录结构struct DirBlock char 11;/*文件名限长 11个字符*/char fillcharDirSize-4*sizeof(int)-sizeof(long int)-11;/*填充字节*/long;/*文件长度*/int year,month,day;/*日期*/int firstblockadd
8、r;/*文件首块扇区号*/;4)FCB(文件控制块)结构struct FCBBlock int fileid;/*文件标识*/struct DirBlock;/*目录信息*/long;/*文件读写指针*/int fdtblockaddr;/*目录项所在块号*/名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 23 页 -int fdtblockindex;/*目录项所在块内序号*/struct FCBBlock*next;/*指向下一个文件控制块的指针*/;2、单级目录单级索引文件系统:1)常量#define BlockSize 512#define DirSize 32 2)保留
9、扇区结构struct ReserveBlock int sysblocknum;/*文件系统总扇区数*/int resblocknum;/*保留扇区扇区数*/int mapblocknum;/*字节映像图扇区数*/int rootblocknum;/*根目录区扇区数*/char fillcharBlockSize-4*sizeof(int);/*填充字节*/;3)目录结构struct DirBlock char 11;/*文件名限长 11个字符*/char fillcharDirSize-4*sizeof(int)-sizeof(long int)-11;/*填充字节*/long;/*文件长度
10、*/int year,month,day;/*日期*/int firstindexaddr;/*文件首索引块扇区号*/;4)索引块结构struct IndexBlock int dataaddrBlockSize/sizeof(int)-1;/*数据块块号数组*/int nextindexaddr;/*本文件下一索引块块号*/;5)索引节点结构struct IndexNode struct IndexBlock block;/*索引块数据*/int blockaddr;/*本节点索引块块号*/struct IndexNode*nextnode;/*指向下一索引节点的指针*/;6)FCB(文件控
11、制块)结构struct FCBBlock int fileid;/*文件标识*/struct DirBlock;/*目录信息*/long;/*文件读写指针*/int fdtblockaddr;/*目录项所在块号*/int fdtblockindex;/*目录项所在块内序号*/struct FCBBlock*next;/*指向下一个文件控制块的指针*/struct IndexNode*firstindexnode;/*指向第一个索引节点的指针*/;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 23 页 -一实验目的:操作系统课程设计是计算机专业的专业课程,通过课程设计使学生进一步
12、巩固课堂所学知识,全面熟悉、掌握操作系统的基本设计方法和技巧,进一步提高分析问题、解决问题及上机操作能力,为将来从事计算机工作打下一定的专业基础。二程序功能:模拟实现单级目录、单级索引的索引文件系统,包含的功能有:文件的创建,文件删除,读,写,打开,关闭以及能显示目录。在创建文件时,系统首先为新文件分配所需的外存空间,并且在文件系统的相应目录中,建立一个目录项,该目录项纪录了新文件的文件名以及在外存中的地址等名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 23 页 -属性。它是目录文件中的一个记录,它与文件时一一对应。当不需要某个文件时,便可以把它从文件系统中删除。这时执行的是与
13、创建文件相反的操作。系统先从目录中找到要删除的文件项,使之成为空项,紧接着回收该文件的存储空间,用于下次分配。通过读指针,将位于外部存储介质上的数据读入到内存缓冲区这样就实现了文件的读取,通过写指针,将内存缓冲区中的数据写入到位于外部存储介质上的文件中。在开始使用文件时,首先必须打开文件。这可以将文件属性信息装入内存,以便以后快速查用。在完成文件使用后,应该关闭文件。这不但是为了释放内存空间,而且也因为许多系统常常限制可以同时打开的文件数。当创建文件时,先在目录表中查找是否存在此文件表,若存在则表示文件同名不能创建,否则在目录表中为此文件先建立一个目录项,保存文件的一些基本属性,如创建日期、大
14、小、文件名等,并保存文件的首索引块扇区号,对文件读写也是先在目录项里查找文件是否存在,再根据文件的首索引块扇区号,查找对应块号中的内容对其进行读写操作,删除一个文件后回收为其分配的空间,并更新目录表、修改文件控制块。显示目录项可以显示文件名、长度以及创建日期。三程序的基本设计思路:单级目录,单级索引的索引文件系统:单级目录,它是整个目录组织是一个线性结构,系统中的所有文件都建立在一张目录表中。它主要用于单用户操作系统,具有结构简单、文件多时目录检索时间长和有命名冲突等特点;文件的索引结构实际上就是把链接结构中的指针取出来集中存放在一起,这样它既能够完全利用每一个存储块的最大存储量,又保持物理块
15、为2 的幂。索引文件系统它是指为每一文件建立一张索引表,将文件中每个记录的记录号、长度和指向该记录的指针记入索引表中的一种文件组织形式。由于索引表本身是一个定长记录文件,因此可以十分方便地检索到相应记录的索引表项,从而可方便地对主文件中的记录实现直接存取。模拟实现单机目录,单级索引的索引文件系统基本思路:用使用链接域将同一文件的各索引块按顺序连接起来。在一个文件系统中对文件进行操作,实现文件的创建、读写等等操作。在创建文件时先在目录项中进行查找,若创建的文件已存在,文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功
16、,而文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从打开文件夹中抛出。文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,每次操作成功都要更改目录和索引信息。该过程都保存在文件中,是对文件的操作。本系统建于 Windows平台,开发环境为microsoft visual C+。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 23 页 -四程序流程图1.系统功能图2创建文件在创建文件成功后,要把新用的磁盘块连接到正确的位置,以确保文件索引结构的正确。另外,若外存磁盘块已用完,则不能再建立文件,表明文件建立的失败。Mai
17、n()文件系统界面创建文件打开文件显示目录写入文件删除文件读文件文件系统退 出 文 件 系统创建文件选择文件类型输入文件夹的内容取未用磁盘来存储信息选择文件类型输入文件的信息名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 23 页 -3.删除文件删除文件的流程与创建文件基本相同,也是先选择文件类型,然后再进行相应的操作。在删除文件中,要把该文件中所有属于该文件范围内的所占有的磁盘块都要进行“清零”处理,即释放磁盘块。4.写文件在向文件写入数据的过程中,若外存磁盘已满,则会停止向文件写入数据。5.读文件读取文件内的数据较为简单。可直接从目录索引表中查找到该文件,并得到该文件所在的
18、磁盘块号,然后读取该磁盘块里的内容,获取该文件的索引表,通过索引表来读取数据。6.打开文件打开文件可直接通过目录索引表来打开相应的文件。打开文件分为打开文件夹和打开文件两种方式。打开文件,则显示该文件的指针(文件所在的磁盘块)、文件创建日期及文件大小;打开文件夹,除了显示所述信息外,还要显示该文件夹里所有的文件的信息。五调试运行:1.进入功能菜单,选择要执行的功能,如下图一所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 23 页 -2.创建文件,如下图二所示:3.写文件,如下图三所示:4.显示文件目录,如下图四所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 12
19、页,共 23 页 -5.删除文件。如下图五所示:6.退出文件系统,如图六所示:六心得体会:这次的课设给了我很大的收获,不仅仅对计算机的知识有了进一步的了解,并且对我的实践能力提高的帮助也是相当大。刚看到课程任务书时觉得比较有难度的课程设计,但是它与以往的不同的是,功能的编码实现部分是已经提供的了,我们需要做的只是将它连接起来,首先要弄明白的是功能模块的作用,之间改怎样联系。其次还要了解变量之间的联系。总的来说就是要弄懂总个程序。名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 23 页 -但脑袋里面没有一个总体的概念是很难完成的,阅览代码就要充分了解设计者的思想。一直不停的阅览分
20、析,调试,修修改改才完成了这次课设的代码部分。这也让我明白了一个道理,读懂他人的思想并不比自己编程来的简单。在完成代码的过程中,出现了很多错误,一个一个慢慢修改。这让我体会到养成一种良好的编程习惯是非常重要的,不仅仅是变量的编写错误这些小毛病。还有不能一条一条语句编写,首先就是要够好思路才能达到事半功倍的效果。而且代码的编写格式也非常重要,这不仅仅是美观的问题而且便于对代码理解。编程也是交流精神也是非常重要的,由于自己的惯性思维对自己的错误很难发现,所以需要别人的帮助更快更容易发现错误。代码编写过程中,同学的热心帮助,老师的细心指导是很重要的。其次,代码编写能力也是很重要的,一个文件的创建更或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统课程设计计算机级 2022 操作系统 课程设计 计算机
限制150内