资源简介
操作系统试验中 用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
- 上一篇:学生管理系统的设计与实现
- 下一篇:学生学分综合管理系统
相关资源
- 操作系统c语言模拟文件管理系统844
- 操作系统课设 读写者问题 c语言实现
- ROS操作系统入门讲义
- Linux操作系统下C语言编程从零开始
- 操作系统存储管理实验报告c/c++
- 操作系统课程设计(银行家算法)附
- 现代操作系统第三版高清
- C++操作系统课设-进程管理
- 哲学家进餐问题的c++模拟实现
- 操作系统课程设计(生产者-消费者存
- 操作系统——5个实验.zip
- 操作系统进程管理实验
- 操作系统—页面置换算法C++实现
- 操作系统 内存管理 模拟 图形界面
- 银行家算法 mfc 含源代码 界面 操作系
- 操作系统生产者消费者问题MFC动态实
- 操作系统课程设计:Windows 命令接口之
- 操作系统课程大作业-文件管理系统
- C语言实现最低松弛度优先算法源代码
- 操作系统信号量PV经典问题:沉睡的理
- 基于C++的银行家算法模拟实现
- 生产者消费者问题源码-MFC实现-进程模
- 操作系统实验 进程调度 高响应比优先
- 操作系统文件管理C++代码实现
- 嗜睡的理发师进程同步与实现c++
- 安徽大学操作系统实验八基于扫描的
- 安徽大学操作系统实验四主存空间的
- 操作系统——银行家算法
- 操作系统_生产者消费者c++、mfc实现
- 磁盘调度c++模拟实现计算机操作系统
评论
共有 条评论