操作系统大型试验(3)

2021-04-05 04:57

操作系统 模拟linux文件管理系统

struct DIR//目录项(36B)

{

char fname[14];//文件名(当前目录) setw(15) (0 ~ 14)

int index;//i结点号 setw(3) (15 ~ 17)

char parfname[14];//父目录名 setw(15) (18 ~ 32)

int parindex;//父目录i结点号 setw(3) (33 ~ 35)

};

结点结构中的文件盘块数,目录项结构中的父目录名,父目录i结点号,其实可以不要,基本是不用到或是可以不用的,但是当我意识到时,程序已编得差不多了,为了避免牵一发而动全身,只好留着!

6

.用户,密码和组

我的用户组信息是存放在另一个文件

(user.txt)

中的。

三.各个主要功能模块(函数)的说明

1.main.cpp:

是程序的主函数模块

主函数首先会根据控制文件control.txt的头一个位(初始化确定位)来确定是否进行初始化。如果初始化,那么将只有一个根目录。因为一旦初始化后,初始化确定位就会置为0,所以系统只会在第一次进入时初始化,以后都是在前面建立的文件结构上进行操作的。如果一定要系统初始化时,可把control.txt的头一个位置为1,或者使用命令“reset”。

进入系统时,当前路径是根目录。然后是登陆请求。登陆后,超块读入内存(由一个结构对象superblock模拟),进入命令解析层,对用户的不同命令执行不同的操作。退出系统前,把内存的超块再写回disk.txt。

2.head.h:

是程序的所有全局变量、结构、函数声明的模块。也包括了所有要用到的系统库。

3.superblock.h:

是定义有关超块、结点、盘块、目录项的底层操作函数的模块。

1.对结点的操作:


操作系统大型试验(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初三电流电压练习题 无答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: