• 大小: 478KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: 实验  电梯调度  

资源简介

经典的操作系统实验,模拟电梯调度,代码中注释详细。。。

资源截图

代码片段和文件信息

//实验三----------------------驱动调度------------------------------
#include
#include
#include
#include
#include 
#include 
#include
using namespace std;

typedef struct applicationform{//申请表结构体的定义
char processname[20];//进程名
int zhumianhao;    //柱面号
int citouhao;  //磁头号
int jiluhao;   //记录号
int prt;//标志链表中的节点是否已经调度过!!!
struct applicationform *next;//下一个节点指针
}APP;

//**************************************************************************

APP *phead=NULL*pcurr=NULL*current=(APP*)malloc(sizeof(APP));//定义申请队列的头指针和当前指针以及当前节点和其前节点

//***********************************************************************
//建立单向链表,每添加一个申请时放到头节点phead的后面
//************************************************************************
void init()//建立原始的申请队列
{
current->zhumianhao=0;
current->citouhao=0;
current->jiluhao=0;

APP *p=NULL;
p=(APP*)malloc(sizeof(APP));
    phead=p;

p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p0“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=3;
phead->next=p;
pcurr=p;  //set the pcurrent location 00000
    //current=p; //将当前的位置置为00000

    p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p1“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=1;
pcurr->next=p;   
pcurr=pcurr->next;

    p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p2“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=2;
pcurr->next=p;   
pcurr=pcurr->next;

    p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p3“);
p->zhumianhao=50;
p->citouhao=0;
p->jiluhao=5;
p->next=NULL;
pcurr->next=p;   
pcurr=phead->next;

cout<<“初始------柱面号:“<zhumianhao<<“记录号:“<jiluhao<}
//****************************************************
void addapp()
{
APP* m=NULL;
    m=(APP*)malloc(sizeof(APP));
cout<<“请输入进程名:“;
cin>>m->processname;
cout<<“请输入柱面号:“;
cin>>m->zhumianhao;
cout<<“请输入磁头号:“;
cin>>m->citouhao;
cout<<“请输入记录号:“;
cin>>m->jiluhao;
m->next=pcurr;  
pcurr=m;
phead->next=pcurr;
cout<}


void  print()//输出申请表中的信息
 {
 //APP* temp=pcurr;
     //printf(“------------当前申请表中信息如下-----------\n“);
 printf(“进程名      柱面号       磁头号      记录号\n “);
 printf(“*******************************************\n“);
 while(pcurr)
 {
 //cout<processname<zhumianhao<citouhao<jiluhao<  //temp=temp->next;
 if(pcurr->prt!=-1)
 {
  cout<processname<zhumianhao<citouhao<jiluhao<  }
 pcurr=pcurr->next;

 }
 pcurr=phead->next;
 printf(“ ******************************************\n“);
 }
//******************************
int direction=1;//表示磁头移动的方向:1--向里--柱面号增大的方向  0--向外--柱面号减小的方向
int zhumiandis=200jiludis=8;//这两个变量分别用来记录申请进程的柱面和记录与当前的距离大小
int count=0big=0little=0;//分别用来辨别是否有同柱面的,比当前柱面大的,比当前

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

     文件      65536  2009-01-08 23:47  实验3--电梯调度\debug\exp--os3.exe

     文件     404228  2009-01-08 23:47  实验3--电梯调度\debug\exp--os3.ilk

     文件     486400  2009-01-08 23:47  实验3--电梯调度\debug\exp--os3.pdb

     文件       8622  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\BuildLog.htm

     文件        403  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\exp--os3.exe.embed.manifest

     文件        468  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\exp--os3.exe.embed.manifest.res

     文件        385  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\exp--os3.exe.intermediate.manifest

     文件      62445  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\masi.obj

     文件         67  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\mt.dep

     文件     183296  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\vc80.idb

     文件     184320  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug\vc80.pdb

     文件       3968  2008-11-23 10:09  实验3--电梯调度\exp--os3\exp--os3.vcproj

     文件       1409  2008-11-28 15:16  实验3--电梯调度\exp--os3\exp--os3.vcproj.304-32.Administrator.user

     文件       1427  2009-01-15 19:30  实验3--电梯调度\exp--os3\exp--os3.vcproj.ASUS-8D10232B2C.asus.user

     文件       1427  2008-12-03 23:25  实验3--电梯调度\exp--os3\exp--os3.vcproj.PC-200811072135.XGXU2006.user

     文件       9376  2008-12-03 23:19  实验3--电梯调度\exp--os3\masi.cpp

     文件    1395712  2009-01-15 19:30  实验3--电梯调度\exp--os3.ncb

     文件        889  2008-11-23 09:24  实验3--电梯调度\exp--os3.sln

    ..A..H.     14336  2009-01-15 19:30  实验3--电梯调度\exp--os3.suo

     目录          0  2009-01-08 23:47  实验3--电梯调度\exp--os3\Debug

     目录          0  2009-01-08 23:47  实验3--电梯调度\debug

     目录          0  2009-01-08 23:47  实验3--电梯调度\exp--os3

     目录          0  2009-01-08 23:46  实验3--电梯调度

----------- ---------  ---------- -----  ----

              2824714                    23


评论

共有 条评论