操作系统课程设计计算机07级.doc
《操作系统课程设计计算机07级.doc》由会员分享,可在线阅读,更多相关《操作系统课程设计计算机07级.doc(26页珍藏版)》请在咨信网上搜索。
1、 . . . 课 程 设 计 报 告课程名称 数据库原理课程设计 课题名称 高校科研管理系统 专 业 计算机科学与技术 班 级 计算机0781 学 号 9 姓 名 熊材盛 指导教师 华光 谭小兰 2010年3月1-13日工程学院课 程 设 计 任 务 书课程名称 数据库原理课程设计 课 题 高校科研管理系统 专业班级 计算机0781 学生 熊材盛 学 号 9 指导老师 周铁山 审 批 任务书下达日期 2009 年 12 月 20 日任务完成日期 2010 年 3 月 14 日一、 课程设计的性质和目的操作系统课程设计是计算机专业的专业课程,通过课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌
2、握操作系统的基本设计方法和技巧,进一步提高分析问题、解决问题与上机操作能力,为将来从事计算机工作打下一定的专业基础。二、 设计课题模拟实现单级目录、单级索引的索引文件系统基本思路:使用域将同一文件的各索引块按顺序连接起来。基本设计要求:1、实现如下文件系统功能(过程或函数):a、 打开文件系统 FILE *OPENSYS(char *filename);b、 关闭文件系统 int CLOSESYS(FILE *stream);c、 显示目录 void LISTDIR(void);d、 建立文件 int FCREATE(char *filename);e、 删除文件 int FDELETE(ch
3、ar *filename);f、 打开文件 int FOPEN(char *filename);g、 关闭文件int FCLOSE(int fileid);h、 文件块读 intFREAD(void *ptr, int n, int fileid);i、 文件块写 intFWRITE(void *ptr, int n, int fileid);j、 判断文件结束 int FEOF(int fileid);k、 获取文件指针 longFGETPOS(int fileid);l、 设置文件指针 int FSETPOS(int fileid, long offset);m、 取得文件长度 long
4、FGETLEN(char *filename);2、提供文件系统创建程序3、有功能检测模块4、为简化程序设计,假定目录区域大小固定。文件系统空间划分:保留扇区FAT表区(或字节映像图区)根目录区文件分区可以使用的C语言文件操纵函数:FILE *fopen(const char *filename, const char *mode);int fclose(FILE *stream);int fseek(FILE *stream, long offset, int whence);long ftell(FILE *stream);size_t fread(void *ptr, size_t si
5、ze, size_t n, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);三、 课程设计报告要求1、 设计报告要求A4纸打印成册;2、 使用学院统一的封面;3、 课程设计报告每人一份,必须包含如下几个方面的容:1) 基本设计思想;2) 主要数据结构;3) 主要实施流程;4) 所有源代码;5) 课程设计总结与体会。四、 分组与选题办法1、 按学号顺序一人一组,学号为奇数者为课题一,偶数者为课题二。2、 成绩考核按个人课题完成情况、设计报告质量与对课程设计的态度等综合评定。五、设计
6、进度安排1、 讲课与上机调试时间安排: 上课时间: 未定上机时间: 2、 其余时间:查阅资料,确定方案,设计课题相关程序。3、 个人答辩,交课程设计报告。附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸与程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目录一 准
7、备知识.11、目录管理.1 2、可能用到的编程技术.2 3、用存模拟外存.3二 文件系统的数据结构.3三 程序设计思想.41、程序流程.42、文件系统的设计思想.5四 几个重要算法.5五 程序说明.71、源文件的简要说明.72、程序操作界面.7六 参考文献.7评分.8附件.9一 准备知识1、目录管理(1)管理结构在现代计算机系统中,一般需要存储大量的文件。为了能有效的管理这些文件,必须对它们加以妥善的组织,以便做到用户只需要向系统提供所要访问的文件的名字,就能够快速、准确地找到指定文件。目录管理涉与到文件控制块(File Control Block)和索引节点,目录管理可以分为单级目录结构、两
8、级目录结构和树型目录结构。文件控制块通常包含:基本信息、存取控制信息和使用信息三部分。索引节:在文件目录中的每个目录项由文件名以与指向该文件所对应inode的指针所共同构成。单级目录结构是最简单的目录结果。整个系统当中只建立一目录表,为系统中每一个文件分配一个目录项。本课设使用的是单击目录结构。在单级目录结果的基础上,为每个用户建立一个单独的用户文件目录UFD(User File Directory),此外在系统中再建立一个主文件目录MFD(Master File Directory),里面放有每个用户的目录项;该目录项中包含也难用户名和指向该用户目录的指针。如下图Hello.c1.asma.
9、o用户名指向子目录的指针BillStephenHappy.cWork.gz(2)两级目录结构树型目录机构:在两级目录结果中,再进一步允许用户创建自己的子目录,组织自己的文件,形成三级或者三级以上的文件目录结构,这就被称作树型目录结构。(3)文件系统的接口文件系统作为一个高效管理文件的程序,其运行更多的是在系统部进行,而用户所需要关心的只是它的接口。文件系统通常向用户提供两种接口;命令接口:这是用户与文件系统之间进行交互的接口。用户可以通过键盘终端键入命令来实现与文件系统的交互。程序接口:这是用户程序与文件系统之间的接口,用户程序可以通过系统调用取得系统文件的服务,完成自己需要的功能。(4)Fa
10、t文件系统见任务书2、可能用到的编程技术(1)Fopen:打开文件格式:FILE *fopen(const char *filename,const char *mode)需要头文件stdio.hfilename:待打开的文件名,如果不存在就创建该文件。mode:打开方式,常用的有“w”写方式打开,文件不存在就被创建,否则清除原来的容;“r”读写方式打开,文件必须存在;“a”添加方式打开;“w+”读写方式打开,有清除功能;“r+”读写方式打开,文件必须存在;“a+”“t”TEXT方式打开;“b”二进制方式打开(2)fwhite和fread:读写文件size_t fwite(const void
11、 *buffer,size_t size,size_t count,FILE *stream);size_t fread(void *buffer,size_t size,size_t count,FILE *stream); buffer:待读写的容; size:一次读写量; count:需读写buffer的次数; stream:打开文件的指针(3)fseek:定位文件int fseek(FILE *stream,long offset,int origin); stream:文件指针; offset:偏移量; origin:初始位置,有三个常量,SEEL_CUR是当前位置,SEEK_SET
12、文件开头,SEEK_END文件尾。3、用存模拟外存真正的文件系统在对外存进行管理时,会涉与到许多有关硬件、设备管理方面的底层技术。一方面这些技术不属于操作系统核心容,另一方面过的容容易造成实验者顾此失彼。所以在这里我们推荐一种使用存来模拟外存的方式,这样就可以跳过这些硬件技术而把精力直接放在数据结构设计和操作算法实现上面。假定pInode是一个指向inode结构指针,而且它已经放入了需要的数值,现在需要将其写入到特定位置。可用如下代码实现:fd=fopen(“filesystem”,”w+b”); /fd是FILE指针类型,w写方式,b表二进制fseek(fd,specific_area,SE
13、EK_SET); /fd是文件指针;specific_area为整形fwrite(pInode,1,sizeof(inode),fd); /写入pInode信息二 文件系统的数据结构1) 常量 #define BlockSize 512#define DirSize 322) 保留扇区结构struct ReserveBlock int sysblocknum; /*文件系统总扇区数*/int resblocknum; /*保留扇区扇区数*/ int mapblocknum; /*字节映像图扇区数*/ int rootblocknum; /*根目录区扇区数*/ char fillcharBloc
14、kSize-4*sizeof(int); /*填充字节*/;3) 目录结构struct DirBlock char filename11; /*文件名限长11个字符*/char fillcharDirSize-4*sizeof(int)-sizeof(long int)-11; /*填充字节*/long filelen; /*文件长度*/int year,month,day; /*日期*/int firstindexaddr; /*文件首索引块扇区号*/;4) 索引块结构 struct IndexBlock int dataaddrBlockSize/sizeof(int)-1;/*数据块块号
15、数组*/ int nextindexaddr;/*本文件下一索引块块号*/;5) 索引节点结构 struct IndexNode struct IndexBlock block; /*索引块数据*/ int blockaddr; /*本节点索引块块号*/struct IndexNode *nextnode; /*指向下一索引节点的指针*/;6) FCB(文件控制块)结构struct FCBBlockint fileid; /*文件标识*/ struct DirBlock fileinfo; /*目录信息*/ long filepos; /*文件读写指针*/ int fdtblockaddr;
16、/*目录项所在块号*/ int fdtblockindex; /*目录项所在块序号*/struct FCBBlock *next; /*指向下一个文件控制块的指针*/ struct IndexNode *firstindexnode; /*指向第一个索引节点的指针*/;三 程序设计思想1、程序流程这是个面向过程的程序,它的流程图如图所示:j=sys.resblocknum+sys.fatblocknum;i+isys.fatblocknumi=0memset(&fillchar,0,BlockSize);i+iji=0structReserveBlocksys; main函数流程图main函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 计算机 07
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。