- 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
본 게시글은 개인 공부용으로 작성하여 내용의 퀄리티가 부족할 수 있습니다.
'개발 > 임베디드' 카테고리의 다른 글
RTOS 3 - ECB (0) | 2021.05.12 |
---|---|
RTOS 2 - uC/OS 실시간 커널 구조 (0) | 2021.05.12 |
ARM Cortex M3 프로그래밍3 - 인터럽트, NVIC, DMA (0) | 2021.05.12 |
ARM Cortex M3 프로그래밍2 - 카운터, 타이머 (0) | 2021.05.12 |
ARM Cortex M3 프로그래밍1 - 기본 팁, GPIO, UART 제어 (0) | 2021.05.12 |