블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2025.6
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

공지사항

최근에 올라온 글

RTOS에 대한 잘못된 생각

RTOS : REAL TIME O.S. 실시간 운영체제
윈도우나 리눅스, 안드로이드 등은 RTOS가 아니다.
RTOS는 말그대로, 어떤 이벤트에 대해 실시간 처리가 가능한 운영체제를 말한다.
그러나, 실제로 RTOS는 많지 않다.
일단 운영체제를 사용하게되면 작업스케쥴러가 돌아가야하며, 작업스케쥴러 자체가 CPU시간을 소모한다.
RTOS는 "거의 실시간 보장"이라는 의미이지, 아주 정밀하게 실시간이 아니다.
또한 "실시간"이라는 것은 조건에 따라 보장되지 않기도 한다.
2개이상의 실시간 이벤트가 발생시, CPU개수가 많아야, 실시간 처리가 가능해진다.
CPU한개로는 무슨수를 써도 2개이상의 이벤트를 실시간처리하는것은 불가능하다.

다시 말하지만, RTOS는 일반 운영체제보다는 더 실시간 반응이 빠른 운영체제를 이야기하는것이지, 진짜로 실시간처리되는 운영체제는 아니다.

RTOS를 사용해야하는 경우는
- 이벤트 수신후 처리시작하는데 걸리는 시간이 20msec이하가 요구되는 경우이다.
- 특정 함수/쓰래드/작업을 다른 기능에 영향을 덜받고, 독립적으로 실행할 필요가 있을때
이다.

RTOS를 사용함으로써 얻는 이점은
- 이벤트를 20msec 이하로 처리가능하다.
- 다수의 기능(함수,쓰래드,작업)을 작성할때, 코딩이 편하다.(다른 작업에 신경을 덜써도 되니깐)

RTOS의 단점
- RTOS별로, 프로그램작성방법 별로 최소 요구시간이 달라질 수 있다.
- 2개이상의 동시 이벤트에 대해 실시간처리는 보장하지 않는다. 2개의 이벤트가 동시에 진행되긴 어렵다.
- 운영체제 코드가 크다.
- 운영체제를 구동하기위한 기본사항을 충족시켜주어야한다.
- 돈을 내야하는 경우도 많다. 무료도 있지만.
- 저성능 CPU에서는 운영체제가 CPU를 사용하는 비율이 높다. 고성능 CPU에서 사용할것을 추천함.
- 2개이상의 이벤트/함수/쓰레드 사용시 동기화문제가 발생한다. 동기화는 생각보다 많은 시간과 자원을 낭비할 수 있다.

RTOS보다 더 실시간이 필요하다면
인터럽트처리를 해야한다.
인터럽트 처리도 2개이상의 이벤트를 동시에 처리하기는 어려우나, RTOS보다 더 빠른 응답성능을 보인다.
또한 동기화 코드가 없어도 되거나, 덜 필요하다.

요약 : RTOS는 엄밀하게 따지면, 실시간은 아니다.

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함