返回列表 回复 发帖

求助!!!!

我接到个课程设计用C语言在LINUX下虚拟一个文件系统,能够创建,打开,删除文件,还有目录等一系列的操作,由于我是才学习LINUX,不太懂,请叫应该怎样做?或者应该看那些资料或书?能给点资料就更好了,求大家帮个忙!
听上去跟我之前做的东西差不多, 整个的是要虚拟一个系统,包括文件系统,scheduler,和shell。我做的是文件系统部分。基本上你要用一个文件来虚拟一个硬盘。看你做一个什么系统,FAT格式的,还是inode。当然你也可以弄一个适合你实际情况的文件格式。

我做的基本是FAT格式的。先研究一下FAT是怎么工作的。把硬盘的读盘针(是叫这个吧?)想像成是一个文件指针,用fseek来移动。最好有一个独立的format程序,来初始化虚拟硬盘的文件。不用完全遵守FAT16或者FAT32,只要能满足你需要的功能就行了。。。。。我那个东西写了1000-2000行左右。
能不能给点资料参考下?我对这个问题实在是没有点概念。万分感谢!!!
给你的建议是想明白了在开始写。把你的文件系统要求和你设想的文件系统格式都想通。据说FAT比INode简单,我当时基本上是按照FAT的格式写的。如果最后的东西要求创建、删除、打开、读、写,文件加/文件,最好虚拟一种现成的格式。如果要求的功能比较少,比如只要求创建文件,读和写,那样的话你自己创一个格式也可以。


http://www.seas.upenn.edu/~cse381/lectures/lec7.pdf
这个是我当时那个作业的一个讲义,你可以看看。

http://en.wikipedia.org/wiki/File_Allocation_Table
这个是维基百科对于FAT的介绍,相当的具体。
太感谢你了!!!!!!!!!!
返回列表