Akashic Records

TinyOS 본문

Infrastructure

TinyOS

Andrew's Akashic Records 2018. 4. 18. 15:16
728x90

TinyOS는 센서 네트워크에 사용되는 공개 시스템 기술이다. 센서 네트워크 기술은 새로운 컴퓨팅 패러다임인 유비쿼터스 컴퓨팅의 진입 기술로 중요한 의미를 갖는다. 이런 새로운 패러다임으로의 기술 발전이 성공하기 위해서는 진입기술의 확산이 중요하다.TinyOS는 새로운 기술에 대한 개념 정립과 실제 구현을 동시에 진행하고 그 결과를 공개하여 센서 네트워크의 확산을 이끌고 있다.


Sensor Network

센서 네트워크(sensor network)는 물리공간의 상태인 빛, 소리, 온도, 움직임 같은 물리적 데이터를 센서노드에서 감지하고 측정하여 중앙의 기본 노드(base-station or sink)로 전달하는, 센서 노드들로 구성되는 네트워크이다. 센서 네트워크는 일반적으로 멀티-홉(multi-hop) 무선 네트워크 형태의 다수의 분산 센서 노드들로 구성된다. 센서 노드들은 하나이상의 센서(온도, 소리, 빛,가속도, 자기장 등), 액추에이터(actuator), 마이크로 컨트롤러, 수 십 KB 크기의EEPROM, 수 KB의 SRAM, 수백 KB 크기의 플래시 메모리, 근거리 무선 통신 모듈로 구성된다. 센서 네트워크 기술은 센서와 무선 네트워크 기능을 이용하여 물리공간에서 측정한 아날로그 데이터를 디지털 신호로 변환하고, 인터넷 같은 전자공간에 연결된 루트(root) 노드로 전달하는 입력시스템의 역할을 한다. 물리적 세계와 사이버 세계를 연결할 수 있는 특징 때문에,센서 네트워크의 개념은 새

롭게 대두되고 있는 지능형 서비스들의 지능형 환경 모니터링, 위치인지 서비스, 지능형 의료시스템, 지능형 로봇 시스템 등 다양한 분야에 적용되고 있다.

센 서 네트워크의 장점은 낮은 사양의 하드웨어를 이용하여 무선 애드-혹(ad-hoc) 네트워크를 구성할 수 있는 점이다. 예를 들어, 지금까지 개발된 블루투스(bluetooth), 무선랜(wireless LAN) 등의 무선 네트워크 기술들은 반드시 컴퓨터, PDA 같은 고급 컴퓨팅 장치를 필요로 하는데, 센서네트워크 노드는 독자적으로 네트워크를 구성한다. 이런 네트워크 구성의 용이성 때문에 유비쿼터스(ubiquitous) 컴퓨팅 환경의 기반기술로 사용될 수 있을 것이다.


TinyOS

TinyOS의 개발 목적은 세 가지로 설명할 수 있다

  1. 미래의 센서 네트워크 노드에 사용될 수 있는 소프트웨어 구조를 설계

  2. 여러 하드웨어 플랫폼과 소프트웨어 라이브러리를 사용하여 운영체제와 서비스 애플리케이션을 구현할 수 있도록 설계

  3. 제한된 자원, 동시성, 강인성, 응용 서비스별 요구사항을 만족할 수 있는 설계이다.


이 런 목표의 달성을 위해 TinyOS는 구성이 모듈화 되었으며, 제한된 자원에서 동작할 수 있는 이벤트 구동 방식으로 구현되었다.모듈구성에 따라 운영체제가 다양한 하드웨어에 적용이 가능하며, 서비스 애플리케이션도 동일한 추상화를 유지할 수 있다.


TinyOS는 이벤트 발생 중심의 상태 전이 방식을채택한 센서 네트워크용 운영체제로 동시적인 프로세싱 및 제한된 하드웨어 메모리 공간에서의 효율적인 성능을 지원해주는 운영체제이다. 상태 머신 기반의 구조를 가지며 응용 프로그램은 각 독립적인컴포넌트를 연결하는 방식으로 이루어진다. 이 명령을 처리하는 이벤트 처리기는 그 명령에 따른 상태변화를 일으켜 해당 작업을 처리하게된다. 간단한 FIFO 스케줄러를 사용하기 때문에 실시간성 등을 고려하기 어렵고 복잡한 응용을 작성하는 데 어려움이 있다.

동적 메모리를 할당하지 않지만 nesC라는 언어를 통하여 컴파일 시간에 컴포넌트가 요구하는 메모리 크기를 정적으로 할당하여 센서 네트워크용 응용프로그램을 작성할 수 있다. nesC는 안정성을 위해 전체 프로그램에 대한 분석을 통해 최적화를 수행하는 컴포넌트 기반 언어로 TinyOS의 이벤트 기반 동시성 모델을 가능하게 해주지만 프로그래머가 새로 익혀야 하기 때문에 접근하기 어렵다는 단점이 있다.



TinyOS의 큰 강점으로 센싱한 데이터를 효과적으로 관리하기 위한 TinyDB나 센서 네트워크에서의 보안을 위한 TinySec등의 모듈을 지원함으로써 사용자가 손쉽게 다양한 기능을 가진 센서 네트워크를 구현할 수 있게 지원하고 있다. 2.0 이후 버전의 경우 인터페이스와 추상화 과정에 있어 많은 변화가 있어 이전 버전과의 호환성은 지원하지 않지만, 코드를 업그레이드 하기가 더 쉬워졌으며 안정성이 향상되었다.


728x90

'Infrastructure' 카테고리의 다른 글

u-IT839  (0) 2018.04.18
u-시티  (0) 2018.04.18
T-Commerce  (0) 2018.04.18
SEM(Strategic Enterprise Management)  (0) 2018.04.18
SaaS (Software as a Service)  (0) 2018.04.18
Comments