while(1){
if(Device A needs service)
take care of A;
process data from A;
if(Device B needs service)
take care of B;
process data from B;
...
if(Device j needs service)
take care of j;
process data from j;
}
Device Check Routine
Priority : ISR > task routine
각 task에 ISR이라는 별도의 함수를 부여하여 ISR로 FLAG를 설정한 후 LOOP가 이 실행되도록 하는 방식이다.
문제 : task들간의 우선순위가 없다.
task간의 우선순위가 존재한다.
문제 : 비선점방식 - 낮은 우선순위의 task의 수행시간이 길면 높은 우선순위를 갖는 task의 deadline을 만족하지 못할 수 있다. (real-time 불만족)
task간의 선점(preemption)이 이루어진다.
스케쥴러가 task의 실행을 결정한다.
deadline이 보장된다.
vendor independence, various hardware support, low cost, open source
embedded linux는 작아야하고 flash driver와 flash file system로 커널이 구성된다.