调度程序模拟器linsched

时间:2012-01-11 18:31:08

标签: linux simulator scheduler

如何使用linsched(Linux调度程序模拟器)?需要一个关于如何运行和检查输出的示例。一直在搜索教程,并浏览了README文件。不明白如何运行和检查输出。尝试运行basic_tests脚本(如./basic_tests trivial_bal UNIPROCESSOR)但是,它不会显示任何内容,...提前感谢..

1 个答案:

答案 0 :(得分:4)

你不可能是唯一一个遇到这个问题的人!让一个小例子运行并非易事。

对于您想要输出的每个测试(每个人都想要输出,显然是编写测试的人除外),在测试结束时添加linsched_print_task_stats();并重新编译。

如果您想添加自己的测试,例如http://www.ibm.com/developerworks/linux/library/l-linux-scheduler-simulator/中的列表4,请执行以下操作:

  1. 将清单4中的代码复制到basic_test.c
  2. 的底部
  3. 将变量count初始化为零或其他一些好的值。
  4. topo_db更改为linsched_topo_db
  5. 将函数名称更改为test_new_test
  6. TEST(new_test),添加到struct test tests[],但不在底部,因为最后一个用作打印时的标记。
  7. 在文件void test_new_test(int argc, char **argv);
  8. 的顶部添加函数作为前向声明
  9. 编译并运行:/basic_tests list
    trivial_bal
    basic_bal1
    basic_bal2
    bal1
    new_test
  10. 尝试新命令。 ./basic_tests new_test uniprocessor
  11. 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
    

    我上面提到的链接对如何解释这些数字有很好的解释。 祝你安排好运!