资源简介

广东工业大学操作系统课程设计完整版(报告+源程序)。。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

const unsigned FILE_SYS_SIZE = 1024 * 1024; //模拟文件系统的容量设为1M
const unsigned BITMAP_LEN = 64; //位示图的长度 512/8
const unsigned BLOCK_SIZE = 512; //一个文件块的大小
const unsigned BLOCK_COUNT = 512; //文件系统中文件块的数量
const unsigned NAME_LEN = 11;     //最长文件名的长度
const unsigned PASSWORD_LEN = 11; //用户密码的最大长度
const unsigned LOGIN_COUNT = 5;         //用户登录尝试次数
const unsigned COMMAND_LEN = 200; //命令行最大长度
const unsigned PRO_SET_COMM_COU = 10;     //预设命令数

const char *PRO_SET_COMM[] = {“create“ “open“ “read“ “write“ “close“ “delete“ “mkdir“ “cd“ “dir“ “logout“};

//文件元素可供操作性权限
typedef enum 
{
pub //任何人可做任何操作
protect //非创建者或ADMIN,只可以察看
pri //非创建者或ADMIN,不可以做任何操作
} FileAccess;

//文件元素类型
typedef enum
{
file //文件
dir //文件夹
} FileType;

//用户类型
typedef enum
{
admin //管理者,拥用所有权限
comm //一般用户
} UserType;

//文件状态
typedef enum
{
closed
opened
reading
writing
} FileStatus;


//一个文件索引结构
typedef struct 
{
unsigned Index; //文件元素索引编号
char FileName[NAME_LEN];     //文件元素名
char ParentName[NAME_LEN];         //父节点名
unsigned FileBlockId; //文件元素所在物理块编号
unsigned FileLevel; //文件元素所在层次,层+文件元素名为一个文件元素的逻辑位置
unsigned effect; //是否有效,0-无效,1-有效
} FileIndexElement;

//文件索引结构或目录表项
typedef struct
{
FileIndexElement *FIStart; //文件系统中的文件索引起始位置
unsigned FILen; //文件索引的最大长度
unsigned FICount; //文件索引数量
} FileIndex;

//文件块的结构
typedef struct fb
{
unsigned FileBlockId; //文件块编号
unsigned BLOCK_SIZE; //文件块的容量
char *FileBlockAddr; //文件块地址
struct fb *next; //下一个文件块的地址
} FileBlock;

//文件系统的位示图结构
typedef struct 
{
unsigned BITMAP_LEN; //文件位示图长度
char *BMStart;     //位示图的起始指针
} BitMap;

//文件系统结构
typedef struct 
{
char *FSStart; //文件系统的起始地址
unsigned SuperBlockSize;     //文件系统的容量
BitMap bm; //文件系统中的位示图
unsigned BLOCK_COUNT; //文件系统中文件块的数量
FileBlock *head; //文件系统中文件块首地址
FileIndex FI; //文件系统中的文件索引
} SuperBlock;

typedef struct 
{
char *UserName; //用户名称
UserType ut; //用户类型
} User;

//文件系统中的元素结构,包括文件和文件夹
typedef struct fse
{
struct fse *parent; //指向自己的父亲节点
unsigned FileLevel; //文件元素所在层次,层+文件元素名为一个文件元素的逻辑位置
char FileName[NAME_LEN];     //文件元素名
unsigned FileBlockId; //文件元素所在物理块编号
unsigned FileElemLen; //文件元素的长度
FileType Type; //文件元素类型
FileAccess Access; //文件元素可供操作的权限
User Creator; //文件创建者
char CreateTime[18]; //创建时间,日期格式:MM/DD/YY HH:MI:SS
char LastModTime[18]; //最后一次修改时间
char *FileData; //一个文件的数据开始地址,文件夹时该值为NULL
FileStatus fileStu; //如果是一个文件表示文件当前的状态
} FSElement;

//系统当前状态
typedef struct
{
User CurrentUser; //当前用户
unsigned FileLevel; //用户所在文件系统层
FSElement *CurrParent; //当前层的父节点
char *CurrentPath; //当前路径
} CurrentStatus;

SuperBlock FS; //一个全局文件系统的变量
CurrentStatus CS; //当前系统状态
FSElement *base; //文

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     503296  2012-07-12 11:13  操作系统课设完整版(报告+源程序)\OS课程设计报告.doc

     文件      40448  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\Debug\多用户多级目录文件系统.exe

     文件     356104  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\Debug\多用户多级目录文件系统.ilk

     文件     396288  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\Debug\多用户多级目录文件系统.pdb

     文件    2621440  2012-07-12 11:14  操作系统课设完整版(报告+源程序)\源程序\ipch\多用户多级目录文件系统-bdc46301\多用户多级目录文件系统-9f7a2b00.ipch

     文件       1326  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\cl.command.1.tlog

     文件       4682  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\CL.read.1.tlog

     文件        966  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\CL.write.1.tlog

     文件       2818  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\link.command.1.tlog

     文件       4698  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\link.read.1.tlog

     文件       1710  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\link.write.1.tlog

     文件       1126  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\mt.command.1.tlog

     文件       1778  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\mt.read.1.tlog

     文件       1726  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\mt.read.2.tlog

     文件        750  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\mt.write.1.tlog

     文件      76800  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\vc100.idb

     文件      69632  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\vc100.pdb

     文件        381  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\多用户多级目录文件系统.exe.intermediate.manifest

     文件        110  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\多用户多级目录文件系统.lastbuildstate

     文件      22886  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\多用户多级目录文件系统.log

     文件      54461  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\Debug\多用户多级目录文件系统.obj

     文件       3275  2012-06-30 14:17  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\多用户多级目录文件系统.vcxproj

     文件        974  2012-06-30 14:17  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\多用户多级目录文件系统.vcxproj.filters

     文件        143  2012-06-30 14:05  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统\多用户多级目录文件系统.vcxproj.user

     文件      22217  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统.cpp

     文件      40448  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统.exe

     文件    2052096  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统.sdf

     文件        966  2012-06-30 14:05  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统.sln

    ..A..H.     10752  2012-07-12 11:15  操作系统课设完整版(报告+源程序)\源程序\多用户多级目录文件系统.suo

     目录          0  2012-07-12 11:14  操作系统课设完整版(报告+源程序)\源程序\ipch\多用户多级目录文件系统-bdc46301

............此处省略9个文件信息

评论

共有 条评论