본문 바로가기

프로그래밍/[임베디드]

[임베디드]요약 RTOS, 커널 -1

http://recipes.egloos.com/5072853

 

RTOS와 Kernel

예전엔 RTOS라는 말을 많이 사용했던 것 같은데, 요즘은 Kernel이라는 말이 또 많이 사용되는 것 같네요. 도대체 Kernel이란 건 뭘까?요. OS라는 게 뭘 하는 녀석인지 보자면, 예전에 OS라는 게 없을 때는 User가 모든 기능을 Software가 처리 가능하도록 처음부터 끝까지 작성을 했는데, 이러다 보니 너무 까다로운 작업에 Software

recipes.egloos.com

위의 블로그를 읽고 요약한 겁니다 위쪽으로 가시면 더 좋은 내용 훨씬 많이 있습니다.

 

[OS]

소프트웨어를 개발하다보니 input output 메모리 로딩 같은 부분은 거의 모든 프로그램에 들어갔다.

이러한 공통의 부분들을 매번 다시 개발하지 않고, 개발 해두고 계속 사용하기로 한게 os의 시초

 

[RTOS]

RTOS라 함은 임베디드 시스템에서 사용되는 OS

기본적으로 multitasking 과 interrupt처리 기능을 가지고 있음

 

[Kernel]

Kernel이라 함은 RTOS중에 중요한 기능 (context switching, memory management, ISR Management)등을 담당하는 부분을

따로 떼어서 kernel이라 부름

 

[TASK]

한가지 기능을 하는 무한루프

task는 process 단위로 구현 하거나 thread단위로 구현

 

[Process]

프로세스는 자신만의 고유한 Memory Space를 할당받아 process간에는 data 공유가 되지 않음

공유를 하려면 프로세스간 통신 하는 IPC, system, call 등을 사용하여 통신 하여야 한다.

 

프로세스가 자식 쓰레드를 만들면 부모와 자식도 주소 공간을 공유 함으로 쓰레드, 그러나 다른 프로세스가 봤을땐 각각이 모두 프로세스이다.

 

[Thread]

모든 주소 공간을 공유하여 직접 access가 가능하다.

 

 

쉽다고 안외우는데 쓰려그려면 은근 헷갈리니 외우자

[Ready state]

Task가 누군가로 부터 일 해달라고 요청 받았어 라는 걸 알아챌 수 있는 단계, 다음번에 scheduling할 때 순서를 줘야하는 task라는 걸 인식 하는 단계.

 

[Running State]

Scheduler가 해당 테스크로 context switching시켜서 일할 수 있게 만들어 준 단계.

 

[Hardware Interrupt]

진짜 전기신호가 전달되면, IRQ mode로 전환 되면서, Interrupt를 처리, IRQ mode 에서 interrupt를 처리해주는 routine을 ISR이라 부른다.

 

[비선점형]

한 Task가 스케쥴러로 부터 cpu를 할당 받으면 그 Task가 cpu를 놓기 전까지 CPU의 제어권을 뺏을 수 없다. 

 

[선점형]

scheduler의 필요에 따라 task로 부터 cpu의 제어권을 뺏을 수 있다.

 

[multi tasking]

임베디드 시스템에서 여러개의 task를 ready상태로 만들 수 있고 이 task들에게 따로 일을 시킬 수 있는 상태.

 

 

 

'프로그래밍 > [임베디드]' 카테고리의 다른 글

[임베디드] 심볼 SYMBOL  (0) 2020.06.01