TinyOS 커널 (Kernel)의 구조도 알아보기

TinyOS 커널 (Kernel)의 구조도는 초기화 후 무한 루프에 들어 하나의 함수를 실행하고 잠이 변화하는 것을 나타냅니다. MainM 구성 요소의 main ()에서 무한 루프에 들어가면 아래 부분에서 시작하여 초기화 후 작업 큐가 비워지기 때문에 즉시 절전 모드로 전환합니다.

TinyOS 커널 구조도

응용 프로그램을 수행하기위한 하드웨어 인터럽트가 생성됩니다. 인터럽트에 기반 초기화 소프트웨어의 작동에 중요한 의미가 있습니다. 초기화 된 루틴 후 플랫폼 잠에 하드웨어 인터럽트가 발생하면 하드웨어 인터럽트와 관련된 작업을 실행하고 실행이 완료되면 다시 절전 모드로 전환합니다. 네트워크 임베디드 시스템의 가장 큰 특징은 이러한 반복의 하드웨어 인터럽트에 응답하여 동작하는 것입니다. main () 함수의 StdControl에 의해 초기화 될 때 설정되는 타이머 등의 하드웨어 인터럽트가 인터럽트 서비스 루틴에서 발생한 경우. 인터럽트 벡터는 이벤트의 LAN 정지를 처리하는 데 사용됩니다. 이벤트 핸들러 작업이 완료되면 작업 처리기의 빈 부분에 다시 돌아가서 다음 하드웨어 인터럽트를 기다립니다. 센서 네트워크가 아닌 기존의 PC와 임베디드 시스템의 운영 체제는 인터럽트 서비스 루틴이며, 간단한 작업입니다. OS 코어에 인터럽트가 발생했다는 것을 표시하고 인터럽트를 기다리는 곳으로 다시 이동합니다. 이 경우 OS는 소정의 시간에 인터럽트가 발생했는지 여부를 반복적으로 확인하고 인터럽트가 발생하면 인터럽트를 처리합니다. TinyOS는 nesC를 이용하고, 인터럽트가 발생하면 실시간으로해야 작업을 즉시 실행합니다. 이 방법은 처리 시간이 가장 짧은 중단 된 응용 프로그램에 구성된 응용 프로그램을 효율적으로 수행하기 위해 사용됩니다. 기존 OS와 하드웨어에서 발생하는 인터럽트 처리는 이벤트 관리 기능의 증가는 메모리와 전력 사용량이 늘어난다는 단점이 있습니다. 액션은 이벤트 핸들러에 의해 실행되고 수행되는 작업 중에는 일반적인 호출 메소드 대신 작업라는 메소드를 사용하여 런타임에 수행 할 수있는 기능도 있습니다. 현재 post라는 키워드를 사용합니다. 이 경우에는 여기에서 실행 된 함수는 즉시 실행되지 않고, 함수의 주소가 작업 대기열에 입력됩니다. 이 경우 작업 형식의 함수 이외의 함수를 다수 수행 한 후 작업 큐에 함수의 주소가 있는지 확인합니다. 작업 함수가있는 경우,이 함수의 주소에 해당하는 함수가 실행됩니다 (작업 실행) 작업 큐에 주소가 없을 때까지 작업의 실행이 반복됩니다. 실행이 완료되면 실행해야하는 함수의 주소가 작업 큐에 존재하지 않고,이 시점에서 플랫폼은 절전 모드로 전환합니다. 이것은 실시간을 보장하는 것은 아닙니다. 이것을 보면 이벤트 핸들러에서 호출 태스크 함수는 즉시 실행하지 못하고, 다른 일반적인 함수가 나중에 실행 된 후 작동하기 때문입니다. 고려됩니다. 이 TinyOS 커널은 메인 함수에서 본 것처럼 초기화 과정은 매우 신속하게 이루어집니다. 주요 기능은 많은 하드웨어 및 소프트웨어 초기화 명령을 실행했지만, 단시간에 실행되기 때문에 이벤트 처리기에서 대량의 코드가 실행 되어도 전체 소요 시간은 짧기 때문에 함수를 배치 그러면 중간 실행없이 작업 큐에서 나중에 실행을 연기하고 나머지 함수를 실행 한 후 작업 큐 기능을 수행하는 시간 지연은 그다지 없습니다.

Leave a Comment