资源简介
操作系统试验中 用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
- 上一篇:学生管理系统的设计与实现
- 下一篇:学生学分综合管理系统
相关资源
- 操作系统实验报告处理机调度算法的
- 安徽大学操作系统实验九最终考试内
- 动态分区分配方式的模拟
- 操作系统电梯调度算法
- nachos操作系统实验三
- 用C\\C++实现操作系统经典同步问题,
- NUR算法和OPT算法实现-----操作系统实验
- 操作系统模拟实现单级目录的文件系
- FCFS和SJF调度算法C++
- 进程同步操作系统实验三,带实验报
- 操作系统的理发师问题解决文件打包
- 操作系统调度算法c语言实现
- 操作系统实验-计算机进程管理和进程
- 操作系统课程设计之进程调度源代码
- 操作系统 动态分区存储管理方式的
- 《 Linux操作系统下C语言编程入门》
- 操作系统内存分配C++实现
- 操作系统 读者写者问题c++
- 操作系统实习-快速文件系统
- 操作系统实习:动态分区分配C++实现
- 操作系统c语言模拟作业调度实验
- 进程调度时间片轮转+优先级进程调度
- 操作系统课程设计 文件管理系统模拟
- spooling模拟系统代码.docx
- 操作系统实验-----MFC线程--购票系统演
- 分区式存储管理
- 操作系统抢占式短进程优先调度算法
- 请求调页存储管理方式的模拟
- 缓冲池的模拟(C++)
- 操作系统进程调度C++代码实现
评论
共有 条评论