图三
图3表示输入list显示文件目录,如图所示创建了aaa,bbb,ccc三个文件
图四
图4显示的是成功打开和成功关闭文件
图五
输入read读取文件,可以设置读文件的初始位置以及读取文件的长度
图六 输入write写文件
图七
如图所示删除aaa,bbb,ccc三个文件
六、设计总结与心得体会
通过一个学期的学习,操作系统的课程设计也要结课了,总的来说经过这门课的
学习收获还是挺大的,它不但使我更了解了课本知识,巩固了课本知识,而且也使我的编程能力有了一定的提高。这次课程设计是对操作系统的一个总结和复习的过程,课设的过程是个自我探索、自我学习的过程,其中,我们不仅学到了专业的知识,也提升了自己的学习能力。
在此次课程设计中也遇到了不少的问题和困难,但是通过自己的努力和向同学讨教都把他一一的给解决了,总之,通过这次课程设计,是我对文件系统有了更深一部的了解,让我对文件系统不再陌生,当然自己还有很多不足的地方,希望自己在以后的学习过程中不断的改进,这样才能让自己进步,才能让自己更上一层楼。
七、附录(源程序清单)
#include
int sysblocknum;/*文件系统总扇区数*/ int resblocknum;/*保留扇区扇区数*/ int fatblocknum;/*FAT表扇区数*/ int rootblocknum;/*根目录区扇区数*/
char fillchar[BlockSize-4*sizeof(int)];/*填充字节*/ };
struct DirBlock{
char filename[11]; /*文件名限长11个字符*/ char fillchar[DirSize-4*sizeof(int)-sizeof(long int)-11]; /*填充字节*/ long filelen; /*文件长度*/ int year,month,day; /*日期*/
int firstblockaddr; /*文件首块扇区号*/ };
struct FCBBlock{
int fileid; /*文件标识*/
long filepos; /*文件读写指针*/ int fdtblockindex; /*目录项所在块内序号*/ struct FCBBlock *next;/*指向下一个文件控制块的指针*/ };
struct ReserveBlock sys1; /*保留块*/
struct FCBBlock *fcb; /*fcb头指针*/ struct DirBlock fil[32],*dir; /*目录*/
相关推荐: