前面介绍了 syssim_driver
这个 disksim 系统级接口。程序的作者留给我们的只是应用该接口的一个小例子。例子有很多的局限性,所以我们要通过一些修改才能唯我所用。
原程序最大的局限性就在于,每次发送请求都是等上一个请求全部完成了才发送下一个请求。很显然这是不切实际的,所以这一块是要我们修改的。还有一点就是要将原程序中随机生成的 trace 数据改成我们自定义的数据,可以改成从文件中去读取我们自己的 trace 。
原来程序的调用方式是 syssim <parameters file> <output file> <max. block number>
,max. block number
表示的是最大的 blkno 主要是在随机生成 trace 时用到,这里我们用不上这个参数,直接把这个参数换成我们的 trace 文件就好了。然后采用这样的方式调用该程序:syssim <parameters file> <output file> <trace file>
修改比较简单直接看代码吧:
1 | int main(int argc, char *argv[]) |