본문 바로가기

개발/임베디드

RTOS 1 - 개요

반응형

- RTOS

: 주어진 입력 조건을 정해진 시간 내에 처리하는 시스템

: Hard RTOS -> micro Controller / OS-II 를 주로 다룰 것임

: Soft RTOS -> 이번 글에선 다루지 않음

: GPOS가 최대 성능을 추구한다면, RTOS는 최소 응답시간을 추구 (위험 최소화)

: 태스크 단위 진행

: Reentrancy: 코드의 재진입성. 즉 중단 후 재실행해도 문제가 발생하지 않는 성질

: Priority Inversion: 높은 우선순위의 태스크가 낮은 우선순위 태스크의 실행 종료를 기다리는 상황. 보통 세마포어를 기다리면서 발생하는 현상

: Priority Inheritance: 높은 우선순위의 태크스가 Wait하는 동안 기다리게 만든 태스크의 우선순위를 임시로 높게 설정

 

- 펌웨어 기반 시스템과의 차이

: 펌웨어 기반: 응답시간이 백그라운드 실행 시간에 영향 받음 -> 시간 예측이 어려움

모든 태스크가 동일 우선순위를 가짐 -> 순차적으로 실행되므로 실행빈도 조절 어려움

: RTOS는 우선순위를 부여할 수 있으며 실시간 이벤트에 대한 응답시간 면에서 유리함

또한 유지보수가 용이하며 태스크 단위로 개발할 수 있어 분업에 용이함

 

- 태스크

: 우선순위가 높은 태스크부터 CPU 점유

: 선점형 커널

: 태스크는 TCB(Task Control Block)과 태스크 스택을 사용함

: 상태

- Ready(준비): 우선순위가 낮아서 CPU를 대기하는 상태

- Running(실행): CPU를 점유하고 있는 상태

- Waiting(이벤트 발생 대기): 이벤트를 대기하는 상태. 이벤트 발생시 Ready 상태로 전이

 

- 세마포어

: 공유자원을 접근하기 위한 Key

: 카운팅 세마포어와 바이너리 세마포어

 

- ITC

: MailBox

: Message Queue

: 전역변수(MuTex보장한다는 가정 하)

 

- 인터럽트

: 주변장치가 CPU에게 이벤트를 알리기 위해 사용

: 인터럽트 종료, 즉 ISR 종료 시점에 스케줄링 수행(선점형)

 

 

 

micro C/OS II 다운로드

https://www.micrium.com/downloadcenter/

 

RTOS Projects Download Center | Micrium

Downloading µC/OS for Makers Makers, educators, and hobbyists can use our commercial real-time operating system for free. ► Apply...

www.micrium.com

 

 

본 게시글은 개인 공부용으로 작성하여 내용의 퀄리티가 부족할 수 있습니다.

반응형