본문으로 바로가기

.c/.oil 파일 체크사항

category ECU/ECU 2017. 2. 9. 21:22
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

▶ Autostart가 true인 task를 먼저 실행. 해당사항을 가진 task가 여러 개면 priority 순으로 실행.

▶ GetResource 등을 API라 부름.

▶ *.oil 에서 task에 RESOURCE= a 라고 적혀있다면 리소스 a를 할당받을 수 있음을 의미.

▶ 모든 task는 끝에 Terminate해야함 => 그 이후에는 API를 콜하면 안됨.

▶ Schedule() : 리스케쥴링이 일어남.

ex) task2(2)가 running 중이어도 ready queue에 task3가 task2보다 priority가 높으면 task3가 진행되고 task2는 ready queue에 들어감.

▶ChainTask : Terminate + Activate

☞ Terminate : 기존의 실행중인 task를 suspend시킴.

☞ Activate : 새로운 task를 실행.

▶ task1에서 task1을 activate하면 그냥 무시할 것.

▶ WaitEvent와 clearEvent는 해당 테스크를 waiting 상태로 보냄. => clearEvent는 무시할 것.

▶ SetEvent(a,b) : a에게 b를 주겠다.

☞ a가 기다리는 event랑 b가 매칭되면 a를 waiting->ready 상태로 보냄.

☞ a를 레디큐에 넣음.

▶ Resource의 priority는 해당 리소스를 가진 task들의 priority 중 제일 높은애로 설정.

☞ GetResource하면 그 task의 priority는 resource의 priority로 바뀜. ( ReleaseResource할 때 까지)

☞ 즉, task의 priority가 낮았더라도 리소스를 가지는 순간 제일 높은 task의 priority로 바뀜.

☞ 이 때문에 다른 task에서 해당 리소스를 가져갈 수 없다 = 데드락이 없음.

▶ GetTaskID랑 Alarm 부분은 무시할 것.


내가 해야할 것 : Testcase가 어떤 규칙을 만족하는지를 체크. (safe or violated)

☞ 규칙 : WE와 SE가 짝이 맞는지. 순서는 WE->SE 순인지.

☞ Ctrl + F 로 찾아볼 것. 없으면 안봐도 됨.









'ECU > ECU' 카테고리의 다른 글

[펌]OSEK - OS  (0) 2017.02.10