실시간 운영 체제 (RTOS) 란 무엇이며 어떻게 작동합니까?

문제를 제거하기 위해 도구를 사용해보십시오





운영 체제라는 단어를들을 때 가장 먼저 떠오르는 것은 랩톱과 컴퓨터에서 사용되는 운영 체제입니다. 일반적으로 Windows XP, Linux, Ubuntu, Windows 7,8.8.1 및 10과 같은 다양한 유형의 운영 체제를 사용합니다. 스마트 폰에서 운영 체제는 KitKat, Jellybean, marshmallow 및 Nougat와 같습니다. 디지털 전자 장치에는에 의해 개발 된 일종의 운영 체제가 있습니다. 마이크로 컨트롤러 프로그램 . 있습니다 다양한 유형의 운영 체제 마이크로 컨트롤러 용으로 개발하기 위해 여기에서 실시간 운영 체제에 대해 논의했습니다.

실시간 운영 체제 란 무엇입니까?

RTOS는 운영 체제이며 실시간 시스템의 두뇌이자 입력에 대한 즉각적인 반응입니다. RTOS에서 작업은 예측할 수없는 이벤트에 대해 예측 가능한 방식으로 지정된 시간과 해당 응답까지 완료됩니다. RTOS의 구조는 아래와 같습니다.




RTOS의 구조

RTOS의 구조

RTOS의 유형

다음과 같은 세 가지 유형의 RTOS가 있습니다.



  • 소프트 실시간 운영 체제
  • 하드 실시간 운영 체제
  • 확고한 실시간 운영 체제
RTOS의 유형

RTOS의 유형

소프트 실시간 운영 체제

소프트 실시간 운영 체제에는 특정 기한이 있으며 놓칠 수 있으며 t = 0 + 시간에 조치를 취합니다. 소프트 실시간 운영 체제는 OS의 한 유형이며 극단적 인 규칙에 제한되지 않습니다. 이 운영 체제의 중요한 시간은 어느 정도 지연됩니다. 이 운영 체제의 예로는 디지털 카메라, 휴대폰 및 온라인 데이터 등이 있습니다.

소프트 실시간 운영 체제

소프트 실시간 운영 체제

하드 실시간 운영 체제

이것은 또한 일종의 OS이며 마감일에 의해 예측됩니다. 예상 마감일은 시간 t = 0에 반응합니다.이 운영 체제의 몇 가지 예로는 자동차의 에어백 제어, 잠금 방지 브레이크 및 엔진 제어 시스템 등이 있습니다.

확고한 실시간 운영 체제

기업 실시간에서 운영 체제는 일정한 시간 제약이 있고 엄격하지 않고 원하지 않는 결과를 초래할 수 있습니다.이 운영 체제의 예로는 산업 자동화의 육안 검사가 있습니다.


실시간 운영 체제 작업

RTOS의 기본 기능에는 여러 유형이 있습니다.

  • 우선 순위 기반 스케줄러
  • 시스템 클록 인터럽트 루틴
  • 결정 론적 행동
  • 동기화 및 메시징
  • RTOS 서비스

우선 순위 기반 스케줄러

우선 순위 기반 스케줄러에서 대부분의 RTOS는 개별 작업 또는 프로세스에 대해 32 ~ 256 개의 가능한 우선 순위입니다. 이 스케줄러는 가장 높은 우선 순위로 프로세스를 실행합니다. 작업이 CPU에서 실행중인 경우 다음으로 우선 순위가 높은 작업이 실행되고 프로세스가 계속됩니다.

시스템에서 우선 순위가 가장 높은 프로세스에는 CPU가 있습니다.

  • 닫히기 위해 달린다
  • 원래 작업이 새 작업에 의해 선점되면 우선 순위가 높은 프로세스가 준비됩니다.

실행할 준비가 된 것과 같은 작업 또는 프로세스의 세 가지 상태가 있으며 다른 하나는 차단되며 각 상태에 대한 설명은 다음과 같습니다.

실행 준비

실행 준비는 프로세스에 실행할 모든 리소스가 있지만 실행 중 상태가 아니어야 할 때라고합니다. 그런 다음 실행할 준비가 된 것으로 호출됩니다.

달리는

작업이 실행 중이면 실행 중 상태라고합니다.

막힌

이 상태에서 실행할 리소스가 충분하지 않으면 차단 된 상태로 전송됩니다.

작업을 예약하기 위해 세 가지 기술이 수정되었으며 그에 대한 설명은 다음과 같습니다.

협력 일정

이 유형의 예약에서는 실행이 완료 될 때까지 작업이 실행됩니다.

