|
操作系统课程设计题目与要求
(2005.06)
一、 题 目
模拟UNIX文件系统的设计及实现
1.文件系统应具有的基本功能
(1)多用户 :usr1,usr2,usr3,……,usr8 (1-8个用户)
(2)多级目录:可有多级子目录;
(3)具有login (用户登录)
(4)系统初始化(建文件卷、提供登录模块)
(5)文件的创建: create
(6)文件的打开:open
(7)文件的读:read
(8)文件的写:write
(9)文件关闭:close
(10)删除文件:delete
(11)创建目录(建立子目录):mkdir
(12)改变当前目录:cd
(13)列出文件目录:dir
(14)退出:logout
2.选用程序设计语言:C++、C等。
3. 设计参考资料:
1)教材和课件的第8章和第9章、教材上的第13章或教材上的第14章。
2)其他参考文献:
(1)王育勤等.计算机操作系统-基于UNIX系统V核心.清华大学出版社.2004
(2)Maurice J.Bach著,陈葆珏等.UNIX操作系统设计.机械工业出版社.2000
(3)胡希明.UNIX结构分析(核心代码的结构与算法). 浙江大学出版社.2002
二、课程设计需提交内容:
1.以软盘、光盘提交已调试通过的完整的“模拟UNIX文件系统”相关源程序和能够运行的执行文件;
2.提交“课程设计说明书”的电子版本,其内容详见下面“课程设计说明书的要求”;
3.提交时间:在下学期的第二周的星期五前交到所在教学点,由教学统一寄往华南理工大学网络教育学院教务科。
三、课程设计说明书应具有的内容及其参考评分标准:
(1)设计思想说明(5分);
(2)文件系统结构的说明(15分);
(3)数据结构的说明(6分);
(4)各模块的算法流程图(5分);
(5)程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共60分,其中源程序占20分,软盘(或光盘)的源程序中的文件系统及其各功能在计算机上实现程度占40分)
(6)使用说明书(即用户手册)(内容包含如何登录、退出、读、写、等操作说明)(5分)
(7)体会,建议(4分)
四、注意事项
1.按“课程设计需提交内容”提交完整的相关设计资料。
2.严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。
3.所提交源程序应是能够运行通过的完整程序。
4.程序中所设置用户名和密码,应在课程设计说明书中明确说明并实际运行通过。
五、提 示
1.本次课程设计为模拟UNIX文件系统来设计一个多用户多目录的文件系统。
1)课程设计所利用的空间为1M的内存。这1M内存分成512块,每块为512个字节,这512块就是文件系统的可用块数,文件系统的分配就是以块为单位来分配的,空闲块的管理利用位示图的方法来管理。申请1M的内存的方法可以利用malloc()或calloc().
2)磁盘I节点可以利用在内存中生成链表或者数组的方法来生成,并且限制磁盘节点数的最大值。同样内存I节点也可以利用链表的方法在内存中生成。
3)在往文件中写或者读的时候我们都是对内存中内容进行读写。例如你在文件中写的时候,其实是对分配的文件块中对应的内存赋值。当程序运行结束的时候,文件的内容都会丢失。我们这个文件系统只是一个模拟文件系统功能的虚拟文件系统。
2.系统结构
(1)块管理层:
分块分配、块回收、块读、块写等
(2)文件控制块层(FCB)
目录查找namei(),iget(),iput()
(3)文件管理层
具有打开文件 open( ),close( )等;
(4)命令解释层
3. 数据结构
(1)目录结构
(2)FCB结构
(3)打开文件结构
(4)用户结构 |
|