콘티키
Contiki![]() Coja Contiki 네트워크 시뮬레이터에서 IPv6-RPL-6LoWPAN 네트워크를 형성하는 41개 노드에서 Contiki 2.6이 실행되는 Ubuntu 시스템의 스크린샷입니다. | |
개발자 | 애덤 던켈스 |
---|---|
동작 상태 | 현재의 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 2003년 3월 10일; | 전(
최신 릴리즈 | 4.6 / 2020년 12월 8일; | 전(
면허증. | BSD-3-Clause |
공식 웹사이트 | www |
Contiki는 저전력 무선 사물인터넷(IoT) 디바이스에 초점을 맞춘 네트워크 메모리 제약 시스템용 운영체제입니다.콘티키의 현존하는 용도에는 가로등, 스마트 시티의 사운드 모니터링, 방사선 모니터링 및 [1]경보 시스템이 포함된다.BSD-3-Clause 라이센스로 출시된 오픈 소스 소프트웨어입니다.
Contiki는 2002년에 Adam Dunkels에[2] 의해 개발되었으며, Texas Instruments, Atmel, Cisco, ENEA, ETH 취리히, Redwire, RWTH Aachen University, Oxford University, SAP, Sensinode, 스웨덴 컴퓨터 사이언스 연구소, Stertelectronics, Zert Electronics, 세계 개발자 팀에 의해 더욱 개발되었습니다.Contiki는 내장된 TCP/IP 스택과 이벤트 구동 커널에 대한 경량 프리엠프티브 스케줄링으로 인해 인기를 끌었습니다.이것은 IoT에 매우 동기 부여가 되는 기능입니다.콘티키라는 이름은 토르 헤이어달의 유명한 콘티키 뗏목에서 유래되었다.
Contiki는 멀티태스킹과 내장 Internet Protocol Suite(TCP/IP 스택)를 제공하지만 RAM(랜덤 액세스 메모리) 약 10킬로바이트와 ROM([1]읽기 전용 메모리) 30킬로바이트만 필요합니다.그래픽 사용자 인터페이스를 포함한 전체 시스템에는 약 30킬로바이트의 [5]RAM이 필요합니다.
최근 Contiki-NG: 차세대 IoT 디바이스용 OS라는 새로운 브랜치가 생성되었습니다.
하드웨어
Contiki는 메모리, 전력, 처리 능력 및 통신 대역폭이 심각하게 제한된 유형의 하드웨어 장치에서 실행되도록 설계되었습니다.일반적인 Contiki 시스템은 메모리가 킬로바이트, 전력 버젯이 밀리와트, 처리 속도가 메가헤르츠, 통신 대역폭이 수백 킬로비트/초 정도입니다.이러한 시스템에는 다양한 유형의 임베디드 시스템과 오래된 8비트 컴퓨터가 포함됩니다.
네트워킹
Contiki는 IPv4 네트워킹을 제공하는 uIP TCP/IP 스택,[6] IPv6 네트워킹을 제공하는 uIPv6 [7]스택 및 저전력 무선 네트워크용으로 설계된 커스텀 경량 네트워킹 프로토콜 세트인 Rime 스택의 3가지 네트워크 메커니즘을 제공합니다.IPv6 스택은 시스코가 제공한 것으로, 릴리스시에 IPv6 Ready 인증을 [8]취득한 최소의 IPv6 스택이었습니다.IPv6 스택에는 저전력 손실 IPv6 네트워크용 Routing Protocol for Low Power and Lossy Networks(RPL) 라우팅 프로토콜 및 IEEE 802.15.4 링크용 6LoWPAN 헤더 압축 및 적응 계층도 포함되어 있습니다.
Rime 은, IPv4 또는 IPv6 스택의 오버헤드가 큰 경우에 사용하는 대체 네트워크 스택입니다.Rime 스택은 저전력 무선 시스템을 위한 일련의 통신 원본을 제공합니다.기본 기본은 싱글홉 유니캐스트, 싱글홉 브로드캐스트, 멀티홉 유니캐스트, 네트워크 플래딩 및 주소 없는 데이터 수집입니다.원본을 단독으로 사용하거나 조합하여 보다 복잡한 프로토콜과 메커니즘을 [9]형성할 수 있습니다.
저전력 동작
많은 콘티키 시스템은 심각하게 전력이 제한되어 있습니다.배터리 작동식 무선 센서는 배터리를 충전하거나 교체할 수 있는 수단이 거의 없이 수년간 무인 작동해야 할 수 있습니다.Contiki는 시스템이 가동하는 시스템의 소비 전력을 줄이기 위한 일련의 메커니즘을 제공합니다.무선의 저전력 동작을 실현하기 위한 디폴트메커니즘은 ContikiMAC이라고 불립니다.[10]Contiki MAC을 사용하면 노드를 저전력 모드로 실행하면서도 무선 메시지를 수신 및 릴레이할 수 있습니다.
시뮬레이션
콘티키 시스템에는 콘티키 [11]노드를 시뮬레이트한 Coja라는 센서 시뮬레이터가 포함되어 있습니다.노드는 다음 3가지 클래스 중 하나에 속합니다.a) 에뮬레이트된 Coja 노드, b) 시뮬레이션 호스트에서 컴파일되어 실행되는 Contiki 코드 또는 c) Java 노드입니다.여기서 노드의 동작을 Java 클래스로 재실장해야 합니다.하나의 Coja 시뮬레이션에는 세 가지 클래스 중 하나의 센서 노드가 혼합되어 있을 수 있습니다.에뮬레이트된 노드를 사용하여 시뮬레이션된 네트워크에 Contiki 이외의 노드를 포함할 수도 있습니다.
Contiki 2.6에서는, TI MSP430 및 Atmel AVR 마이크로 컨트롤러를 탑재한 플랫폼을 에뮬레이트 할 수 있습니다.
프로그래밍 모델
소형 메모리 시스템에서 효율적으로 실행하기 위해 콘티키 프로그래밍 모델은 [12][13]프로토스레드를 기반으로 합니다.프로토스레드는 메모리 효율이 뛰어난 프로그래밍 추상화로 멀티스레딩과 이벤트 구동 프로그래밍의 기능을 공유하여 각 프로토스레드의 메모리 오버헤드를 낮춥니다.커널은 내부 또는 외부 이벤트에 대한 응답으로 프로세스의 protothread를 호출합니다.내부 이벤트의 예로는 타이머가 기동하거나 다른 프로세스에서 메시지가 게시되는 경우가 있습니다.외부 이벤트의 예로는 무선 네이버에서 패킷을 트리거하거나 수신하는 센서가 있습니다.
Protothread는 공동으로 스케줄 되어 있습니다.따라서 Contiki 프로세스는 항상 정기적으로 커널에 대한 제어를 명시적으로 반환해야 합니다.Contiki 프로세스는 특별한 protothread 구조를 사용하여 이벤트를 기다리는 것을 차단하고 각 이벤트 호출 사이에 커널에 대한 제어를 부여할 수 있습니다.
특징들
Contiki는 옵션 프로세스별 프리엠프티브 멀티스레딩, 메시지 전달 이벤트를 사용한 프로세스 간 통신 및 로컬로 연결된 단말기에 직접 그래픽을 지원하거나 Virtual Network Computing(VNC; 가상 네트워크 컴퓨팅) 또는 Telnet을 통한 네트워크 가상 디스플레이를 지원하는 옵션 그래피컬 사용자 인터페이스(GUI) 서브시스템을 지원합니다.
Contiki의 풀 인스톨에는, 다음의 기능이 있습니다.
- 멀티태스킹 커널
- 애플리케이션별 프리엠프티브 멀티스레딩(옵션)
- 프로토스레드
- IPv6를 포함한 TCP/IP(Internet Protocol Suite) 네트워킹
- 윈도 시스템 및 GUI
- 가상 네트워크 컴퓨팅을 사용한 네트워크 리모트 디스플레이
- 웹 브라우저(세계에서 가장 작다고 함)
- 개인 웹 서버dam Dunkels
- 단순 Telnet 클라이언트
- 스크린세이버
Contiki는 wolfSSL과 같은 일반적인 SSL/TLS 라이브러리에서 지원됩니다.wolfSSL에는 3.15.5 [14]릴리스에 포트가 포함되어 있습니다.
포트

