1. Event 다른 task가 발생시킴, Interrupt일 수도 있음 extended tasks일때만 제공 실행순서를 정해줄때 사용 preemptible 와 non-preemptible 일때 서로 스케줄링 behavior가 달라짐 1) preemptable(priority : T1 > T2) T2가 수행중인 상태에서 이벤트를 발생시키면 스케줄러가 활성화된다. T1은 waiting 상태에서 ready상태로 변경된다. T1의 우선순위가 T2보다 높고 preemptive이기 때문에 작업이 전환된다. 2) non-preemptable(priority : T1 > T2) non-preemptive스케줄링일때 이벤트가 발생하고 스케줄러가 rescheduling을 해도 T2의 작업을 중간에 끝내지 않고 작업을 마..
1. Task 일반적인 OS에서의 process생성과정은(생성, 준비, 실행, 대기, 종료) 5가지 방식으로 나뉘지만 OSEK OS에서는 조금 다르다. Task는 크게 2가지 방식으로 나뉜다. 1) Basic task state model running : task가 CPU를 할당받아 작업하는 상태. 한 번에 한 작업만이 이 상태에 있을 수 있으며, 다른 모든 상태는 여러 작업이 동시에 적용될 수 있다. suspend : running 상태인 직업이 “terminate(종료)”명령을 받으면 일시중지인 상태로 작업이 비활성화 된다. “activate”명령을 받으면 ready상태로 돌아간다. ready : running상태의 작업이 preemptive스케줄링에 의해 우선순위가 밀릴때 ready상태로 들어온다..
1) OSEK/VDX 개요 OSEK는 OS가 아닌 표준 스펙이다. Real Time 임베디드 시스템을 제작하기 위해 고안해냄 OSEK는 독일계통 차량 회사에서 만들었고 VDX는 프랑스계통 차량회사가 만들어 내서 둘이 합쳐서 하나의 표준스펙이 되었다. 이를 근간으로 해서 OSEK RTOS OS가 만들어 짐. 2) OSEK 목적 재사용성과 이식성을 높이기 위함 이전에 차량 제조사별로 중구난방식으로 제작해서 표준화된 인터페이스를 만들었어야 함. 용이한 확장성 디버깅 및 에러체크 Figure1-1에서 module1, 2, 3을 각각 하나의 task 및 process라고 볼 수 있다. OSEK operation system에 ERIKA, EB, Vector와 같은 OSEK OS kernal이 들어간다. 3) OS..