كونتيكي
لقطة شاشة لنظام Ubuntu تُظهر Contiki 2.6 قيد التشغيل على 41 عقدة تشكل شبكة IPv6-RPL-6LoWPAN في محاكي شبكة Cooja Contiki. | |
| المطور | آدم دونكلز |
|---|---|
| نموذج المصدر | المصدر المفتوح |
| الإصدار الأولي | 10 مارس 2003 |
| الإصدار النهائي | 3.0 / 25 أغسطس 2015 |
| مستودع | github.com/contiki-os/contiki |
| رخصة | بند BSD-3 |
| الموقع الرسمي | www.contiki-os.org |
| إصدار مستقر | 4.9 / 17 يونيو 2023 |
|---|---|
| مستودع | github.com/contiki-ng/contiki-ng |
| موقع إلكتروني | www.contiki-ng.org |
Contiki هو نظام تشغيل للأنظمة الشبكية المحدودة الذاكرة مع التركيز على أجهزة إنترنت الأشياء اللاسلكية منخفضة الطاقة . يستخدم Contiki لأنظمة إضاءة الشوارع ومراقبة الصوت للمدن الذكية ومراقبة الإشعاع وأجهزة الإنذار. [1] إنه برنامج مفتوح المصدر تم إصداره بموجب ترخيص BSD-3-Clause .
تم إنشاء Contiki بواسطة Adam Dunkels في عام 2002 [2] وتم تطويره بشكل أكبر من قبل فريق عالمي من المطورين من Texas Instruments و Atmel و Cisco و ENEA و ETH Zurich و Redwire و RWTH Aachen University و Oxford University و SAP و Sensinode و Swedish Institute of Computer Science و ST Microelectronics و Zolertia والعديد من الآخرين. [3] اكتسب Contiki شعبية بسبب مكدس TCP / IP المدمج والجدولة الوقائية خفيفة الوزن عبر نواة مدفوعة بالأحداث [4] وهي ميزة محفزة للغاية لإنترنت الأشياء. يأتي اسم Contiki من طوف Kon-Tiki الشهير لثور هيردال .
يوفر Contiki إمكانية تعدد المهام ومجموعة بروتوكولات إنترنت مدمجة (TCP/IP stack)، إلا أنه يحتاج فقط إلى حوالي 10 كيلوبايت من ذاكرة الوصول العشوائي (RAM) و30 كيلوبايت من ذاكرة القراءة فقط (ROM). [1] يحتاج النظام الكامل، بما في ذلك واجهة المستخدم الرسومية ، إلى حوالي 30 كيلوبايت من ذاكرة الوصول العشوائي (RAM). [5]
تم مؤخرًا إنشاء فرع جديد يُعرف باسم Contiki-NG: نظام التشغيل لأجهزة إنترنت الأشياء من الجيل التالي
الأجهزة
تم تصميم Contiki للعمل على أنواع الأجهزة التي تعاني من قيود شديدة فيما يتعلق بالذاكرة والطاقة وقوة المعالجة وعرض النطاق الترددي للاتصالات . يحتوي نظام Contiki النموذجي على ذاكرة بحجم كيلوبايت، وميزانية طاقة بحجم ملي واط، وسرعة معالجة تقاس بالميجا هرتز، وعرض نطاق ترددي للاتصالات بحجم مئات الكيلوبت/ثانية. تتضمن مثل هذه الأنظمة العديد من أنواع الأنظمة المضمنة وأجهزة الكمبيوتر القديمة ذات 8 بت .
الشبكات
توفر Contiki ثلاث آليات للشبكة: مجموعة uIP TCP/IP، [6] التي توفر شبكات IPv4 ، ومجموعة uIPv6، [7] التي توفر شبكات IPv6 ، ومجموعة Rime، وهي مجموعة من بروتوكولات الشبكات خفيفة الوزن المخصصة والمصممة للشبكات اللاسلكية منخفضة الطاقة. ساهمت شركة Cisco بمجموعة IPv6 وكانت، عند إصدارها، أصغر مجموعة IPv6 تتلقى شهادة IPv6 Ready . [8] تحتوي مجموعة IPv6 أيضًا على بروتوكول التوجيه لشبكات الطاقة المنخفضة والضياع (RPL) لشبكات IPv6 منخفضة الطاقة وطبقة ضغط وتكييف رأس 6LoWPAN لروابط IEEE 802.15.4 .
Rime عبارة عن مجموعة شبكات بديلة، للاستخدام عندما تكون التكلفة الإجمالية لمجموعات IPv4 أو IPv6 باهظة. توفر مجموعة Rime مجموعة من العناصر الأساسية للاتصالات للأنظمة اللاسلكية منخفضة الطاقة. العناصر الأساسية الافتراضية هي البث الأحادي القفزة، والبث الأحادي القفزة، والبث الأحادي القفزات المتعددة، وإغراق الشبكة، وجمع البيانات بدون عناوين. يمكن استخدام العناصر الأساسية بمفردها أو مجتمعة لتشكيل بروتوكولات وآليات أكثر تعقيدًا. [9]
تشغيل منخفض الطاقة
إن العديد من أنظمة Contiki مقيدة بشدة بالطاقة. قد تحتاج أجهزة الاستشعار اللاسلكية التي تعمل بالبطارية إلى توفير سنوات من التشغيل دون مراقبة وبوسائل قليلة لإعادة شحن البطاريات أو استبدالها. توفر Contiki مجموعة من الآليات لتقليل استهلاك الطاقة للأنظمة التي تعمل عليها. الآلية الافتراضية لتحقيق تشغيل منخفض الطاقة للراديو تسمى ContikiMAC. [10] مع ContikiMAC، يمكن تشغيل العقد في وضع الطاقة المنخفضة ولا تزال قادرة على تلقي ونقل الرسائل اللاسلكية.
محاكاة
يتضمن نظام Contiki محاكي استشعار يسمى Cooja، والذي يحاكي عقد Contiki. [11] تنتمي العقد إلى واحدة من الفئات الثلاث التالية: أ) عقد Cooja المحاكية، ب) كود Contiki المجمّع والمنفذ على مضيف المحاكاة، أو ج) عقد Java، حيث يجب إعادة تنفيذ سلوك العقدة كفئة Java. قد تحتوي محاكاة Cooja واحدة على مزيج من عقد الاستشعار من أي من الفئات الثلاث. يمكن أيضًا استخدام العقد المحاكية لتضمين عقد غير Contiki في شبكة محاكاة.
في Contiki 2.6، يمكن محاكاة المنصات التي تحتوي على وحدات التحكم الدقيقة TI MSP430 و Atmel AVR .
نموذج البرمجة
لتشغيل الأنظمة ذات الذاكرة الصغيرة بكفاءة، يعتمد نموذج برمجة كونتيكي على الخيوط الأولية . [12] [13] الخيط الأولي هو تجريد برمجة فعال في استخدام الذاكرة يشترك في ميزات كل من البرمجة متعددة الخيوط والبرمجة القائمة على الأحداث لتحقيق تكلفة ذاكرة منخفضة لكل خيط أولي. يستدعي النواة الخيط الأولي لعملية استجابة لحدث داخلي أو خارجي. ومن أمثلة الأحداث الداخلية المؤقتات التي يتم إطلاقها أو الرسائل التي يتم نشرها من عمليات أخرى. ومن أمثلة الأحداث الخارجية أجهزة الاستشعار التي تقوم بتشغيل الحزم الواردة من جار لاسلكي.
يتم جدولة الخيوط الأولية بشكل تعاوني. وبالتالي، يجب على عملية Contiki دائمًا إعادة التحكم صراحةً إلى النواة على فترات منتظمة. قد تستخدم عمليات Contiki بنية خيوط أولية خاصة لمنع انتظار الأحداث مع التنازل عن التحكم إلى النواة بين كل استدعاء للحدث.
سمات

