アナログタイムスライスローテーション
実験一シミュレーションタイムスライス回転法
一、実験目的:
CまたはC++でタイムスライス回転法をシミュレートする
二、実験内容:
ランダムにプロセスの個数を入力して、各プロセスの名称と各プロセスが働く時間を必要として、ランダムなCPUタイムスライス、シミュレーションプログラムを通じてプロセスがCPUの過程を占有することを表示します.
三、例:
A B C(プロセス名)
2 3 4(プロセスごとの作業時間)
CPUタイムスライスを1に設定
初回ターンA B C
1 2 3
2回目の回転A B C
0 1 2
3回目の回転B C
0 1
4回目の回転C
0
シミュレーションプログラムによりCPU対プロセスを出力する処理手順は:ABCABCC
一、実験目的:
CまたはC++でタイムスライス回転法をシミュレートする
二、実験内容:
ランダムにプロセスの個数を入力して、各プロセスの名称と各プロセスが働く時間を必要として、ランダムなCPUタイムスライス、シミュレーションプログラムを通じてプロセスがCPUの過程を占有することを表示します.
三、例:
A B C(プロセス名)
2 3 4(プロセスごとの作業時間)
CPUタイムスライスを1に設定
初回ターンA B C
1 2 3
2回目の回転A B C
0 1 2
3回目の回転B C
0 1
4回目の回転C
0
シミュレーションプログラムによりCPU対プロセスを出力する処理手順は:ABCABCC
//
#include
#include
using namespace std;
typedef struct Process {
string processName; //
double processTime; //
};
void FIFS(Process p[],int n, double cpuTime) //
{
bool flag = true; //
while(flag)
{
for(int i = 1; i <= n; i++) //
{
if(p[i].processTime > 0)
{
cout< 0):"<< endl;
cin>>processNum;
Process *p = new Process[processNum+1];
cout< 0):"<>cpuTime;
for(int i = 1; i <= processNum; i++)
{
cout<>p[i].processName;
cin>>p[i].processTime;
}
cout< 0 && cpuTime > 0)
{
FIFS(p,processNum,cpuTime);
}
delete[] p;
}