Планировщик симулятора с линчедом - PullRequest
3 голосов
/ 11 января 2012

Как использовать linsched (симулятор планировщика Linux)?Нужен пример того, как запустить и проверить вывод.Искал учебники, а также прошел через файл README.Не понимаю, как запустить и проверить выходы.Попытался запустить скрипт basic_tests (как ./basic_tests trivial_bal UNIPROCESSOR), но он ничего не показывает, .. Заранее спасибо ..

1 Ответ

4 голосов
/ 29 марта 2012

Вы не можете быть единственным, у кого есть эта проблема! Запустить небольшой пример было нетривиально.

Для каждого теста, который вы хотите выводить (все хотят выводить, кроме того, кто явно написал тесты), добавьте linsched_print_task_stats(); в конце теста и перекомпилируйте.

Если вы хотите добавить собственный тест, например, перечислив 4 в http://www.ibm.com/developerworks/linux/library/l-linux-scheduler-simulator/, сделайте так:

  1. Скопируйте код из листинга 4 в конец файла basic_test.c
  2. инициализировать переменную count нулем или другим хорошим значением.
  3. Изменить topo_db на linsched_topo_db
  4. изменить имя функции на test_new_test
  5. Добавьте TEST(new_test), к struct test tests[], но НЕ внизу, поскольку последний используется в качестве дозорного при печати. ​​
  6. Добавить функцию в качестве прямого объявления вверху файла void test_new_test(int argc, char **argv);
  7. Скомпилируйте и запустите: /basic_tests list
    trivial_bal<br> basic_bal1<br> basic_bal2<br> bal1<br> new_test<br>
  8. Попробуйте свою новую команду. ./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

Ссылка, которую я упомянул выше, имеет очень хорошее объяснение того, как интерпретировать числа. Удачи в планировании!

...