资源简介
调度的实质是操作系统按照某种特定的分配策略来分配资源。进程调度的目的是分配
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个文件信息
- 上一篇:清华的同学写的GRE math sub攻略
- 下一篇:座次管理小程序
相关资源
- SSDA 模板匹配算法PDF
- 基于模糊PID的智能小车控制算法研究
- 信息素增量动态更新的改进蚁群算法
- 禁忌搜索算法的车辆调度问题代码
- 基于载波相位三差的航天器GPS_INS组合
- 算法导论第二十五章习题解答
- 冒泡算法和选择算法演示程序
- 基于DWT和均值量化的音频水印算法
- 基于DWT的自适应盲音频水印算法
- 生产调度优化算法
- AES加密算法modelsim仿真-Verilog语言
- DES加结密算法,明文和密文从文件输
- 以太网无缘光网络中关于动态带宽分
- k近邻算法knn的c代码
- 这是关于LANDMARC的仿真算法
- md5算法流程图
- 遗传算法思想+ppt
- 操作系统进程调度算法 先来先服务
- TLSF开源算法
- 斗地主完整算法包含天地癞子
- DES算法实验报告
- 算法(第4版).pdf
- 稀疏自适应Volterra滤波的QRD_RLS算法
- SC_FDE系统信道估计与频域均衡算法研
- 秘密分享算法
- DSP 基2 FFT 算法详细代码带注释
- 无线定位中的FANG算法
- Amazon推荐算法,标题要长,汗
- 机器学习之随机森林random forest算法最
- 几种堆(BinFibPair)在Dijkstra算法上的
评论
共有 条评论