クラスのラウンドロビンスケジューラを作成する必要があります。最初に、プロセスID、その到着時刻、および処理時間を表すリストを3 List<int>
作成しました。私は到着時にそれらを並べ替えました。プロセスに固定クォンタムが割り当てられています(私はハードコーディングしたものを4にしました)、今度はそれらにRRを適用して、各プロセスのシーケンス順序を&の残りの時間をフォームのtextBox
に表示します。次のRoundRobinスケジューリングコードの実装
私はここに一つのアプローチを見つけたが、それはJavaである: https://stackoverflow.com/questions/7544452/round-robin-cpu-scheduling-java-threads
リンクに示されているが、基本的には、これまでのところ、私はオブジェクトのリストを作成することに成功してきたように、私は、オブジェクトのリストに私の3つのリストを変換してみましたプロセスを表す。各オブジェクトにはprocessname
,arrivaltime
,bursttime
が格納されています。これはPCB
というクラスで表されます。
は、今私は、プロセスの数を追加するには、リスト作成しました:
public List<pcb> list = new List<pcb>(); // In place of ArrayList used in the
// example code in the link.
//For loop runs in which above 3 parameters are assigned values & then they're
// added to list:
PCB pcb = new PCB(processname1, arrivaltime1, bursttime1);
list.Add(pcb);
をしかし、どのように、私はアイテムを見つけ、それを操作するために、リストの各値を検索しますか? bursttime
にprocessname="P1"
をアクセスして4ずつ減らしたいとしますか?
これはC#の間違ったデータ構造ですか?
はどのようにあなたがリストでは「アクセス」の値が必要なのですか?リストを反復処理するか、特定のインデックスで値を取得しますか? – millimoose
私は 'operating-system'タグも削除しました。なぜなら、問題のオペレーティングシステムについては何も言及することができないからです。私が間違っている場合は、再度挿入してください。 – Polynomial
リストを反復したい –