アナログタイムスライスローテーション

1431 ワード

実験一シミュレーションタイムスライス回転法
一、実験目的:
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; }