资源简介

操作下系统的实验报告,第6个实验选的是那个设计一个大作业 模拟文件系统 实验

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include
#include
#include
#include“head.h“
#include
using namespace std;

MFD mfdlist[17]; //主文件目录列表 
UFD ufdlist[17]; //用户层文件列表
UOF uoflist[17]; //用户打开文件列表
DISK disklist[200]; //模拟磁盘列表
int currentuserindex; //当前用户在ufdlist中的位置

//格式化磁盘
void format()
{
int i;
ofstream outfile;
//新建一个文件名字为disk.txt,以二进制方式打开文件
outfile.open(“disk.txt“ios::binary);

//输入流
for(i=0;i<100;i++)
{
outfile< }
//seekp(位置,起始点)
outfile.seekp(0ios::beg);
//格式化
for(i=0;i<100;i++)
{
outfile<<(char)i;
outfile<<‘0‘< }
outfile.close();

cout<<“成功格式化系统!\n“;

}
//将更新后的物理块的信息重新写回磁盘
void backdisklist()
{
int i;
ofstream outfile;
//二进制方式或者输入方式
outfile.open(“disk.txt“ios::binary|ios::in); //
//输出模拟的硬盘列表
for(i=0;i<100;i++)
{
outfile< }
outfile.close();
}
//从磁盘中获得物理块的信息
void getdisklist()
{
int i;
ifstream infile;
//同上
infile.open(“disk.txt“ios::binary); //
//数据输入
for(i=0;i<100;i++)
{
disklist[i].id=infile.get();
disklist[i].flag=infile.get();
disklist[i].next=infile.get();
infile.ignore();
}
infile.close();
}
//将更新后的MFD重新写回磁盘
void backmfdlist()
{
int i;
ofstream outfile;
//同上
outfile.open(“disk.txt“ios::binary|ios::in);
//位置,起始点
outfile.seekp(513ios::beg);
//写入磁盘
for(i=0;i<16;i++)
{
outfile< outfile< outfile<nk< }
outfile.close();
}
//从磁盘中获得MFD
void getmfdlist()
{
int i;
ifstream infile;
//
infile.open(“disk.txt“ios::binary);
//和seekp功能相同
infile.seekg(513);
//从磁盘读数据
for(i=0;i<16;i++)
{
char username[14];
infile.read(username14);
mfdlist[i].username=username;
mfdlist[i].username=mfdlist[i].username.substr(0mfdlist[i].username.find(‘ ‘));
char userpwd[14];
infile.read(userpwd14);
mfdlist[i].userpwd=userpwd;
mfdlist[i].userpwd=mfdlist[i].userpwd.substr(0mfdlist[i].userpwd.find(‘ ‘));
mfdlist[i].link=infile.get();
infile.seekg(3ios::cur);
}
infile.close();
}
//将更新后的UFD重新写回磁盘
void backufdlist()
{
int i;
ofstream outfile;
//
outfile.open(“disk.txt“ios::binary|ios::in);
outfile.seekp(513*(currentuserindex+2)ios::beg);
//ufd回写磁盘
for(i=0;i<16;i++)
{
outfile< outfile< outfile.write((char*)(&ufdlist[i].length)sizeof(int));
outfile< outfile< }
outfile.close();
}

//从磁盘中获得UFD
void getufdlist()
{
int i;
ifstream infile;
//
infile.open(“disk.txt“ios::binary);
infile.seekg(513*mfdlist[currentuserindex].link);
//从磁盘中读数据
for(i=0;

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

     文件      36180  2010-05-05 12:57  二级文件系统模拟\twofloorfilesys\Debug\BuildLog.htm

     文件     667745  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\twofloorfilesys.exe

     文件     903956  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\twofloorfilesys.ilk

     文件     601632  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\twofloorfilesys.obj

     文件    6426352  2010-05-05 20:36  二级文件系统模拟\twofloorfilesys\Debug\twofloorfilesys.pch

     文件    1262592  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\twofloorfilesys.pdb

     文件     222208  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\vc60.idb

     文件     167936  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\Debug\vc60.pdb

     文件     265216  2010-05-05 12:57  二级文件系统模拟\twofloorfilesys\Debug\vc90.idb

     文件     151552  2010-05-05 12:57  二级文件系统模拟\twofloorfilesys\Debug\vc90.pdb

     文件      51300  2010-05-05 20:36  二级文件系统模拟\twofloorfilesys\disk.txt

     文件       3331  2010-05-05 22:47  二级文件系统模拟\twofloorfilesys\head.h

     文件      30015  2010-05-05 23:12  二级文件系统模拟\twofloorfilesys\twofloorfilesys.cpp

     文件       3568  2010-05-05 19:43  二级文件系统模拟\twofloorfilesys\twofloorfilesys.dsp

     文件        536  2010-05-05 19:43  二级文件系统模拟\twofloorfilesys\twofloorfilesys.dsw

     文件      58368  2010-05-05 20:41  二级文件系统模拟\twofloorfilesys\twofloorfilesys.ncb

     文件      53760  2010-05-05 20:41  二级文件系统模拟\twofloorfilesys\twofloorfilesys.opt

     文件       3326  2010-05-05 20:40  二级文件系统模拟\twofloorfilesys\twofloorfilesys.plg

     文件       3743  2010-05-05 12:49  二级文件系统模拟\twofloorfilesys\twofloorfilesys.vcproj

     文件       1417  2010-05-05 12:59  二级文件系统模拟\twofloorfilesys\twofloorfilesys.vcproj.friendy-PC.friendy.user

     文件    8768512  2010-05-05 12:59  二级文件系统模拟\twofloorfilesys.ncb

     文件        911  2010-05-05 12:40  二级文件系统模拟\twofloorfilesys.sln

    ..A..H.     13824  2010-05-05 12:59  二级文件系统模拟\twofloorfilesys.suo

     目录          0  2010-05-05 23:38  二级文件系统模拟\twofloorfilesys\Debug

     目录          0  2010-05-05 23:38  二级文件系统模拟\twofloorfilesys

     目录          0  2010-05-05 23:38  二级文件系统模拟

----------- ---------  ---------- -----  ----

             19697980                    26


评论

共有 条评论