2012-01-11 2 views
3

linsched (Linux 스케줄러 시뮬레이터)를 사용하는 방법은 무엇입니까? 출력을 실행하고 점검하는 방법에 대한 예제가 필요합니다. 튜토리얼을 검색하고 README 파일을 살펴 보았습니다. 출력을 실행하고 체크 아웃하는 방법을 이해하지 못합니다. 시도 basic_tests 스크립트 (./basic_tests trivial_bal UNIPROCESSOR로 /basic_tests)하지만, 아무것도 나타나지 .. 미리 감사드립니다 ...스케줄러 시뮬레이터 linsched

답변

4

이 문제가있는 유일한 수 없습니다! 작은 예제를 실행하는 것은 사소하지 않았습니다.

테스트가 끝나기 전에 출력하려는 ​​모든 테스트 (분명히 테스트를 작성한 사람을 제외하고 모두 출력을 원합니다)의 경우 linsched_print_task_stats();을 추가하고 다시 컴파일하십시오.

이 좋아한다 http://www.ibm.com/developerworks/linux/library/l-linux-scheduler-simulator/에 나열 예 4를 들어, 자신의 테스트를 추가하려면 :

  1. 복사합니다 코드를 basic_test.c의 바닥에 4 목록에
  2. 초기화 변수 count에 0 또는 다른 좋은 값.
  3. 변경 topo_dbtest_new_test
  4. 로 변경 함수 이름을
  5. linsched_topo_db로는 struct test tests[]TEST(new_test),을 추가하지만, 인쇄 할 때 하단에있는 마지막 하나는 감시로 사용하지 때문이다.
  6. 파일 void test_new_test(int argc, char **argv);
  7. 컴파일 및 실행의 맨 앞으로 선언과 같은 기능을 추가 /basic_tests list
    trivial_bal
    basic_bal1
    basic_bal2
    bal1
    new_test
  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 

제가 위에서 언급 한 번호를 해석하는 방법에 대한 매우 좋은 설명을 가지고 링크 . 예약 일정에 행운을 비네!