Real time, 실시간이란 방해 받지 않고 즉시 응답할 수 있는 시간을 의미한다. 아주 짧은 시간이다. 찰라는 1/75 초이다. 이것은 13 msec이다. 기다리지 않고 바로 답을 얻을 수 있는 시스템을 실시간 시스템이다 부른다.
경성 실시간(Hard real-time): 외부의 이벤트에 대해 명시된 시간 즉 데드라인 내에 응답해야 하는 실시간 시스템으로 그렇지 못한 경우 완전한 실패로 판정되는 시스템. 무기방어시스템.
연성 실시간(Soft real-time): 경우에 따라서 데드라인을 지키지 못하는 경우가 발생해도 실패로 판정하지 않는 시스템. DVD플레이어, 생산라인.
진정한 의미의 리얼타임이란 허용시간(Deadline) 내에 응답하는 것을 의미한다. 이것을 하드 리얼타임 시스템이라고 한다. 소프트 리얼타임 시스템에서는 각 태스크는 시스템에 의해 가능한 빨리 실행되지만, 어떤 정해진 시간내에 종료할 필요는 없다.
하드 리얼타임 시스템에서는 태스크가 정확하게 실행될 뿐 아니라, 정확한 시간에서 실행되어야 하고 Hard, Soft 시간의 제약성을 만족. 최악의 실행 시간을 만족해야 함을 의미한다.
리눅스는 임베디드 시스템에 있어서 나중에 접목시켜야 할 다양한 애플리케이션이 이미 존재 대체적으로 안정적이고 안전하며 성능 또한 우수하다. 타겟으로는 실험실 장비, 계측기, 임베디드 시스템, 로봇, 엔진, 세트톱박스, 웹서버를 탑재한 태양열 엔진으로 구동되는 자동차를 위한 제어 시스템 등이 있다.
Embedded System란 독립장비 혹은 내장화(프로세서 포함)한 시스템, 한 개의 시스템이 스스로 판단하여(물론, 프로그램되어 있는 것)동작등을 수행 시스템이다.
문맥전환시간과 인터럽트 지연시간: 작업A가 실행 중에 인터럽트가 발생하면, 인터럽트 지연시간(HW인터럽트지연+SW인터럽트지연) 후에 ISR이 처리된다. 다음에 OS스케줄러는 우선 순위가 높은 작업으로 문맥전환이 이루어져 작업B로 실행된다. 여기서 문맥전환 시간은 인터럽트 지연시간 plus ISR처리시간 plus OS 스케줄링시간 plus 문맥전환시간의 합으로 계산된다.
실시간을 대응하려면, 1) 인터럽트 대기시간과 반응시간이 중요하며 에어백이 좋은 예가 된다. 즉 충돌 인터럽트 후 2초 이내에 반응하지 않으면 에어백은 쓸모가 없다. 2) 그리고 주기적인 태스크 스케줄링이 이루어져야 하는 데 ABS가 좋은 예가 된다. ABS는 브레이크를 작동시켰을 때 브레이크 잠김을 방지하기 위해 초당 20회 걸쳐 브레이크 압력을 각각 제어하는데, 이때 주기적인 휴지 기간이 필요하며 Deadline내에 동작해야만 한다. 여기서, Deadline이란 정해진 일정기간을 말한다.
실시간을 보장 받기 위해서는 라운드 로빈에 의해 스케줄링되는 중에, 어떤 인터럽트에 의해 선점될 수 있어야 한다.
댓글 없음:
댓글 쓰기