본문 바로가기

Operating System/RTOS7

[OSEK OS] Resource Resource란? 우선순위가 다른 여러 task가 공유된 자원에 동시에 접근하는 것을 조정하는 것을 말합니다. 운영체제에서 mutex와 같은 역할을 합니다. OSEK OS에서는 lock을 걸고 푸는 데 GetResource(), ReleaseResource()가 사용됩니다. Resource 종류 Standard : GetResource(RedID) - Resource를 획득하는 API : ReleaseResource(ResID) - Resource를 반환하는 API Internal : OSEK OS 에서 제공하는 특별한 종류의 자원으로, 자원이지만 사용자에게 보이지 않음 즉, GetResource(ResID)와 ReleaseResource(ResID) 를 통해 잠금과 해제를 할 수 없음 Task가 ru.. 2021. 7. 28.
[OSEK OS] Alarm Alarm이란 반복되는 이벤트를 처리하기 위해 OSEK OS가 제공하는 서비스입니다. 알람은 Conter에 연결되어, 카운터가 특정 값에 도달하였을 경우 지정된 동작(task activation, set event, alarm-callback)을 합니다. 주로 OS의 task를 주기적으로 실행 시키기 위해 사용합니다. Counter 카운터는 소스(e.g. Timer)의 값을 TICK 단위의 상수 값으로 변경시킵니다. (e.g. 1ms-> 1tick) OSEK OS는 S/W 혹은 H/W Timer와 연결된, 적어도 하나의 COUNTER를 제공합니다. 카운터를 HW에 연동해서 자동으로 증가할 수도 있지만 보통은 타이머 ISR에 연결해서 증가하는 방법을 사용합니다. Alarm OIL Code COUNTER =.. 2021. 7. 28.
[OSEK OS] ISR Interrupt란 인터럽트는 보통 주변 장치에서 발생합니다. 주변 장치는 mcu에 비해 속도가 느리기 때문에 이를 기다리기보다는 주변 장치의 동작이 완료됐을 때 인터럽트로 작업이 끝났음을 알립니다. ISR(Interrupt Service Routine) ISR은 인터럽트를 처리하는 함수입니다. OSEK OS에서 ISR은 두 가지 카테고리(ISR category1, ISR category 2)로 나눠집니다. 카테고리1은 OS service를 사용하지 않습니다. 일반적인 임베디드 시스템에서의 인터럽트와 동일한 개념입니다. low level의 인터럽트이며 OS가 존재를 인지하지 못하는 ISR입니다. 카테고리2는 OS 관리 하에 있는 ISR이며 OS service를 사용하며 좀 더 많은 일을 할 수 있습니다... 2021. 7. 26.
[OSEK OS] Task와 Event Task란 Task는 OS가 제어하는 프로그램의 기본 단위입니다. 복잡한 제어 소프트웨어의 실시간 요구사항을 나누어 여러 task로 구성하게 됩니다. OSEK OS는 task를 스케줄링하여 각 task의 실시간 요구사항(시간 제약)을 지킬 수 있도록 합니다. Task 만들기 C code의 task body에 task의 내용을 작성하고 TerminateTask()를 호출해서 Task를 끝냅니다. OIL 코드에는 Task의 우선순위, 스택 공유 여부, 자동으로 시작하는지, 선점형인지 비선점형인지 등을 설정할 수 있습니다. Task state model Task는 실행되면서 상태가 변합니다. OSEK은 2가지의 Task State model (Basic Tasks, Extended Tasks)을 제공합니다. .. 2021. 7. 10.
RTOS 용어 정리 김종찬 교수님 실시간 운영체제 및 소프트웨어 강의를 정리한 내용입니다. RTOS를 접하다 보면 Task, deadline, period와 같은 용어들을 자주 만나게 됩니다. 주로 RTOS의 특징인 시간 제약과 관련된 용어인 경우가 많습니다. 강의 내용을 바탕으로 해당 용어들을 정리해보려 합니다. TOC RTOS 스케줄링 Task and jobs Task offset Release time and deadline More about Release time More about deadline Execution time RTOS 스케줄링 프로세서가 resource가 되서 workload를 해결 Workload: 해야할 일. Task를 workload라 부른다 RTOS Schedluer는 CPU를 잘 활용해서 .. 2021. 6. 30.
RTOS (Real-Time OS) 란? Real-Time Systems이란? Computing system whose specification includes both logical and temporal correctness - Logical correctness: produces correct outputs - Temporal correctness: produces outputs at the right time - Usually "embedded systems" Real-Time System은 컴퓨팅 시스템이 잘 돌아가는 지 판단하는 요소로 시간적 요소가 추가됩니다. 논리적으로 올바른 값을 계산했어도 이를 주어진 시간 안에 계산해내지 못하면 Real-Time System으로 가치가 없습니다. Real-Time System은 Embedded.. 2021. 6. 27.