資源簡介
操作系統試驗中 用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
- 上一篇:學生管理系統的設計與實現
- 下一篇:學生學分綜合管理系統
評論
共有 條評論