يدعم Contiki تعدد العمليات الاختياري لكل عملية، والاتصال بين العمليات باستخدام أحداث تمرير الرسائل، بالإضافة إلى نظام فرعي اختياري لواجهة المستخدم الرسومية (GUI) مع دعم رسومي مباشر للمحطات المتصلة محليًا أو العرض الافتراضي المتصل بالشبكة باستخدام الحوسبة الشبكية الافتراضية (VNC) أو عبر Telnet.
يتضمن التثبيت الكامل لبرنامج Contiki الميزات التالية:
- نواة متعددة المهام
- تعدد المهام الاختياري لكل تطبيق
- الخيوط الأولية
- شبكات بروتوكول الإنترنت (TCP/IP) ، بما في ذلك IPv6
- نظام النوافذ وواجهة المستخدم الرسومية
- العرض عن بعد عبر الشبكة باستخدام الحوسبة الشبكية الافتراضية
- متصفح ويب (يُقال إنه الأصغر في العالم)
- خادم الويب الشخصي
- عميل telnet بسيط
- شاشة التوقف
يتم دعم Contiki بواسطة مكتبات SSL/TLS الشهيرة مثل wolfSSL ، والتي تتضمن منفذًا في إصدارها 3.15.5. [14]
الموانئ

المتحكمات الدقيقة
- اتميل – ARM , AVR
- أشباه الموصلات NXP – LPC1768، [15] LPC2103، MC13224
- رقاقة دقيقة – dsPIC، PIC32 (PIC32MX795F512L)
- Texas Instruments – MSP430 ، CC2430، CC2538، CC2630، CC2650، CC2538: كاميرات المراقبة، Firefly، Zoul (تتضمن CC2538 وCC1200 في شكل وحدة واحدة)
- شركة إس تي ميكروإلكترونيكس – STM32 W
أجهزة الكمبيوتر
- أبل 2 [أ]
- أجهزة كمبيوتر أتاري 8 بت [أ]
- أتاري ST
- محفظة أتاري
- عارض الجيب
- كومودور PET [أ]
- فيكتوريا-20 ، [أ]
- كومودور 64 ، [أ] كومودور 128 [أ]
- أوريك [أ]
- جهاز الكمبيوتر NEC PC-6001
- المعالج الحاد
- أنظمة شبيهة بنظام يونكس تعتمد على x86 ، فوق GTK+ ، أو بشكل أكثر مباشرة باستخدام نظام X Window [16]
أجهزة الألعاب
انظر أيضا
- بيرتوس
- إريكا إنتربرايز
- نانو-آر كي
- الشغب
- سيمبو أو إس
- تايني او اس
- مقارنة بين أنظمة التشغيل في الوقت الحقيقي
ملحوظات
- ^ تطوير يعتمد على cc65 abcdefghi
مراجع
- ^ من قبل Contiki OS.
- ^ كونتيكي: جلب بروتوكول الإنترنت إلى شبكات الاستشعار
- ^ "المجتمع"، نظام التشغيل كونتيكي.
- ^ دنكلز، آدم (2004)، "كونتيكي – نظام تشغيل خفيف الوزن ومرن لأجهزة استشعار صغيرة متصلة بالشبكة"، وقائع المؤتمر الدولي السنوي التاسع والعشرون لمعهد مهندسي الكهرباء والإلكترونيات حول شبكات الكمبيوتر المحلية ، ص 455-462.
- ^ في العلن: نظام التشغيل مفتوح المصدر غير المعروف الذي يحكم إنترنت الأشياء
- ^ Dunkels, Adam (مايو 2003)، "TCP/IP كامل للهندسة المعمارية ذات 8 بتات"، وقائع المؤتمر الدولي الأول لـ ACM/Usenix حول الأنظمة والتطبيقات والخدمات المحمولة (MobiSys) ، سان فرانسيسكو
{{citation}}: CS1 maint: location missing publisher (link) - ^ دورفي، ماتيلد؛ أبيلي، جوليان؛ ويتيروالد، باتريك؛ أوفلين، كولين؛ ليفيريت، بليك؛ غنوسك، إريك؛ فيداليس، مايكل؛ موليجان، جيف؛ تسيفتس، نيكولاس؛ فيني، نيكلاس؛ دنكلز، آدم (نوفمبر 2008)، "جعل شبكات الاستشعار جاهزة لـ IPv6"، وقائع المؤتمر السادس لجمعية الحوسبة الآلية حول أنظمة الاستشعار المضمنة المتصلة بالشبكة (SenSys) (جلسة الملصقات)، رالي، كارولاينا الشمالية ، الولايات المتحدة : جمعية الحوسبة الآلية
- ^ غرفة الأخبار، سيسكو، 2008.
- ^ Dunkels, Adam; Österlind, Fredrik; He, Zhitao (نوفمبر 2007)، "هندسة الاتصالات التكيفية لشبكات الاستشعار اللاسلكية"، وقائع المؤتمر الخامس لـ ACM حول أنظمة الاستشعار المضمنة الشبكية (SenSys) ، سيدني، أستراليا
{{citation}}: CS1 maint: location missing publisher (link). - ^ دنكلز، آدم، بروتوكول كونتيكيماك لتوزيع الراديو (PDF).
- ^ "ابدأ"، نظام التشغيل كونتيكي.
- ^ Dunkels, Adam; Schmidt, Oliver; Voigt, Thiemo; Ali, Muneeb (نوفمبر 2006)، "Protothreads: تبسيط البرمجة الموجهة بالأحداث للأنظمة المضمنة المقيدة بالذاكرة"، وقائع المؤتمر الرابع لجمعية الحوسبة الآلية حول أنظمة الاستشعار الشبكية المضمنة (SenSys) ، بولدر، كولورادو ، الولايات المتحدة الأمريكية
{{citation}}: CS1 maint: location missing publisher (link) Dunkels, A.; Schmidt, O.; Voigt, T.; Ali, M. (2006). "Protothreads". وقائع المؤتمر الدولي الرابع حول أنظمة الاستشعار الشبكية المضمنة - Sen Sys '06 . ص. 29. doi :10.1145/1182807.1182811. ISBN 1595933433. S2CID 983128.(PDF, شرائح العرض التقديمي). - ^ "Protothread"، الكود.
- ^ "wolfSSL CONTIKI OS port - wolfSSL". 2018-12-18 . تم الاسترجاع في 2019-01-09 .
- ^ "نظام التشغيل Contiki / [Contiki-developers] منفذ Contiki لمعالج Arm LPC1768". 19 ديسمبر 2020.
- ^ Stein, H, تشغيل Contiki تحت Windows، Trix، مؤرشف من الأصل في 2003-12-09.
- "أدوات كونتيكي"، قتلة محترفون، AT : C02:الموقع غير الرسمي للموانئ التاريخية للإصدار 1.x.
- "Minimal Contiki OS for LPC2103"، Manishshakya، NP، مؤرشف من الأصل في 2014-06-04.
- مولد ملفات التكوين وصور الأقراص Contiki 2.5، أنظمة A2 الرجعية.
- نقل Contiki على PIC32 (لوحة Seed-Eye)، IT : SSSUP، تم أرشفته من الأصل في 2013-03-18 ، تم استرجاعه في 2013-01-31.
روابط خارجية
- الموقع الرسمي
