如何使用linsched(Linux调度器模拟器)?需要一个关于如何运行和检查输出的例子。一直在寻找教程,也浏览了 README 文件。不明白如何运行和检查输出。尝试运行 basic_tests 脚本(如 ./basic_tests trivial_bal UNIPROCESSOR)但是,它没有显示任何内容,..提前致谢..
最佳答案
您不可能是唯一遇到此问题的人!运行一个小示例并非易事。
对于您想要输出的每个测试(每个人都想要输出,显然编写测试的人除外),添加 linsched_print_task_stats();
测试结束后重新编译。
如果您想添加自己的测试,例如 http://www.ibm.com/developerworks/linux/library/l-linux-scheduler-simulator/ 中的 list 4这样做:
- 将 list 4中的代码复制到basic_test.c的底部
- 初始化变量
count
为零或其他一些好的值(value)。 - 更改
topo_db
至linsched_topo_db
- 将函数名称更改为
test_new_test
- 添加
TEST(new_test),
至struct test tests[]
, 但不在底部,因为最后一个在打印时用作标记。 - 在文件顶部添加函数作为前向声明
void test_new_test(int argc, char **argv);
- 编译运行:
/basic_tests list
trivial_bal<br/> basic_bal1<br/> basic_bal2<br/> bal1<br/> new_test<br/>
- 尝试你的新命令。
./basic_tests new_test uniprocessor
Task id = 3 (1), exec_time = 7116000000, run_delay = 52092000000, Task id = 4 (2), exec_time = 7116000000, run_delay = 52093000000, Task id = 5 (3), exec_time = 7116000000, run_delay = 52094000000, Task id = 6 (4), exec_time = 7115000000, run_delay = 52095000000, Task id = 7 (5), exec_time = 7115000000, run_delay = 52091000000, Task id = 8 (6), exec_time = 3430000000, run_delay = 25771000000, Task id = 9 (7), exec_time = 3430000000, run_delay = 25772000000, Task id = 10 (8), exec_time = 3430000000, run_delay = 25773000000, Task id = 11 (9), exec_time = 3430000000, run_delay = 25774000000, Task id = 12 (10), exec_time = 3430000000, run_delay = 25775000000, Task id = 13 (11), exec_time = 7272000000, run_delay = 52725000000, Total exec_time = 60000000000
我上面提到的链接对如何解释数字有很好的解释。 祝您日程安排顺利!
关于linux - 调度器模拟器 linsched,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824652/