资源简介
操作下系统的实验报告,第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
- 上一篇:SAR影像舰船目标检测
- 下一篇:Qt从入门到精通
相关资源
- 操作系统课程设计实验报告
- 数据库 课程设计 电信收费管理信息系
- Unix操作系统教程
- 任哲的《嵌入式实时操作系统ΜcOS-Ⅱ
- RTX51_FULL RTX51操作系统
- 计算机网络所有上机实验报告
- 操作系统概念第七版习题答案(中文
- AliOS_Things物联网操作系统.pdf
- unlock-all-v1.20VMware10.0专用MAC补丁包
- 操作系统实验之动态分区算法首次适
- 云大软院软件工程所有实验
- 任哲嵌入式实时操作系统uCos-ii原理及
- 操作系统课程设计.zip
- 分布式嵌入式实时操作系统QNX
- 杭州电子科技大学操作系统复习提纲
- 2015北邮银行大作业
- 山东大学非关系数据库实验报告
- 操作系统 nachos实验四
- 操作系统实验多线程读者写者优先问
- 操作系统课程设计--多用户多级目录文
- 操作系统原理课后答案第四版 庞丽萍
- 操作系统实验报告 安徽工业大学
- 图书馆管系统 数据库课程设计含源代
- 北邮信息网络应用静态网页实验报告
- 云南大学数据库实验张云春班快递管
- 《计算机组成原理》实验报告-单周期
- 华南理工大学计算方法数值分析实验
- 浙大赵洲开设的人工智能引论的大作
- 通信录管理系统(用数据库连接,包
- 任哲《嵌入式实时操作系统uCOS-II原理
评论
共有 条评论