资源简介

操作系统实验综合设计含代码
操作系统实验综合设计含代码

资源截图

代码片段和文件信息

#include “stdio.h“
#include 
#include 
#include “iostream.h“
#define getjcb(type)  (type*)malloc(sizeof(type))
#define getsub(type)  (type*)malloc(sizeof(type))
#define NULL 0

int numnum2;  //要调度的作业数和要回收的区域数
int m=0;     //已分配作业数
int flag;     //分配成功标志
int isupisdown;   //回收区域存在上邻和下邻的标志
int is=0;

struct jcb{
char name[10];
char state;
int ntime; //所需时间
         int size;  //所需空间大小
                 int addr;  //所分配分区的首地址
struct jcb *link;
         } *ready =NULL *p*q*as=NULL;
                //作业队列ready已分配作业队列as
typedef struct jcb JCB;


struct subarea{         //分区块
        char name[10];
        int addr;    //分区首地址
int size;    //分区大小
char state;
struct subarea *link;
  } *sub=NULL*r*s*cur;
  //空闲分区队列sub当前分区指针cur
        typedef struct subarea SUB;




//--------------------------------------------------------------------------
void sort_sub()     /*对空闲分区按从小到大排序*/
{   SUB *first*second;
    int insert=0;
    if((sub==NULL)||((s->size)<(sub->size)))   /*插在队列之首*/
{s->link=sub;
 sub=s;
}
    else{first=sub;        /*寻找适当的位置插入*/
      second=first->link;
  while(second!=NULL)
  {
  if((s->size)<(second->size))
  {
   s->link=second;
   first->link=s;
   second=NULL;
   insert=1;
  }
  else
  {
                            first=first->link;
    second=second->link;
  }
  }
  if(insert==0)first->link=s;   /*插在队尾*/
  }


//--------------------------------------------------------------------------
void firstsort() /* 建立对作业按到达时间进行排列的函数直接插在队列之尾 sort*/
{
 JCB *first;
 if(ready==NULL)  ready=p;
 else{
   first=ready;
   while(first->link!=NULL)
       first=first->link;
   first->link=p;
   p->link=NULL;
  }
}

//--------------------------------------------------------------------------
void lastsort()      /*建立对已分配作业队列的排列函数直接插在队列之尾sort3*/
{
 JCB *fir;
 if(as==NULL) as=q;
 else{
   fir=as;
   while(fir->link!=NULL)
     fir=fir->link;
   fir->link=q;
   q->link=NULL;
  }
  m++;
}


//--------------------------------------------------------------------------   
void input() /* 建立作业控制块函数*/
{
 int i;
 printf(“\n请输入要调度的总作业数:“);
 scanf(“%d“&num);
 for(i=0;i  {
   printf(“\n作业号No.%d:\n“i);
   p=getjcb(JCB);
   printf(“\n输入作业名:“);
   scanf(“%s“&p->name);
   printf(“\n输入作业的大小:“);
   scanf(“%d“&p->size);
   printf(“\n输入作业所需运行时间:“);
   scanf(“%d“&p->ntime);
   p->state=‘w‘;
   p->link=NULL;
   firstsort(); /* 调用sort函数*/
  }
 printf(“\n 按任一键继续......\n“);
 getch();
}

//--------------------------------------------------------------------------
void input2()     /*建立要回收区域的函数*/
{
 JCB *k;
 int has;
 q=getjcb(JCB);
 printf(“\n输入区域名(作业名):“);
 scanf(“%s“&q->name);
 p=as;
 while(p!=NULL)
  {if(strcmp(p->nameq->name)==0)  /*在已分配作业队列中寻找*/
       {
        q->addr=p->addr;
        q->size=p->size;
        has=1;    /*输入作业名存在标志

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     192512  2007-11-05 21:37  操作系统实验综合设计\实验封面.doc

     文件     192512  2007-11-05 21:37  操作系统实验综合设计\综合设计封面.doc

     文件       5673  2007-11-05 21:36  操作系统实验综合设计\进程调度2\jin.C

     文件      22563  2007-11-05 21:36  操作系统实验综合设计\进程调度2\jin.exe

     文件     150016  2007-11-05 21:36  操作系统实验综合设计\进程调度2\进程调度实验报告.doc

     文件         64  2008-10-18 20:50  操作系统实验综合设计\进程调度2\更多电子书下载.html

     文件      23204  2007-11-05 21:36  操作系统实验综合设计\文件管理\Filesystem_s.cpp

     文件         33  2007-11-05 21:36  操作系统实验综合设计\文件管理\LOGIN.exe

     文件      27136  2007-11-05 21:36  操作系统实验综合设计\文件管理\Project1.exe

     文件         14  2007-11-05 21:36  操作系统实验综合设计\文件管理\xiao.txt

     文件     176640  2007-11-05 21:36  操作系统实验综合设计\文件管理\文件系统实验报告.doc

     文件         64  2008-10-18 20:50  操作系统实验综合设计\文件管理\更多电子书下载.html

     文件      10686  2007-11-05 21:36  操作系统实验综合设计\存储管理\cunchuguanli.c

     文件      26600  2007-11-05 21:36  操作系统实验综合设计\存储管理\cunchuguanli.exe

     文件     173056  2007-11-05 21:36  操作系统实验综合设计\存储管理\存储管理实验报告.doc

     文件         64  2008-10-18 20:50  操作系统实验综合设计\存储管理\更多电子书下载.html

     文件       6228  2007-11-05 21:36  操作系统实验综合设计\作业调度\duodao.c

     文件      20917  2007-11-05 21:36  操作系统实验综合设计\作业调度\duodao.exe

     文件       7243  2007-11-05 21:36  操作系统实验综合设计\作业调度\zuoye.c

     文件      22399  2007-11-05 21:37  操作系统实验综合设计\作业调度\zuoye.exe

     文件     191488  2007-11-05 21:37  操作系统实验综合设计\作业调度\作业调度实验报告.doc

     文件         64  2008-10-18 20:50  操作系统实验综合设计\作业调度\更多电子书下载.html

     文件      23112  2007-11-05 21:36  操作系统实验综合设计\主存空间分配与回收\cunchu.cpp

     文件      17920  2007-11-05 21:36  操作系统实验综合设计\主存空间分配与回收\Project1.exe

     文件     286720  2007-11-05 21:36  操作系统实验综合设计\主存空间分配与回收\主存空间的分配与回收.doc

     文件         64  2008-10-18 20:50  操作系统实验综合设计\主存空间分配与回收\更多电子书下载.html

     文件         64  2008-10-18 20:50  操作系统实验综合设计\更多电子书下载.html

     目录          0  2008-04-18 22:30  操作系统实验综合设计\进程调度2

     目录          0  2008-04-18 22:30  操作系统实验综合设计\文件管理

     目录          0  2008-04-18 22:30  操作系统实验综合设计\存储管理

............此处省略6个文件信息

评论

共有 条评论