⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3_page_del.cpp

📁 实现各种进程调度
💻 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 + -