라운드 로빈 스케줄링

이 스케줄링에서 각 프로세스에는 고정 된 시간 슬롯이 할당되고 프로세스는 실행을 완료해야하며 그렇지 않으면 작업의 흐름과 데이터 생성이 손실됩니다.

선제 적 스케줄링

선점 스케줄링은 우선 순위 시간에 따른 시간 할당과 관련됩니다. 일반적으로 256 개의 우선 순위 수준이 사용되며 각 작업에는 고유 한 우선 순위 수준이 있습니다. 더 높은 우선 순위 수준을 지원하는 일부 시스템이 있으며 여러 작업에는 우선 순위가 있습니다.

시스템 클록 인터럽트 루틴

시간에 민감한 작업을 수행하기 위해 RTOS는 일종의 시스템 클럭을 제공합니다. 1ms 시스템 클럭이있는 경우 작업을 50ms 내에 완료해야합니다. 일반적으로 '50ms 후에 깨워 줘'라고 말하는 API가 있습니다. 따라서 작업은 RTOS가 깨어날 때까지 수면 위치에 있습니다. 깨우기가 그 시간에 정확히 실행되지 않을 것이라는 두 가지 알림이 있습니다. 우선 순위에 따라 다르며 현재 더 높은 우선 순위가 실행중인 경우 지연됩니다.

결정 론적 행동

RTOS는 100 개의 작업을 수행하든 10 개의 작업을 수행 했든 상관없이 컨텍스트를 전환하는 거리에 아무런 차이가 없으며 다음으로 높은 우선 순위 작업을 결정하도록 보호하기 위해 크게 이동합니다. 결정 론적 주요 영역에서 RTOS는 인터럽트 처리이며, 인터럽트 라인이 신호를 받으면 RTOS는 즉시 올바른 인터럽트 서비스 루틴의 조치를 취하고 인터럽트는 지연없이 처리됩니다.

우리는 프로젝트 개발자가 하드웨어 특정 ISR을 작성할 것이라는 소음을 내야합니다. 지금까지 RTOS는 직렬 포트, 시스템 클럭에 대한 ISR을 제공하며 네트워킹 하드웨어 일 수 있지만 심박 조율기 신호, 액추에이터 등과 같은 특수한 것이 있다면 RTOS의 일부가 아닙니다.

이것은 전체 일반화에 관한 것이며 RTOS에는 매우 다양한 구현이 있습니다. 일부 RTOS는 다르게 작동하며 위의 설명은 기존 RTOS의 대부분에 대해 가능합니다.

동기화 및 메시징

동기화 및 메시징은 한 시스템의 작업과 다른 시스템 간의 통신을 제공하며 메시징 서비스는 다음과 같습니다. 내부 활동을 동기화하기 위해 이벤트 플래그가 사용되며 사서함, 파이프 및 메시지 큐에서 사용할 수있는 텍스트 메시지를 보냅니다. 공통 데이터 영역에서는 세마포어가 사용됩니다.

  • 세마포어
  • 이벤트 플래그
  • 사서함
  • 파이프
  • 메시지 대기열

RTOS 서비스

운영 체제에서 가장 중요한 부분은 커널입니다. 하드웨어를 모니터링하려면 작업을 덜어 주어야하며 커널이 리소스를 관리하고 할당하는 책임이 있습니다. 작업이 매번 CPU주의를 끌 수없는 경우 커널이 제공하는 다른 서비스가 있습니다. 다음은

  • 시간 서비스
  • 인터럽트 처리 서비스
  • 장치 관리 서비스
  • 메모리 관리 서비스
  • 입출력 서비스

RTOS의 장점

  • 모든 리소스와 장치가 비활성화되면 RTOS는 시스템의 최대 소비량과 더 많은 출력을 제공합니다.
  • 작업이 수행 중일 때 RTOS는 오류가 없기 때문에 오류가 발생할 기회가 없습니다.
  • 메모리 할당은 이러한 유형의 시스템에서 관리하기에 가장 좋은 유형입니다.
  • 이러한 유형의 시스템에서는 변속 시간이 매우 짧습니다.
  • 프로그램의 크기가 작기 때문에 RTOS는 임베디드 시스템 운송 및 기타.

이 기사에서는 실시간 운영 체제가 작동하는 방식에 대해 논의했습니다. 이 글을 읽고 기본적인 정보를 얻으 셨기를 바랍니다. 이 기사에 대한 질문이 있거나 전기 프로젝트 구현 , 아래 섹션에 자유롭게 의견을 남겨주세요. RTOS의 기능은 무엇입니까?