资源简介
串联文件,连续文件的存储模拟
操作系统课程设计

代码片段和文件信息
#include
#include
#include
#include
using namespace std;
class File
{
public:
virtual int * store(int *aint nint k)=0;
virtual void show(int k)=0;
virtual void select(int i)=0;
virtual char * getName()=0;
};
class Series: public File
{
private:
char fname[20];
int fn;//存放文件大小
struct Place
{
int lk;
int pk;
Place * next;
};
Place * pHead;
Place * pEnd;
public:
Series(char * nameint n)
{
for(int i=0;i<20;i++)
fname[i]=name[i];
fn=n;
pHead=new Place;
pEnd=new Place;
pHead=pEnd=NULL;
}
int * store(int *aint nint k);
void show(int k);
void select(int i);
char * getName();
};
char * Series::getName()
{
return fname;
}
int * Series::store (int *aint nint k)
{
for(int i=0;i<=fn-1;i++)
{
Place * p=new Place;
p->lk=k;
p->pk=(int)(n*rand()/(RAND_MAX+1.0));
p->next=NULL;
while(a[p->pk]==1)
{
p->pk=(int)(n*rand()/(RAND_MAX+1.0));
}
if(pHead==NULL)
{
pHead=pEnd=p;
a[p->pk]=1;
}
else
{
pEnd->next=p;
pEnd=p;
a[p->pk]=1;
}
}
return a;
}
void Series::show(int k)
{
cout<<“文件名称: “< cout<<“文件大小: “< cout<<“文件的存储方式: 串联“< cout<<“该文件所占的内存物理块为:“;
Place * p;
p=pHead;
while(p)
{
if (p->lk==k)
{
while(p&&p->lk==k)
{
cout<pk<<“ “;
p=p->next ;
}
cout< break;
}
else p=p->next ;
}
// cout<<“下一个指针指向的物理块号: “<next->pk< }
void Series::select(int i)
{
int k=0;
Place * p;
p=pHead;
while(p&&k {
p=p->next;
k++ ;
}
if(p) cout<<“该文件所在的物理块号是: “<pk< if(!p) cout<<“无“<
}
class Indexing: public File
{
private:
char fname[20];//存放文件名称
int fn;//存放文件大小
int f[50];//存放文件索引表
public:
Indexing(char * nameint n)
{
int i;
for( i=0;i<20;i++)
fname[i]=name[i];
fn=n;
for( i=0;i<50;i++)
f[i]=0;
}
int * store(int *aint nint k);
void show(int k);
void select(int i);
char * getName();
};
char * Indexing::getName()
{
return fname;
}
int * Indexing::store (int *aint nint k)
{
for(int i=0;i {
f[i]=(int)(n*rand()/(RAND_MAX+1.0));
while(a[f[i]]==1)
{
f[i]=(int)(n*rand()/(RAND_MAX+1.0));
}
a[f[i]]=1;
}
return a;
}
void Indexing::show(int k)
{
cout<<“文件名称: “< cout<<“文件大小: “< cout<<“文件的存储方式: 索引“< cout<<“文件对应索引表如下所示:“< cout<<“逻辑块号 物理块号“< for(int i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5336 2010-01-25 12:33 c.cpp
----------- --------- ---------- ----- ----
5336 1
相关资源
- 模拟段页式虚拟存储管理中地址转换
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 操作系统课程设计实现可变分区存储
- 操作系统课程设计 二级文件管理系统
- 操作系统课程设计代码
- 操作系统课程设计 银行家算法论文
- 操作系统课程设计 内存管理
- 广州大学操作系统课程设计实验报告
- 基于linux的操作系统课程设计 中北大
- 操作系统课程设计 绘制资源分配图
- 操作系统课程设计完整版报告+源程序
- 模拟Unix文件系统,操作系统课程设计
- 操作系统课程设计报告 分页存储管理
- 山东大学操作系统课程设计实验报告
- GeekOS操作系统课程设计project0-4讲解
- DOS画画_操作系统课程设计_操作系统图
- 操作系统课程设计报告-单用户多级文
- Pintos 西电操作系统课程设计3 报告+代
- 中北大学软件学院操作系统课程设计
- 操作系统课程设计报告(进程控制与
- 操作系统课程设计资源分配图
- 操作系统课程设计生产者和消费者问
- linux文件系统操作系统课程设计
- 操作系统课程设计实验报告
- 操作系统课程设计.zip
- 操作系统课程设计--多用户多级目录文
- 动态分区分配存储管理-操作系统课程
- 操作系统课程设计进程管理与通信,
- 操作系统课程设计Spooling输入输出模拟
评论
共有 条评论