타이니OS

TinyOS
타이니OS
Tos-jwall.jpg
개발자TinyOS 얼라이언스
기입처네시
OS 패밀리임베디드 운영 체제
동작 상태현재의
소스 모델오픈 소스
초기 릴리즈2000년, 22년(2000년)
최신 릴리즈2.1.2 / 2012년 8월 20일, 9년 전(2012-08-20)
저장소
마케팅 대상무선 센서 네트워크
이용가능기간:영어
면허증.BSD
공식 웹사이트github.com/tinyos/tinyos-main

TinyOS는 무선 센서 네트워크(WSN), 스마트 더스트, 유비쿼터스 컴퓨팅, 퍼스널 영역 네트워크, 빌딩 자동화, 스마트 미터 등 저전력 무선 디바이스용 임베디드 컴포넌트 기반 운영체제 및 플랫폼입니다.이것은 일련의 협업 태스크 및 프로세스로 프로그래밍 언어 nesC로 작성됩니다.그것은 캘리포니아 대학교 버클리, 인텔 리서치, 그리고 Crossbow Technology의 공동작업으로 시작되었고, BSD 라이선스로 자유오픈 소스 소프트웨어로 출시되었고, 이후 국제적인 컨소시엄인 Tiny로 성장했다.OS 얼라이언스

TinyOS는 우주에서 사용되고 있으며 ETCube-1에 구현되어 있습니다.

실행

TinyOS 애플리케이션은 센서 네트워크의 메모리 제한에 최적화된 C 언어의 방언인 프로그래밍 언어 nesC로 작성됩니다.보조 툴은 주로 Java 및 셸 스크립트 프런트 엔드의 형태입니다.nesC 컴파일러나 Atmel AVR binutils 툴체인과 같은 관련 라이브러리와 툴은 대부분 C로 작성됩니다.

TinyOS 프로그램은 소프트웨어 컴포넌트로 구축되어 있으며, 그 중 일부는 하드웨어의 추상화를 나타내고 있습니다.컴포넌트는 인터페이스를 사용하여 서로 연결됩니다.TinyOS는 패킷 통신, 라우팅, 감지, 작동 및 저장과 같은 공통 추상화를 위한 인터페이스와 구성요소를 제공합니다.

TinyOS는 완전 논블로킹입니다.1개의 콜스택이 있어요따라서 수백 마이크로초보다 긴 모든 입출력(I/O) 동작은 비동기이며 콜백이 있습니다.네이티브 컴파일러가 콜 경계를 넘어 최적화 할 수 있도록 TinyOS는 nesC의 기능을 사용하여 이벤트라고 불리는 콜백을 정적으로 링크합니다.논블로킹으로 Tiny를 실현OS는 하나의 스택과 높은 동시성을 유지하기 위해 프로그래머가 다수의 작은 이벤트 핸들러를 연결함으로써 복잡한 로직을 작성하도록 강제합니다.대규모 계산을 지원하기 위해 TinyOS는 지연 프로시저 호출 인터럽트 핸들러 하단 절반과 유사한 태스크를 제공합니다.TinyOS 컴포넌트는 나중에 실행되도록 스케줄링된 태스크를 게시할 수 있습니다.태스크는 프리엠프티브하지 않으며 선입선출 순서로 실행됩니다.이 단순한 동시성 모델은 일반적으로 I/O 중심 애플리케이션에는 충분하지만 CPU 부하가 높은 애플리케이션에는 어려움이 있기 때문에 TOSThreads라는 이름의 OS용 스레드 라이브러리가 개발되었습니다.TOSThreads는 유지보수가 되지 않아 [1]폐지되었습니다.

TinyOS 코드는 프로그램 코드와 정적으로 연결되며 커스텀 GNU 툴 체인을 사용하여 작은 바이너리로 컴파일됩니다.관련 유틸리티는 TinyOS를 사용하기 위한 개발 플랫폼을 완성하기 위해 제공됩니다.

역사

TinyOS는 DARPA NEST 프로그램의 일환으로 UC Berkeley의 프로젝트로 시작되었습니다.이후 전 세계 수천 명의 학술 및 상업 개발자와 사용자가 참여하게 되었습니다.(역순으로 나열)

  • 2012년 8월:TinyOS 2.1.2 출시
  • 2010년 4월:TinyOS 2.1.1 출시
  • 2008년 8월:TinyOS 2.1.0 출시
  • 2007년 7월:TinyOS 2.0.2 출시TinyOS 2.1에서의 작업이 시작되고 몇 가지 인터페이스를 약간 변경합니다.
  • 2007년 4월:TinyOS 2.0.1은 미국 매사추세츠주 캠브리지에서 열린 제4회 TinyOS Technology Exchange에서 발표되었습니다.
  • 2006년 11월:TinyOS 2.0은 C. Boulder에서 열린 SenSys 컨퍼런스에서 발표되었습니다.
  • 2006년 7월:TinyOS 2.0 베타2 출시
  • 2006년 2월:TinyOS 2.0 베타1은 캘리포니아주 스탠포드에서 열린 제3회 TinyOS Technology Exchange에서 출시되었습니다.
  • 2005년 12월:마지막 1.1 버전인 TinyOS 1.1.15가 출시되었습니다.
  • 2005년 7월: NEST 프로젝트 종료.
  • 2004년 6월: 새로운 플랫폼으로의 이식 경험을 바탕으로 TinyOS의 다음 단계를 위한 워킹 그룹 구성.그룹은 2.0에서 작업을 시작하기로 동의합니다.
  • 2003년 9월~2005년 12월:TinyOS는 정기적인 마이너릴리즈 프로세스를 시작합니다
  • 2003년 8월:데이터 레이스 검출을 포함한 새로운 nesC 기능을 포함한 TinyOS 버전 1.1이 출시되었습니다.
  • 2002년 9월:nesC에서 구현된 TinyOS 버전 1.0이 출시되었습니다.
  • 2002년 4월: 인텔리서치와 UC버클리와의 협업으로 nesC 프로그래밍 언어 작업이 시작되었습니다.
  • 2002년 2월: 버클리에서는 1000개의 마이카노드를 NEST 프로젝트의 다른 참가자에게 배포하고 있습니다.
  • 2001년: 버클리, 운모 플랫폼 개발 및 Tiny 출시OS 버전 0.6
  • 2000: 버클리에서는 르네 플랫폼을 설계하고 하드웨어를 양산하는 Crossbow, Inc.와 파트너 관계를 맺고 있습니다.TinyOS 버전 0.43은 SourceForge를 통해 일반에 공개됩니다.Tiny 1.0 이전 버전OS는 C 스크립트와 Perl 스크립트가 혼재되어 있습니다.
  • 1999: First TinyOS 플랫폼(WeC)과 OS 실장은 버클리대학에서 개발되고 있습니다.

통합 개발 환경

2010년 현재 TinyOS에서는 Eclipse용 플러그인으로 3가지 통합 개발 환경(IDE)을 사용할 수 있습니다.

  • YETI 2, ETH 취리히(개발 중지)
  • XP Airtise by Rasmus Pedersen, 코펜하겐 비즈니스 스쿨
  • 밴더빌트 대학교 TinyDT

레퍼런스

  1. ^ "TinyOS development repository TOSThreads deprecated". TinyOS current development repository. Retrieved 3 December 2018.

외부 링크