📄 3_page_del.cpp
字号:
/*假设内存可供分配的用户区域物理块数最大为512块,相应用32位长的位示图表示*/
#include <malloc.h>
#include <stdio.h>
#include <string.h>
int free_bit,row_bit,col_bit,file_length;
int cylinder,disk_head,disk_fan;
void init(int table[17][32])
{ int i,j,count=0;
for(i=0;i<16;i++)
for(j=0;j<32;j++)
{table[i][j]=1;
count++;
}
table[16][0]=0;
}
void release(int bit[17][32],int block[],int lens)
{
int i,j,k=0;
for(k=0;k<lens;k++)
{ i=block[k]/32;
j=block[k]%32;
bit[i][j]=0;
bit[16][0]++;
}
}
void print(int bit[17][32])
{ int i,j;
printf(" ");
for(i=0;i<32;i++)
printf("%2d",i);
printf("\n");
for(i=0;i<16;i++)
{ printf("%3d",i);
for(j=0;j<32;j++)
printf("%2d",bit[i][j]);
printf("\n");
}
}
void main()
{
int k,bit[17][32],block[512],file_length;
char filename[8];
init(bit);/*初始化位示图*/
print(bit);
printf("空闲块数为:%d\n",bit[16][0]);
printf("input file_length and filename\n");
scanf("%d%s",&file_length,filename);
printf("该作业归还的物理块分别为:\n");
for(k=0;k<file_length;k++)
scanf("%d",&block[k]);
release(bit,block,file_length);
print(bit);
printf("空闲块数为:%d\n",bit[16][0]);
printf("\n"); getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -