欢迎来到天天文库
浏览记录
ID:47493029
大小:766.50 KB
页数:14页
时间:2020-01-12
《广东工业大学操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计课程名称操作系统题目名称文件系统学生学院计算机学院专业班级计算机科学与技术10级8班学号学生姓名指导教师_______2013年1月5日14目录1设计目的12设计内容13设计步骤24经验与体会105附录11141设计目的模拟文件系统实现的基本功能,了解文件系统的基本结构、内部功能和实现,通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,实现文件系统的管理和控制功能。2设计内容2.1实现功能实现一个简单的多用户多级目录要求如下(具体选做):1)实现二级目录管理及文件管理基本操作;2)实现无穷级目录管理及文件管理
2、基本操作;3)在1)或2)基础上实现共享“别名”;4)在1)或2)基础上加快了文件检索;5)基于某项实际应用进行文件系统设计。2.2开辟空间在内存中开辟一个虚拟磁盘空间作为文件存储器,用位示图来管理文件存储空间,采用显式链接分配方式,将位示图合并到FAT表中。2.3目录结构文件的物理结构采用显式链接的方式。文件的目录结构是多用户多目录结构的。如:主文目录MFD,用户文件目录UED,运行文件目录AFD,每级目录都有具体内容。目录用索引节点的方式组织。2.4实现的操作1)create:创建文件2)delete:删除文件3)open:打开文件4
3、)close:关闭文件5)read:读文件6)write:写文件7)mkdir:创建目录(子目录)8)cd:改变当前目录9)dir:列出文件目录10)login:登陆系统11)logout:退出系统2.5设计一个用户友好的界面3设计步骤3.1需求分析14在内存中申请1M的空间来模拟存取设备,空间划分为三部分,第一部分用来存放位示图,用于标识数据块的使用情况,第二部分放置一个文件索引的数据,用于快速的查找数据,第三部分放置数据信息,第三部分划分为512块,每块512B,其256K,放置在1M空间的最末端,由第三部分的大小可知,第一部分只需6
4、4B即可,中间的部分用来存放文件索引。其他用到的存储单元由系统分配。需要实现的功能:1)实现二级目录管理及文件管理基本操作;2)实现无穷级目录管理及文件管理基本操作;3)在1)或2)基础上实现共享“别名”;4)在1)或2)基础上加快了文件检索;5)基于某项实际应用进行文件系统设计。3.2概要设计首先系统要完成初始化的任务,建立一个系统,并等待用户登录使用文件系统,用户登录系统时,系统对用户的用户名(允许用户有限次的尝试,最多尝试五次),如果用户登录成功,则系统进入命令提示符状态,等用户输入指令后,系统得用一个解释程序按照指定方式处理用户请
5、求,用户退出后,系统转入登录模块,等待下一位用户的登录。3.3详细设计3.3.1函数调用关系:FindBlankFileBlockId()*FindBlankFileBlock()GetCurrentTime()14AddFileIndex()UpdateBitMap()*CreateFileElement():FindBlankFileBlockId(),AddFileIndex(),UpdateBitMap()*CreateFileBlockList()InitFileSys():*CreateFileBlockList(),*Cre
6、ateFileElement()Login()Create():*CreateFileElement()Dir()Mkdir():*CreateFileElement()等等3.3.2各程序流程图:1)创建文件(create):在当前目录里创建文件,在内存中找到空闲文件块来存放用户文件信息,新创建的文件的状态默认为关闭,同时更新位示图和索引表。2)删除文件(delete):在目录中找到要删除的文件的目录项,使之成为空项,回收该文件所占用的存储空间。3)打开文件(open):在当前目录进行操作,根据文件名,在索引表里找到该文件的物理块号,然
7、后找到该文件的信息,将文件的状态设为打开。144)关闭文件(close):在当前目录进行操作,根据给出的文件名,在索引表里找到该文件的物理块号,根据块号找到该文件信息,若此文件当前状态是打开则将该文件的状态设为关闭。否则,输出“当前目录没有要关闭的文件”。5)读文件(read):在当前目录进行操作,根据文件名,检测文件是否已经打开,若文件已经打开则将文件的信息显示到屏幕上。6)写文件(write):在当前目录进行操作,根据文件名。检测文件是否打开,若已经打开,用户输入完成后,使用CTRL+D,结束输入,系统将用户的输入内容,保存到相应的文
8、件块(小心越界情况)。147)创建目录(子目录)(mkdir):在当前目录创建目录,与创建文件类似,但文件夹在文件元素结构中的数据部分为空。同样新位示图和文件索引表。8)改变当前目录(cd):
此文档下载收益归作者所有