资源简介
这是关于北京林业大学操作系统的实验
代码片段和文件信息
#include
#include
#include
#define N 10
#define M N
#define Memory_SIZE 1024
struct JCB
{
double length;
int flag;
};
struct Ntable
{
double address;
double length;
int flag;
}used_table[N];
struct Mtable
{
double address;
double length;
int flag;
}free_table[M];
JCB process[N];
int used_count=0;
void init()
{
int i;
double rest=0;
for (i=0;i {
process[i].length=rand()%Memory_SIZE;
process[i].flag=0;
}
for (i=0;i {
free_table[i].address=rest;
if (i==N-1)
{
free_table[i].length=Memory_SIZE-rest;
}
else
{
free_table[i].length=Memory_SIZE/(pow(2.0i+1));
}
rest=rest+free_table[i].length;
free_table[i].flag=1;
used_table[i].flag=-1;
}
for (i=N;i {
used_table[i].flag=-1;
free_table[i].flag=0;
}
}
int findmax(){
int it;
double max=0;
for (i=0;i if (free_table[i].flag&&free_table[i].length>max)
{
max=free_table[i].length;
t=i;
}
return t;
}
void sort(){
int ij;
Mtable temp;
for (i=0;i for (j=0;j if (free_table[j].flag {
temp=free_table[j+1];
free_table[j+1]=free_table[j];
free_table[j]=temp;
}
else if (free_table[j].address>free_table[j+1].address&&free_table[j].flag==free_table[j+1].flag)
{
temp=free_table[j+1];
free_table[j+1]=free_table[j];
free_table[j]=temp;
}
}
}
int findtarget(int flagchar type){
int i;
if (type==‘f‘)
for (i=0;i {
if (free_table[i].flag==flag)
return i;
}
if (type==‘u‘)
for (i=0;i {
if (used_table[i].fla
相关资源
- 操作系统实验 生产者消费者 PV操作
- 操作系统实验 循环首次适应算法C
- 文件系统 操作系统实验 C++
- 用C#和C++实现的进程调度算法程序操作
- 操作系统实验--电梯调度 VC++实现
- 进程调度的设计与实现图形界面实现
- 操作系统实验——spooling技术
- C语言实现调度算法源代码-山东大学操
- 计算机操作系统实验报告,C语言实现
- 操作系统实验报告处理机调度算法的
- 安徽大学操作系统实验九最终考试内
- 动态分区分配方式的模拟
- nachos操作系统实验三
- NUR算法和OPT算法实现-----操作系统实验
- 进程同步操作系统实验三,带实验报
- 操作系统实验-计算机进程管理和进程
- 操作系统实验-----MFC线程--购票系统演
- 分区式存储管理
- 进程的同步-吃水果问题
- 东北大学操作系统实验1进程的同步与
- 操作系统 请求分页式存储管理的地址
- c++ 实验:可变分区管理
- 东华大学 操作系统实验 进程调度 含
- 武汉大学操作系统实验
- 操作系统实验 页式存储管理方案模拟
- 安徽大学操作系统实验七磁盘调度算
- 操作系统实验进程调度MFC源码+实验报
- 计算机操作系统实验一 进程创建模拟
- 操作系统 银行家算法
评论
共有 条评论