Linux環境でANSI CのCPUスケジューリングをプログラミングしている間、待ち行列に入れられた各プロセスの待ち時間は計算できませんでした。基本的には、私は4つのCPUで20以上のプロセスを実行し、各プロセスに要する時間、平均時間、CPU消費などを測定する必要があります。ANSI Cの最初のサービスの待ち時間の計算
ここで私がコードしようとしているプロセスの類推です:
私が描いた画像が ...私の問題を単純化しようとしていたが、これはCPUのschedualerを果たす最初に最初に来ている、 カウンタAは、CPUバースト、カウンタBは、デバイスのバーストであります 回線1はレディキュー、回線2はデバイスキュー...
これまではタスクを配列に出力することができましたが、私の割り当てのために、各人が待つ時間、各プロセスのターンアラウンドタイム、平均時間を調べる必要があります。
各人構造体には「arrivalTime」があり、いつでも変更することができます 各人物の構造体には、それぞれのカウンタtimeRequired []で必要な時間の配列もあります。交互に表示され、インデックス0はカウンタA、インデックス1はカウンタBの場合、インデックス2はAに対するものです。 人それぞれの構造体が、要する時間[]、「arrayPointer」
のための配列ポインタを持っている私が描いた絵は、秒を言うが、それは実際に私は本当に、実際に必要としない、任意の時間単位、整数、 です時間クロック...
これまで私が行ったのは2つのスレッド機能をcounterAに1つとcounterBに1つ、 を作成し、 Bが人を終えたとき、それはAラインに詰め込まれます。私はすべてのもののように感じる
はすでに私のためにそこにあるが、私は本当に私が計算され、その待ち時間ににここから何をする必要があるかを知らない...
またはスレッドを使用するよりも簡単に解決策はありますか?
教授は私たちに2つのファイル
ヘルパーメソッド
[http://pastebin.com/qF7nQsUR]
ヘッダファイルを与えた
[http://pastebin.com/nQQNXnmq]
だからどんなネクタイで何を記述することができ、これらの配列 - あなたは答えを受け入れたのですか? –
残念ながら、以下の答えのどれも、私はいくつかのクラスメートに尋ね、彼らはループ処理を行い、待ち時間を得るためにi + 1を数えると言った。 – Hiko