欢迎来到天天文库
浏览记录
ID:25751703
大小:449.50 KB
页数:36页
时间:2018-11-22
《《模拟unix文件系统的设计及实现》课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、*******************实践教学*******************XX理工大学计算机与通信学院2008年秋季学期操作系统原理课程设计题目:模拟UNIX文件系统专业班级:计算机班姓名:xxxxx学号:xxxxxxx指导教师:xxxx成绩:第35页总36页目 录1.摘要22.问题描述23.设计目的24.设计要求25.详细设计25.1界面设计35.1算法设计.36.设计总结37.参考文献48.致谢49.附录22第35页总36页模拟UNIX文件系统的设计及实现1.课程设计内容多用户的多级目录的文件系统设计。2.概述UNIX采用树型目录结构,
2、每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下:0#1#2#…K#K+1#K+2#K
3、+3#…n#i节点区文件存储区引导区管理区本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在内存中开辟一个虚拟磁盘空间(1MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。3.课程设计任务及要求3.1.设计任务多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login用户登录logout退出当前用户dir列文件目录creat创建文件delete删除文件open打开文件close关闭文件read读文件write写文件mkdir创建目
4、录ch改变文件目录rd删除目录树第35页总36页format格式化文件系统quit退出文件系统1.1.设计要求1)多用户:usr1,usr2,usr3,……,usr8(1-8个用户) 2)多级目录:可有多级子目录;3)具有login(用户登录) 4)系统初始化(建文件卷、提供登录模块)5)文件的创建:create(用命令行来实现) 6)文件的打开:open7)文件的读:read 8)文件的写:write9)文件关闭:close 10)删除文件:delete11)
5、创建目录(建立子目录):mkdir 12)改变当前目录:cd13)列出文件目录:dir 14)退出:logout新增加的功能:15)删除目录树:rd16)格式化文件系统:format2.算法及数据结构2.1.算法的总体思想本课程设计是要求我们模拟UNIX文件系统功能设计一个虚拟文件系统,依据UNIX文件系统的特点,其设计思想是:申请1M的内存空间来虚拟文件系统,将其以512B每块划分2048块,采用位示图管理文件系统的方法,利用其原理将第1块作为位图区(512B),共有对i节点区和数据块区分别建立位图;每个i节点占1
6、6B,每块有512/16=32个i节点,用2、3共两块作为i节点,总共有64个i节点,在位图区占用8B;其余2045块作为数据区(本课设要求只用到512块),在位图区占用接近256B(2045位)。文件系统存储区分配图如下:位图区i节点区数据区位图:用0表示未使用,1表示使用;i节点:文件控制块(FCB),描述文件信息的一个数据结构;数据区:存放用户数据,包括目录文件。位示图用以反映整个存储空间的分配情况,由若干字节构成,每个字节中的每一位对应文件存储器中的一块,“1”状态表示相应块已占用,“0”状态表示该块为空闲。存储块分配时,只要把找到的空闲块所对应的
7、位由"0"改为"1",而在释放时,只要把被释放的物理块所对应的位由"1"改为"0"即可。分配和释放都可以在内存的位示图上完成,而且速度较快。磁盘i第35页总36页节点利用在内存中生成链表或者数组的方法来生成,并且限制磁盘节点数的最大值。同样内存i节点利用链表的方法在内存中生成。同时在往文件中写或者读的时候我们都是对内存中有内容进行读写。在该文件系统中,规定一个文件最多只能占用2个数据块,这两个数据块可以是不连续的,其块号记录在一个索引块中,该索引块称为inode结构。读入一个文件时,先根据目录找到相应的i节点号,将i节点读入主存i节点,建立打开文件表指向该
8、主存i节点,再将文件内容读入主存数据区。1.1.系统总体框架图1.
此文档下载收益归作者所有