나노-RK
Nano-RK개발자 | 카네기 멜론 대학교 |
---|---|
기입처 | C |
동작 상태 | 단종 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 2005년 12월, | 전(
최종 릴리즈 | 리비전 427 / 2008년 2월 | ; 전(
마케팅 대상 | 무선 센서 네트워크 |
이용가능기간: | 영어 |
플랫폼 | Atmel FireFly, MicaZ Motes, MSP430 |
커널 타입 | 실시간 운영 체제 |
체납 사용자 인터페이스 | 명령줄 인터페이스 |
면허증. | GPL 또는 상용 |
Nano-RK는 Carnegie Mellon 대학의 무선 센서 네트워킹 실시간 운영 체제(RTOS)[1][2]로, 센서 네트워크에서 사용하는 마이크로 컨트롤러에서 실행되도록 설계되었습니다.Nano-RK는 실시간태스크 세트를 지원하기 위해 타이밍 프리미티브가 세밀한 고정 priority 완전 프리엠프티브스케줄러를 지원합니다'나노'는 RTOS가 2KB의 랜덤 액세스 메모리(RAM)와 18KB의 플래시 메모리를 사용하는 소형인 반면, RK는 리소스 커널의 약자라는 것을 의미한다.리소스 커널은 시스템 리소스를 사용할 수 있는 빈도에 대한 예약을 제공합니다.예를 들어 작업은 150밀리초마다 10밀리초만 실행할 수 있거나(CPU 예약), 노드가 분당 10개의 네트워크 패킷만 전송할 수 있습니다(네트워크 예약).이러한 예약은 노드가 설계된 배터리 수명을 충족하고 장애가 발생한 노드가 과도한 네트워크 트래픽을 생성하지 않도록 하기 위해 가상 에너지 버젯을 형성합니다.Nano-RK는 오픈소스 소프트웨어이며 C로 기술되어 있으며 Atmel 기반의 FireFly 센서네트워킹플랫폼, MicaZ모트 및 MSP430 [3]프로세서에서 동작합니다.
센서 네트워크에서 [4]RTOS를 사용할 경우 트레이드오프가 발생합니다.
이점
NanoRK는 우선 순위 기반의 사전 스케줄링 기능을 이용하여 결정론적 실시간 요소를 준수함으로써 작업의 적시성과 동기화를 보장합니다.Nano-RK는 무선 노드의 배터리 전력 제한 특성 때문에 가상 에너지 예약을 통해 중앙처리장치(CPU), 네트워크, 센서 효율을 제공하며, 이 시스템을 자원 커널이라고 부릅니다.이러한 에너지 절약에 의해, 의도하지 않은 에러나 네트워크내의 다른 노드에 의한 악의 있는 동작에 의한 노드의 동작 수명에의 악영향을 최소한으로 억제할 수 있습니다.경량 무선 네트워크 스택을 사용하여 패킷 전송, 라우팅 및 기타 네트워크 스케줄링 프로토콜을 지원합니다.Nano-RK는 현재의 다른 센서 운영 체제와 비교하여 임베디드 리소스 커널(RK)[5]의 작은 사이즈로 풍부한 기능과 적시성 스케줄링을 제공합니다.
특징들
정적 구성 – Nano-RK는 에너지 사용 제어에 정적 설계 시간 접근법을 사용하며 동적 작업 생성을 허용하지 않으므로 애플리케이션 개발자는 정적 테스트베드 설계에서 작업 할당량 및 예약 할당량/우선 순위를 모두 설정해야 합니다.이 설계를 통해 각 태스크에 대한 에너지 예산을 작성하여 시스템 수명 동안 애플리케이션 요건과 에너지 효율을 유지할 수 있습니다.정적 구성 방식을 사용하면 모든 런타임 구성 및 전력 요건이 시스템이 실제 환경에 도입 및 실행되기 전에 설계자에 의해 사전 정의되고 검증됩니다.또, 이 어프로치는, 종래의 RTOS에 비해 안정성과 소형화 특성을 보증하는 데 도움이 됩니다.
워치독 타이머 지원– 워치독은 시스템이 중대한 장애에 장기간 정지한 경우 시스템 리셋액션을 트리거하는 소프트웨어 타이머입니다워치독 메커니즘은 타이머가 꺼질 때까지 기다렸다가 디바이스를 재부팅함으로써 시스템을 무응답 상태에서 정상 동작으로 되돌릴 수 있습니다.Nano-RK에서는 워치독타이머가 프로세서의 리셋 신호 REBORT ON ERROR에 직접 연결됩니다.디폴트로는 스케줄러가 실행될 때마다 시스템이 부팅되고 리셋될 때 활성화됩니다.시스템이 미리 정의된 시간 내에 응답하지 않으면 시스템이 재부팅되고 초기화 명령 시퀀스가 실행되어 제어가 회복됩니다.
완전 절전 모드– 에너지 효율을 위해 실행할 수 있는 태스크가 없는 경우 시스템의 전원을 끄고 완전 절전 모드로 전환할 수 있습니다.시스템이 이 모드일 경우 딥 슬립 타이머만이 미리 정의된 지연 시간으로 시스템을 웨이크업할 수 있습니다.sleep 모드에서 복귀한 후 CPU가 제시간에 복귀할 수 있도록 다음 컨텍스트 스왑 시간이 설정됩니다.센서 노드가 딥 슬립을 수행하지 않을 경우 주변기기를 관리하면서 에너지 사용량이 낮은 상태로 전환할 수도 있습니다.
준비 큐
Nano-RK는 ready 큐라고 불리는 고정 크기 어레이 내에 모든 ready 태스크를 우선순위가 높은 순서대로 정렬하는 ready 큐노드의 이중 링크 목록을 구현했습니다.Nano-RK 구현 내에서 실행되는 태스크의 수는 배치 전 테스트베드에서 정적으로 설정되므로 Ready Queue 사이즈도 실행할 수 있는 태스크 수로 고정됩니다.nrk readyQ라는 이름의 고정 길이 배열은 이 배열 내에서 가장 중요한2개의 셀을 참조하기 위한 2개의 포인터와 함께 nrk defs.h 파일 내에 있습니다.프리 노드 포인터(프리 노드)와 헤드노드 포인터(헤드 노드)는 각각 할당될 어레이의 다음 셀과 현재 가장 우선순위가 높은 작업을 실행할 준비가 되어 있음을 나타냅니다.
스케줄러
Nano-RK의 핵심은 우선 순위 기반 및 에너지 효율이 뛰어난 정적 선제 실시간 스케줄러입니다.priority 기반의 프리엠프티브스케줄링의 경우 스케줄러는 항상 ready 큐에서 priority가 가장 높은 태스크를 선택합니다.에너지 절약을 위해 태스크는 리소스를 폴링하지 않고 특정 이벤트에서 태스크가 차단되며 이벤트가 발생할 때 잠금을 해제할 수 있습니다.Ready 큐에 작업이 없을 경우 시스템 전원을 꺼서 에너지를 절약할 수 있습니다.시스템이 작동 중일 때 nrk cur task tcb로 나타나는1개의 태스크(현재 태스크)만이 사전 정의된 기간 동안 실행됩니다.따라서 스케줄러의 가장 중요한 작업은 다음에 실행할 태스크와 스케줄러가 다시 실행되도록 트리거될 때까지의 다음 태스크 실행 시간을 결정하는 것입니다.
레퍼런스
- ^ nano-RK Nano-RK: 웨이백 머신에 아카이브된 무선 센서 네트워킹 실시간 운영 체제(RTOS) 2008-05-11
- ^ [1] A. 에스워란, A.Rowe와 R.Rajkumar, "Nano-RK: 센서 네트워크용 에너지 인식 자원 중심 운영 체제", IEEE Real-Time Systems Symposium, 2005년 12월.
- ^ Anand Eswaran, Anthony Rowe 및 Raj Rajkumar, "FireFly: 시간 동기식 실시간 센서 네트워킹 플랫폼"
- ^ embedded.com
- ^ [3] Anand Eswaran, Anthony Rowe 및 Rajkumar, "Nano-RK: 센서 네트워크용 에너지 인식 자원 중심 RTOS", 2005.