0

私はコンピューターのモデルを組み立てて、その上でいくつかのシミュレーションを実行しようとしています(学校の課題の一部)。これは非常に単純なモデルです。CPU、ディスク、およびCPUの使用とディスクへのアクセスを交互に行うユーザープロセスを生成するプロセスジェネレーターです(Process Explorerによると、次に使用するため、さまざまなシステムプロセスを省略することにしました。 CPU時間なし-これは、Windows7で実行されているMicrosoftProcessExplorerツールに基づいています。そして、これは私が立ち寄ったところです。

さまざまなプロセスがディスクに対して読み取り/書き込みを行う頻度、一度に実行するデータの量、およびCPUの使用に費やす時間に関する関連データを取得する方法がわかりません。PCでの一般的な操作(音楽/映画の再生、インターネットの閲覧、ゲームの再生、Officeの操作、ビデオ編集など)の統計を取得したいとします...そのようなデータを収集する方法さえありますか?


プロセスを切り替えるために
15msのタイムクォンタムを持つRRを使用してプリエンプティブマルチタスクをシミュレートしています。これは次のようになります。
そして今、2つのオプションが発生します:
a)プロセスはCPUを再び取得する前、または何もすることがない場合はユーザー入力を取得する前にただ座って待機しますb)ディスクから要求されたデータを処理し、そのデータが出るまでキューに再参加しません利用可能です

そして、モデルのa)とb)の間の決定は、確率に基づいて行われるようにしたいと思います。たとえば、a)の場合は90%、b)の場合は10%です。しかし、特定のタイプのプロセスでこれらのパーセンテージを少なくとも少し現実的にする方法がわかりません。また、プロセスは通常、一度にどのくらいのデータにアクセスできますか?

これに利用できるヒント、ソース、ユーティリティはありますか?

4

1 に答える 1

0

信頼できないものではありますが、自分で答えを見つけたと思います。

Windows 用の Process Explorer ユーティリティは、ディスク I/O をボリューム別および発生別に測定します。したがって、答えを得る大まかな方法​​があります。たとえば、プロセスが 30 分間で 3,000 回の読み取りを実行し、その間に 2% の CPU を使用するとします (シングル コア CPU を想定)。したがって、プロセスは 36000 ミリ秒の CPU 時間を使用し、〜 5200 ブロックに分割されました (これは信頼できない部分です。すべての確率でプロセスがタイムスロット全体を使用するわけではないため、タイムスロットを半分で割るだけです)。3000/5200 では、CPU の使用後にデータを読み取る可能性が 57% になります。

Process Explorer の「読み取り」統計を誤解していないことを願っています。

于 2012-12-11T10:25:14.860 に答える