资源简介
调度的实质是操作系统按照某种特定的分配策略来分配资源。进程调度的目的是分配
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攻略
- 下一篇:座次管理小程序
相关资源
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 栅栏填充算法源码(VC)
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- MUSIC算法c 实现
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
- capon波束形成算法-VC实现
- QGA 量子遗传算法
- 利用OpenGL写毛笔字算法
- 带头结点的单链表的c算法实现
- 自适应隐写算法wow
- 协同过滤算法源码
- RSA AES DES ECC加密算法源码
- 密码学课程设计:DES加密解密算法的
- 北航人工智能原理课大作业源代码,
- A*算法的2D演示(带源码)
评论
共有 条评论