FreeRTOS Porting Guide (1/4)

2015. 10. 8. 15:142018년 이전 관심사/Cortex

반응형

RTOS

실시간 운영 체제(문화어: 실시간조작체계) 또는 RTOS(←Real Time Operating System) 는 실시간 응용 프로그램을 위해 개발된 운영 체제이다. 운영 체제의 기능 중 CPU 시간 관리 부분에 초점을 맞추어 설계되었다. 실시간 운영 체제는 프로그래머가 프로세스 우선 순위에 더 많은 제어를 할 수 있게 한다. 응용 프로그램의 우선 순위가 시스템 프로그램의 우선 순위를 넘어설 수도 있다. 시스템 코드의 임계 구역을 최소화하였으며, 이를 통하여 응용 프로그램의 처리 요청을 정해진 시간 안에 처리해 줄 수 있다.

실시간 운영 체제의 핵심은 응용 프로그램의 테스크를 처리에 걸리는 시간을 일관되게 유지할 수 있는 정도에 있다. 처리 시간의 변동폭은 지터(jitter)라 부른다. 경성(hard) 실시간 운영 체제와 연성(soft) 실시간 운영 체제로 구분할 수 있으며, 전자가 후자에 비해 지터가 적다.

참고 : https://ko.wikipedia.org/wiki/%EC%8B%A4%EC%8B%9C%EA%B0%84_%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C

Ranking of RTOSs

Embedded_OS_List_Android_Linux_RTOS_2013

참고 : http://www.cnx-software.com/2013/05/21/2013-embedded-market-study-software-development-processors/

FreeRTOS

FreeRTOS는 오픈소스 실시간 내장형 운영체제 중 하나로, 단순함, 뛰어난 이식성, 간결함을 목표로 설계되었습니다. 실제로 운영체제 core 소스 코드가 4,000라인을 넘지 않으며, 불가피한 몇몇 코드를 제외한 거의 모든 code가 C 언어로 작성되어 이식성이 뛰어납니다. 현재 8051, AVR, PIC18, H8, MSP430, HCS12, PIC24, ARM Cortex-M3, ARM7, ARM9, AVR32, ColdFire, x86 등의 다양한 8bit, 16 bit, 32 bit 프로세서에 이식되어 있습니다.

FreeRTOS core는 아래와 같은 기능들을 제공합니다.

  • Mutlitasking
    • 선점형, 비선점형 선택 가능
    • Task 수 제한 없음
    • 동적으로 task 생성 가능
    • Priority 수 제한 없음
    • 두개 이상의 task에 같은 priority 할당 가능 (이 경우 라운드 로빈 스케쥴링)
  • Co-routine
  • Message queue
  • Semaphore
  • Memory Management

FreeRTOS는 변형된 GPL license 정책을 사용합니다. GPL license와 주된 차이점은 FreeRTOS와 link되어 실행되는 저작물을 공개할 의무가 없다는 것입니다. 이점은 보안이나 상업적인 목적으로 저작물에 대한 독점적 권리를 확보할 필요가 있을 때 이를 가능하게 합니다.

참고 : http://www.ubinos.org/mediawiki/index.php/FreeRTOS_%EC%86%8C%EA%B0%9C

반응형