• 大小: 437KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: 其他
  • 标签: 算法  

资源简介

调度的实质是操作系统按照某种特定的分配策略来分配资源。进程调度的目的是分配 CPU 资源。

资源截图

代码片段和文件信息

// diaodu.cpp : Defines the entry point for the console application.
//

//#include “stdafx.h“
#include “conio.h“
#include “iostream.h“
#include “fstream.h“

//--------------------------------------------------------------------------
#define KEY_EXIT ‘-‘
typedef struct{
char ch;
char  *label;
void  (*pfunc)();
}MenuItemDef;
void clearscr(){cout<<“\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n“;}
int  waitakey(){return getch();}
class MenuDef{
public:
    int   nCount;
    MenuItemDef menu[24];
public:
    MenuDef(){nCount=0;}
public:
    void display()
    {  
for (int i=0;i cout<<“       “< cout<<“       “<    }
    void run()
    {   int ch;
do  {
clearscr();
display();
ch=waitakey();
for (int i=0;i if (menu[i].ch==ch)
menu[i].pfunc();
}while (ch!=KEY_EXIT);
    }
    void add(char ch0char *plabelvoid (*func)())
{   menu[nCount].ch=ch0;
menu[nCount].label=plabel;
menu[nCount].pfunc=func;
nCount++;
}
};


class PCB{
public:
PCB() { SetNull();}
public:
enum {kReady=0kRun=1kWait=2kNew=3kTerm=4kDone=5};
    char name[8];
    int  tmCPU; //需要cpu执行时间
    int  priority; //优先权                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
    int  tmArrive; //进程预计到达就绪队列时间
    int  tmEnd; //进程执行结束时间
    int  tmSum; //进程已经执行时间
    int  nStatus; //进程状态
    int  nPointer; //进程队列指针
public:
    int  IsBlank(){ return name[0]==‘\0‘;}
    int  IsFinish(){ return tmSum==tmCPU;}
    void Run(){tmSum++;}
    void SetNull()
    {name[0]=‘\0‘;tmCPU=tmArrive=tmEnd=tmSum=priority=0;nPointer=-1;nStatus=-1;}
    double  T(){return (double)(tmEnd-tmArrive);}
    double Ti(){return (double)((tmEnd-tmArrive)*1.0/tmCPU);}
public:

public:
    friend istream& operator>>(istream& streamPCB&b)
    {
stream>>b.name>>b.tmArrive>>b.tmCPU>>b.priority>>b.nPointer>>b.nStatus;
return stream;
}
    friend ostream& operator<<(ostream& streamPCB&b)
    {   
stream< return stream;
}
};

class Kernel{
public:
    Kernel(){SetNull();}
public:
enum { kFCFS=0kPrioritykRR};             //调度算法ID定义
int tmClick;                               //时钟
int bGrab;                                 //是否允许抢占CPU,0:否   1:是
int nAlgID;                                //调度算法ID

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

     文件       4116  2008-12-11 19:19  算法\银行家算法\wyf.cpp

     文件       3365  2008-12-11 17:48  算法\银行家算法\wyf.dsp

     文件        531  2008-12-11 19:24  算法\银行家算法\wyf.dsw

     文件      41984  2008-12-11 20:54  算法\银行家算法\wyf.ncb

     文件      48640  2008-12-11 20:54  算法\银行家算法\wyf.opt

     文件        240  2008-12-11 20:41  算法\银行家算法\wyf.plg

     文件      77824  2008-12-11 20:37  算法\银行家算法\Debug\vc60.pdb

     文件     168022  2008-12-11 20:40  算法\银行家算法\Debug\wyf.exe

     文件      23990  2008-12-11 20:37  算法\银行家算法\Debug\wyf.obj

     文件     435200  2008-12-11 20:40  算法\银行家算法\Debug\wyf.pdb

     文件          5  2008-12-10 22:40  算法\进程调度算法\1234

     文件        254  2008-12-10 14:36  算法\进程调度算法\in.txt

     文件      10819  2008-12-10 18:01  算法\进程调度算法\新建 文本文档.txt

     文件      10821  2008-12-10 22:00  算法\进程调度算法\进程调度算法.cpp

     文件       3475  2008-12-10 22:00  算法\进程调度算法\进程调度算法.dsp

     文件        549  2008-12-10 22:04  算法\进程调度算法\进程调度算法.dsw

     文件      58368  2008-12-11 22:19  算法\进程调度算法\进程调度算法.ncb

     文件      48640  2008-12-11 22:19  算法\进程调度算法\进程调度算法.opt

     文件        258  2008-12-11 22:16  算法\进程调度算法\进程调度算法.plg

     文件      69632  2008-12-11 15:34  算法\进程调度算法\Debug\vc60.pdb

     文件     237665  2008-12-11 21:39  算法\进程调度算法\Debug\进程调度算法.exe

     文件      50382  2008-12-11 21:38  算法\进程调度算法\Debug\进程调度算法.obj

     文件     476160  2008-12-11 15:34  算法\进程调度算法\Debug\进程调度算法.pdb

     文件     164352  2010-05-12 15:32  算法\1.进程调度算法.doc

     文件     143872  2010-05-12 15:32  算法\2.银行家算法.doc

     目录          0  2009-06-01 23:59  算法\银行家算法\Debug

     目录          0  2009-06-01 23:59  算法\进程调度算法\Debug

     目录          0  2009-06-01 23:59  算法\银行家算法

     目录          0  2009-06-01 23:59  算法\进程调度算法

     目录          0  2009-06-01 23:59  算法

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

评论

共有 条评论