• 大小: 194KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: C/C++
  • 标签: 操作系统  

资源简介

操作系统试验中 用C语言编写的模拟基本分页存储系统

资源截图

代码片段和文件信息

#include
#include
#include
#define SIZE 100
#define ROW 10
#define COLUMN 10
#define PROGRESS 10
#define NUMBER 10
int available;
int init(int memery[ROW][COLUMN])
{
int number=0;
srand(time(0));
int ij;
for(i=0;i {
for(j=0;j {
memery[i][j]=rand()%2;
if(memery[i][j]==0)
{
number++;
}
}
}
return number;
}
void allocation(int memery[ROW][COLUMN]int sive[PROGRESS][NUMBER]int sizeint number)
{
int ij;
    int blockflag=0;
available=available-size;
    for(i=0;i {
for(j=0;j {
if(memery[i][j]==0)
{
if(flag {
memery[i][j]=1;
block=i*COLUMN+j;
sive[number][flag]=block;
flag++;
}
else
{
return;
}
}
}

}
}
void recover(int memery[ROW][COLUMN]int sive[PROGRESS][NUMBER]int number)
{
int iflag=0;
int blockrowcolumn;

for(i=0;i {
if(sive[number][i]!=-1)
{
block=sive[number][i];
row=block/ROW;
column=block%COLUMN;
memery[row][column]=0;
sive[number][i]=-1;
flag++;
}
}
if(flag==0)
{
printf(“作业号不存在!“);
}
else
{
available+=flag;
}
}
void main()
{
int ij;
int numbersize;
int memery[ROW][COLUMN]={0};
int sive[PROGRESS][NUMBER];
for(i=0;i {
for(j=0;j {
sive[i][j]=-1;
}
}

available=init(memery);
printf(“显示初始化后的内存块(0:可分配  1:不可分配):\n“);
for(i=0;i {
for(j=0;j {
printf(“%d  “memery[i][j]);
}
printf(“\n“);
}
while(1)
{
printf(“请输入分配的作业号(0~9):“);
scanf(“%d“&number);
if(number>=10)
{
break;
}
printf(“请输入作业的页面数(1~10):“);
scanf(“%d“&size);
if(available>=size&&size>0)
{
allocation(memerysivesizenumber);
printf(“作业分配表:\n“);
printf(“\n“);
for(i=0;i {
for(j=0;j {
printf(“%d  “sive[i][j]);
}
printf(“\n“);
}

printf(“\n“);
printf(“作业分配后的内存:\n“);
for(i=0;i {
for(j=0;j {
printf(“%d  “memery[i][j]);
}
printf(“\n“);
}

}
else
{
printf(“所分配的作业页面数太大,内存不足\n“);
}
}
while(1)
{
printf(“请输入回收作业号:“);
scanf(“%d“&number);
if(number>=10)
{
break;
}
recover(memerysivenumber);
printf(“作业分配表:\n“);
for(i=0;i {
for(j=0;j {
printf(“%d  “sive[i][j]);
}
printf(“\n“);
}
printf(“作业回收后的内存:\n“);
for(i=0;i {
for(j=0;j {
printf(“%d  “memery[i][j]);
}
printf(“\n“);
}
}
}

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

     文件       2819  2011-05-24 15:33  基本分页存储系统\001.cpp

     文件       4391  2011-05-20 11:35  基本分页存储系统\基本分页存储系统.dsp

     文件        557  2011-05-20 10:55  基本分页存储系统\基本分页存储系统.dsw

     文件      50176  2011-05-24 15:37  基本分页存储系统\基本分页存储系统.ncb

     文件        995  2011-05-24 15:36  基本分页存储系统\基本分页存储系统.plg

     文件       9302  2011-05-24 15:36  基本分页存储系统\Debug\001.obj

     文件      41984  2011-05-24 15:36  基本分页存储系统\Debug\vc60.idb

     文件      45056  2011-05-24 15:33  基本分页存储系统\Debug\vc60.pdb

     文件     196704  2011-05-24 15:33  基本分页存储系统\Debug\基本分页存储系统.exe

     文件     206972  2011-05-24 15:36  基本分页存储系统\Debug\基本分页存储系统.ilk

     文件     226636  2011-05-24 14:29  基本分页存储系统\Debug\基本分页存储系统.pch

     文件     500736  2011-05-24 15:33  基本分页存储系统\Debug\基本分页存储系统.pdb

     文件      53760  2011-05-24 15:37  基本分页存储系统\基本分页存储系统.opt

     目录          0  2011-05-24 13:08  基本分页存储系统\Debug

     目录          0  2011-05-24 13:08  基本分页存储系统

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

              1340088                    15


评论

共有 条评论