Contiki 운영 체제는 다음 시스템으로 이식됩니다.
마이크로컨트롤러
- Atmel – ARM, AVR
- NXP 반도체– LPC1768,[15] LPC2103, MC13224
- 마이크로칩 – dsPIC, PIC32 (PIC32MX795F512L)
- Texas Instruments – MSP430, CC2430, CC2538, CC2630, CC2650: cctv, Firefly, Zoul (CC2538 및 CC1200을 단일 모듈 형식으로 지원)
- STMicroelectronics – STM32 W
컴퓨터
- Apple – II 시리즈[a]
- Atari –8비트,[a] ST, 포트폴리오
- Casio – Pocket Viewer
- Commodore – PET,[a] VIC-20,[a] 64,[a] 128[a]
- 귤 컴퓨터 시스템– Oric[a]
- NEC – PC-6001
- 샤프 – 마법사
- 인텔, AMD, VIA, 기타 다수– x86 기반의 Unix와 같은 시스템, GTK+ 또는 X Window[16] 시스템을 사용하여 직접 사용 가능
게임 콘솔
- 아타리 - 재규어
- 게임 파크 – GP32
- 닌텐도 – 게임보이, 게임보이 어드밴스, 엔터테인먼트 시스템(NES)[a]
- NEC – TurboGrafx-16 엔터테인먼트 슈퍼시스템 (PC 엔진)[a]
「 」를 참조해 주세요.
메모들
레퍼런스
- ^ a b 를 클릭합니다Contiki OS.
- ^ Contiki: Bringing IP to Sensor Networks
- ^ 를 클릭합니다"Community", Contiki OS.
- ^ 를 클릭합니다Dunkels, Adam (2004), "Contiki – a lightweight and flexible operating system for tiny networked sensors", Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks., pp. 455–462.
- ^ 아웃 인 더 오픈:사물 인터넷을 지배하는 거의 알려지지 않은 오픈 소스 OS
- ^ Dunkels, Adam (May 2003), "Full TCP/IP for 8 Bit Architectures", Proceedings of the First ACM/Usenix International Conference on Mobile Systems, Applications and Services (MobiSys), San Francisco
- ^ Durvy, Mathilde; Abeillé, Julien; Wetterwald, Patrick; O'Flynn, Colin; Leverett, Blake; Gnoske, Eric; Vidales, Michael; Mulligan, Geoff; Tsiftes, Nicolas; Finne, Niclas; Dunkels, Adam (November 2008), "Making sensor networks IPv6 ready", Proceedings of the Sixth ACM Conference on Networked Embedded Sensor Systems (SenSys) (poster session), Raleigh, NC, US: ACM
- ^ 를 클릭합니다Newsroom, Cisco, 2008.
- ^ 를 클릭합니다Dunkels, Adam; Österlind, Fredrik; He, Zhitao (November 2007), "An adaptive communication architecture for wireless sensor networks", Proceedings of the Fifth ACM Conference on Networked Embedded Sensor Systems (SenSys), Sydney, AU.
- ^ 를 클릭합니다Dunkels, Adam, The ContikiMAC Radio Duty Cycling Protocol (PDF).
- ^ 를 클릭합니다"Start", Contiki OS.
- ^ Dunkels, 아담, 슈미트, 올리버, 포크트, 시모, 알리, Muneeb(2006년 11월),"Protothreads:memory-constrained 포함된 시스템의 절차 간소화 이벤트 반응형 프로그래밍", 제4ACM컨퍼런스 임베디드 네트워크 센서 시스템(SenSys), 볼더, 카이 트리아 오닐, 미국 Dunkels A.에, 슈미트, O;포크트, T의 회보, 알리, M.(2006년)."Protothreads".임베디드 네트워크 센서 시스템에는 4국제 회의 회보- 센 이것은 시스템 행정부터 2006. 페이지의 주 29일이야. doi:10.1145/1182807.1182811.아이 에스비엔 1595933433.S2CID 983128.(PDF, 프레젠테이션 슬라이드).
- ^ 를 클릭합니다"Protothread", Code.
- ^ "wolfSSL CONTIKI OS port - wolfSSL". 2018-12-18. Retrieved 2019-01-09.
- ^ "The Contiki Operating System / [Contiki-developers] Contiki port for the LPC1768 arm processor".
- ^ 를 클릭합니다Stein, H, Running Contiki under Windows, Trix, archived from the original on 2003-12-09.
- : 1.x 버전의 과거 포트 비공식 웹사이트"Tools Contiki", Hitmen, AT: C02.
- 를 클릭합니다"Minimal Contiki OS for LPC2103", Manishshakya, NP, archived from the original on 2014-06-04.
- 를 클릭합니다Contiki 2.5 config file and disk image generator, A2 retro systems.
- 를 클릭합니다Contiki porting on PIC32 (Seed-Eye Board), IT: SSSUP, archived from the original on 2013-03-18, retrieved 2013-01-31.
외부 링크
