2012-12-05 35 views
0

我正試圖組裝一臺計算機的模型並對其進行一些模擬(學校作業的一部分)。這是一個非常簡單的模型 - 一個CPU,一個磁盤和一個過程生成器,它們生成用戶進程,輪流使用CPU並訪問磁盤(我決定省略各種系統進程,因爲根據他們接下來使用的Process Explorer到沒有CPU時間 - 我基於這個微軟進程資源管理器工具,在Windows 7上運行)。這就是我停下來的地方。詳細的多任務監控

我不知道怎麼給你多久各種進程讀取/寫入到磁盤的相關數據,並在一次有多少數據,以及他們花費多少時間使用CPU。比方說,我想爲PC上的一些典型操作獲取一些統計數據 - 播放音樂/電影,瀏覽互聯網,玩遊戲,使用Office,視頻編輯等......是否有收集這些數據的方法?

我使用模擬與RR的15ms的切換過程時間量子搶佔式多任務,這是它的外觀:
- >進程到達CPU
- >進程並在0-15ms工作,放棄的CPU或切斷
而現在,兩個選項出現:
一)工藝只是坐着等待它再次獲得CPU之前或之前它得到一些用戶的輸入是否有無關 二)工藝要求從磁盤上的數據,直到所述數據可

,我希望去沒有重新加入隊列a)和b)之間的切點可以基於概率來完成,例如a)的90%和b)的10%。但我不知道如何讓這些百分比對於某種類型的流程至少有點現實。另外,一個進程通常可以同時訪問多少數據?

任何提示,來源,公用事業可用於此?

回答

0

我想我找到了答案我自己,雖然是不可靠的。體積和OCCURENCES -

用於Windows的Process Explorer的工具I/O測量盤。所以有一個粗略的方法可以得到答案: 表示一個進程在30分鐘內執行3 000次讀取,而在此期間使用2%的CPU(假設單個核心CPU)。所以這個過程已經使用了36000ms的CPU時間,分成了〜5200個塊(這是不可靠的部分 - 所有可用性過程都不使用整個時隙,所以我只需將時隙的一半分開)。使用CPU後,3000/5200給出57%的讀取數據的機會。

我希望我沒有誤會在Process Explorer中的「閱讀」的統計數據。