분류 전체보기42 RTOS에 대한 기본적인 이해와 개요 RTOS를 왜 선택해야 하는지 알아봤기 때문에 본격적으로 RTOS 구조에 대해 확장된 얘기를 해보겠습니다. 일반적으로 제공하는 서비스들에 대해서 먼저 알아보고 그러한 서비스들을 어떻게 건설적으로 사용할 수 있는지에 대해서도 고민해볼게요. 아무래도 관심이 있는 사람이라면 더 자세히 검토해 보고 싶을 거라고 생각합니다. 우선 전체적인 내용과 관련이 깊은 임베디드 시스템에서 사용하는 용어들이 일괄적으로 통일되지 않았다는 것을 알고 있을겁니다. RTOS에서도 동일합니다. 많은 사람들이 RTOS라 용어를 사용합니다. 어떤이들은 커널, 실시간 커널, 또는 RTK라고 사용하기도 하는데 면밀히 살펴보면 조금 다른 개념입니다. 운영체제는 보통 핵심적인 처리를 하는 커널과 기타 다른 애플리케이션과 통신을 하거나 서비스를 .. 2020. 6. 3. 임베디드 소프트웨어 (2) - 펑션스케줄링 구조, RTOS 구조 앞에 이어서 임베디드 소프트웨어의 남은 두 종류를 알아보겠습니다. [평션스케줄링 구조] 펑션스케줄링이라고 불리는 이 구조는 이전과 다른 약간 복잡한 구조를 보여줍니다. 이 구조에서 인터럽트 루틴은 함수 포인터를 메인 함수가 호출할 수 있도록 함수 포인터의 큐에다 넣습니다. 메인 함수는 단지 큐로부터 포인터를 읽어서 함수를 실행하죠. 이 구조의 장점은 인터럽트 루틴이 발생하는 순서대로만 메인 함수가 함수들을 호출해야 할 필요는 없다는 것에 있습니다. 사용하려는 목적에 맞는 어떠한 우선순위 정책으로도 함수들을 호출할 수 있습니다. 빠른 응답을 필요로 하는 태스크 코드의 함수들은 더 일찍 수행될 수 있고요. 함수 포인터들의 큐를 다루는 루틴을 현명하게 작성해서 이러한 모든 것들을 수행할 수 있습니다. 이런 구.. 2020. 6. 3. 임베디드 소프트웨어 (1) - 라운드로빈 구조, 인터럽트 라운드로빈 구조 임베디드 소프트웨어 기본 구성을 위해서 다양한 구조에 대해서 알아봅시다. 주어진 시스템에 어떤 소프트웨어 구조가 적합한지를 결정하는 가장 중요한 요소는 얼마나 많은 시스템의 응답을 제어해야 하는지와 밀접한 관계가 있습니다. 절대적인 응답 시간뿐만 아니라 마이크로프로세서의 속도와 다른 수행 조건들에 의해서도 얼마나 좋은 응답을 얻을 수 있는지가 결정됩니다. 응답 시간에 대한 조건의 거의 없고, 그리 절박하지 않은 시스템은 매우 간단한 구조로 작성될 수도 있죠. 많은 종류의 이벤트에 대해서 빠르게 반응해야만 하고 다양한 수행 조건들과 각기 다른 제한 시간, 다양한 우선순위를 가진 시스템은 더 복잡한 구조를 가져야만 하고요. 네 종류의 구조에 대해서 다룰 예정입니다. 먼저 실제적으로 시스템의 응답이나 우선 순.. 2020. 6. 2. 인터럽트 지연과 전체 내용 요약 (핵심) [인터럽트 지연] 인터럽트는 시스템으로부터 좀 더 나은 응답을 얻어내려는 수단이고, 임베디드 시스템에서 응답 속도는 언제나 중요한 문제이기 때문에, 내 시스템은 각각의 인터럽트에 대해 얼마나 빠르게 응답할지 고민하는 것은 굉징히 중요합니다. 이 고민에 대한 답은 몇 가지 요인에 의해서 결정되죠. 하나. 해당하는 인터럽트가 금지되는 가장 긴 시간 둘. 해당하는 인터럽트보다 높은 우선 순위를 가진 인터럽트를 위한 인터럽트 루틴 수행 시간 셋. 마이크로프로세서가 수행하던 일을 멈추고, 인터럽트 루틴으로 점프하기 위해 필요한 준비 작업을 하고, 인터럽트 루틴의 명령어를 실행시키기 시작할 때까지의 시간 넷. 인터럽트 루틴이 컨택스트를 저장하고 나서 응답이라고 여겨지는 일들을 수행하는데 걸리는 시간 인터럽트 지연이.. 2020. 6. 2. 이전 1 ··· 7 8 9 10 11 다음