我正在尝试组装一个计算机模型并在其上运行一些模拟(学校作业的一部分)。这是一个非常简单的模型 - 一个 CPU、一个磁盘和一个进程生成器,它生成轮流使用 CPU 和访问磁盘的用户进程(我决定省略各种系统进程,因为根据 Process Explorer 他们使用下一个没有 CPU 时间 - 我基于在 Windows 7 上运行的 Microsoft Process Explorer 工具)。这就是我停下来的地方。
我不知道如何获取有关各种进程读/写磁盘的频率、一次有多少数据以及它们使用 CPU 的时间的相关数据。假设我想获得一些关于 PC 上一些典型操作的统计数据——播放音乐/电影、浏览互联网、玩游戏、使用 Office、视频编辑等等……有没有办法收集这些数据?
我正在使用 RR 模拟抢占式多任务处理,时间量为 15 毫秒以切换进程,这就是它的外观:
-> 进程到达 CPU
-> 进程在 0-15 毫秒内完成工作,放弃 CPU 或被切断
现在,出现了两种选择:
a)进程只是在它再次获得 CPU 之前或在它获得一些用户输入之前(如果无事可做)就坐下来等待 b)从磁盘处理请求的数据,并且在所述数据之前不重新加入队列可用
我希望模型中a)和b)之间的决定基于概率来完成,例如a)为90%,b)为10%。但我不知道如何让这些百分比对于某种类型的流程至少有点现实。此外,一个进程通常可以同时访问多少数据?
有任何可用的提示、资源、实用程序吗?