TinyOS2009/01/19 12:54
TinyOS를 공부했던 지난 여름방학때가 기억난다.. 아무것도 모르면서 무턱대고 시작만 햇던시기 ;;
지금 다시 기억을 회상하면서 다시 시작하고자 한다.
처음부터 의문점을 가지고 한개한개씩 배워 나가 보자.

TinyOS system과 library와 application은 무엇으로 쓰여 있을까요 ?

nesC 기반으로 되어있다.
nesC는 c언어와 비슷하고, TinyOS는 c와nesC두개의 모델을 모두 수용한다.
TinyOS의 중요한것들은 다 nesC기반으로 만들어져 있습니다.

TinyOS는 그럼 누구를 위해서 만들어 졌으면, 무엇에 쓰이는가 ?

TinyOS는 센서 네트워킹을 하는 embedded systems 을 위해서 만들어졌고,
궁극적인 목적은 application designers에게 좀더 쉽게 접근을 허용하고 쉽게 구축을 도와주기 위함이다.

nesC의 특징은 무엇인가 ?

1.잘규약된 component기반이며, 양방향성을 가진 interface로 구축되어 있습니다.

2.nesC는 concurrency model로 tasks and hardware event handlers 를 기반을 하고 있습니다. data 컴파일 순서에 따라 작업이 수행됩니다.

nesC는 어떻게 구성되어 있는가 ?

한개이상의 Components가 연결되어 있는 구조로 되어 있습니다.
각각의 Components들은 provides and uses interface를 가지고 있습니다.
interface는 허용한 지점만 access를 허용하고, 양방향성을 지니고 있습니다.
그리고 interface는 provider가 수행하는 command와 interface user가 사용하는 event가 있습니다.
Component가 interface의 command를 호출하기 위해서는,반드시 interface의 event를 수행해야 합니다.
그리고 한개의 Component는 여러개의 provide와use interface를 가지며, 같은 interface내에도 여러개의 instance를 가지고 있습니다.

nesC의 2개 타입 ?

modules 와 configuration이 있다.
modules는 주로 한개이상의 interface를 사용하기 위한 코드들이 들어있습니다.
configuration은 다른components들과 wiring하여 구성하는 코드들이 있습니다.

코드 내부 이름은 어떻게 규정하나요 ?

TinyOS Coding and Naming Conventions
내부 내용을 보면 자세하게 이름을 어떻게 쓰는지 나와있다.

TinyOS의 두개의 threads 가 존재한다 !!!! ??

TinyOS에는 동시에 2개의 쓰레드가 존재 합니다.
그것은 tasks와 hardware event handlers 입니다

Task와 hardware event handlers의 차이점은 ??

이것은 상당히 중요한 개념으로
작업을 선점하냐 안하냐를 따지는문제를 가지고 논하는것입니다.
Task는 어떤 작업이 있을경우 다른 작업을 선점 하지 않습니다.
hardware event handlers의 경우는 async수식어와함께쓰인 event와command는 다른작업이 있어도 중간에 interrupt해서 선점합니다.

흠...
컴포넌트 기반의 프로그래밍이라..
저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TAG ,