کانتیکی

دانشنامه عمومی

کانتیکی ( انگلیسی: Contiki ) یک سیستم عامل متن باز است که برای وسایل اینترنت اشیاء طراحی شده و هم اکنون تا حد بسیاری پورتابل است به طوری که رایانه های بسیار قدیمی ( برای مثال آتاری اس تی ) و ریزکنترل گر ها و دستگاه های AVR ( مانند بردهای آردوینو ) و بسیاری دیگر را پشتیبانی کرده و بر عکس سیستم عامل هایی مانند نت بی اس دی، برای پردازنده های بدون واحد مدیریت حافظه طراحی شده است. این سیستم عامل ابتدا در سال ۲۰۰۲ توسط آدام دانکلز طراحی و ساخته شد و پس از آن توسط عده زیادی از توسعه دهنگانی از سراسر دنیا و از شرکت هایی مثل تگزاس اینسترومنتس، اتمل، سیسکو سیستمز، دانشگاه آکسفورد و بسیاری دیگر توسعه میابد.
این سیستم عامل به شکل پیشفرض از مجموعه پروتکل اینترنت و چندکارگی پشتیبانی می کند و می تواند تنها بر روی یک حافظه فقط خواندنی ۳۰ کیلوبایتی بارگیری شده و با ۱۰ کیلوبایت حافظه تصادفی شروع به کار با واسط گرافیکی کاربر کند.
یک مثال از استفاده های کانتیکی در سامانه های روشنایی شهری، حسگر های امواج رادیویی و سامانه های هشدار است
کانتیکی تا کنون برای سخت افزارهایی سازگار شده است که همزمان مقید به حافظه و توان و قدرت پردازش و پهنای باند ارتباطی به اندازه دو مورد اول باشند. یک سامانه بر پایه کانتیکی معمولاً حافظه ای در مقیاس کیلوبایت، توانی در مقیاس میلی وات و فرکانس پردازشی در مقیاس چندین مگاهرتز و صدها کیلوبیت بر ثانیه پهنای باند می طلبد. این رده از سخت افزارها شامل سیستم های توکار معمول تا کامپیوترهای قدیمی ۸ - بیت می شود. [ ۱]
کانتیکی سه ساختار شبکه را شامل می شود:
• پشته uip که قابلیت ارتباط به وسیله پروتکل IPV4 را فراهم می کند
این پشته یکی از مدرن ترین پشته هاییست که TCP/IP کامل را بر روی سیستم های ۸ - بیت فراهم می کند
• پشته uipv6 که قابلیت ارتباط به وسیله پروتکل IPV6 را فراهم می کند
این پشته توسط سیسکو توسعه میابد و در زمان رو نمایی کوچک ترین پشته ای بود که از IPV6 پشتیبانی می کرد
• و پشته Rime که شامل یک پروتکل برای شبکه های بدون سیم کم مصرف است.
به منظور توسعه یک برنامه برای سیستم عامل کانتیکی، ابتدا باید یک فرایند را تعریف کنیم. ساختار اساسی یک برنامه به شرح زیر است:
# include " contiki. h" //همواره این کتابخانه باید گنجانده شود PROCESS ( Example, " Example process" ) ; //این یک پروسه را تعیین می کند AUTOSTART_PROCESSES ( & Example ) ; //این پروسه ها را همزمان با بالا آمدن سیستم آغاز می کند PROCESS_THREAD ( Example, ev, data ) { PROCESS_BEGIN ( ) ; // آغاز پروسه را تعریف می کند while ( 1 ) { PROCESS_WAIT_EVENT ( ) ; // برنامه } PROCESS_END ( ) ; } makefileها هم که برنامه ها را نصب می نمایند ساختاری شبیه به این دارند
عکس کانتیکی
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران