用分页管理,使用位示图实现主存的分配与回收

用分页管理,使用位示图实现主存的分配与回收
一、实验目的:
采用分页管理,使用位示图实现主存的分配与回收
二、实验内容:
主存是中央处理机能直接存取指令和数据的存储器。能否合理而有效地使用主存,在很大程度上将影响到整个计算机系统的性能。实现主存空间的分配与回收。
三、试验环境:
    VC++
四、实验原理及试验步骤:
(1)主存的分页管理是把主存分成大小相等的若干块,作业的信息按块的大小分成若干页。作业装入主存时,可把作业的信息按页分散在主存的若干块中。为了标识主存中哪些块空闲,哪些块占用,可用一张位示图指示。位示图是由若干主存单元构成。其中每一位与一个主存块对应。分别用0和1表示对应块是空闲还是占用。
(2)假定某系统的主存被分成大小相等的64块,则位示图可用8个字节构成。再用一个变量记录当前可用的空闲块总数。如果已有第0、1、2、3、4、5、9、11、13、24、31共11块被占用,其位示图描述如图3-3所示。
(3)当要装入一个作业时,根据作业对主存的需求量,先查记录当前空闲块数变量的值是否满足作业的需求量。若不满足,则给出分配不成功的信息,且作业等待;若满足,则查位示图,按作业需求量找出为零的一些位,且置上占用标志1,并从当前空闲块变量中减去本次分配的块数。
按找到的位计算对应的块号。计算公式:块号=J*8+I。其中,J表示找到的字节号,I表示找到的位号。
根据分配给作业的块号,为作业建立一张页表,格式如图3-4所示。
       位号
字节号      0   1   2   3   4   5   6   7
0       1   1   1   1   1   1   0   0
页号 块号



 
1       0   1   0   1   0   1   0   0
2       0   0   0   0   0   0   0   0
3       1   0   0   0   0   0   0   1
4       0   0   0   0   0   0   0   0
5       0   0   0   0   0   0   0   0
6       0   0   0   0   0   0   0   0
7       0   0   0   0   0   0   0   0
     当前空闲块总数:53
图3-3 主存某时刻的位示图
(4)当一个作业执行结束时,释放主存。根据页表可知要释放的块号和块数。由块号计算其在位示图中的位置,将对应位的标志置0,以此表示该块已空闲。之后,再将释放的块数累加到当前空闲块变量中。
由块号计算字节号和位号的公式如下:
字节号=int(块号/8)    位号=mod(块号/8)
(5)设计和实现主存分配和回收的程序
五、实验代码:
 
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
#define N 8     //将主存分为大小相等的NxN块
#define LENGTH 8 //主存每块大小

int MAP[N][N];//位示图
int FREE=0;     //当前空闲的块数
int NUMBER;   //分割后文件的块数
www.751com.cn
struct FileTest
{
 string FileName;    //装入的文件名
 int FileSize;       //装入的文件大小
 int FilePageNumber; //页号
 int FileKuaiNumber[40]; //块号
};
struct FileTest file;
void Filecin()//文件输入
{
 
 cout<<"请输入要装入文件的文件名:";
 cin>>file.FileName;
 cout<<"请输入要装入文件的大小:";
 cin>>file.FileSize;
 cout<<"文件名:"<<file.FileName<<" "<<"文件大小:"<<file.FileSize<<endl;

}
void map_state()//输出位示图状态
{
 
 cout<<"当前主存位示图状态如下(1表示占用,0表示空闲):"<<endl;
 cout<<"-----------------------------------"<<endl;
 for(int i=0;i<N;i++)
 {
  for(int j=0;j<N;j++)
  {
   cout<<MAP[i][j]<<"   ";//初始化位示图420

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有