سیستم عامل نهفته چیست؟

سیستم عامل نهفته یا جاسازی شده یک سیستم رایانه‌ای است – ترکیبی از پردازنده رایانه ، حافظه کامپیوتر و دستگاه‌های جانبی.
دارای خروجی محیطی که دارای یک عملکرد اختصاصی در یک سیستم مکانیکی یا برقی بزرگ‌تر است.
این قسمت به‌عنوان بخشی از یک دستگاه کامل تعبیه‌شده است.
که اغلب شامل قطعات سخت‌افزاری برقی یا الکترونیکی و مکانیکی است.
ازآنجاکه یک سیستم عامل نهفته معمولاً عملکردهای فیزیکی دستگاه را که درون آن تعبیه‌شده است کنترل می‌کند،
اغلب دارای محدودیت‌های محاسباتی در زمان واقعی هستند.
سیستم‌عامل نهفته شده بسیاری از دستگاه‌های مورداستفاده امروز را کنترل می‌کنند.

نودوهشت درصد از تمام ریزپردازنده‌های تولیدشده در سیستم عامل نهفته استفاده می‌شوند.
سیستم عامل تعبیه شده

یک سیستم عامل تعبیه شده بر روی کارت با پردازنده ، حافظه ، منبع تغذیه و رابط ها

سیستم عامل نهفته مدرن اغلب مبتنی بر میکروکنترلرها یعنی ریزپردازنده‌هایی با حافظه یکپارچه و رابط‌های محیطی هستند.
اما ریزپردازنده‌های معمولی (استفاده از تراشه‌های خارجی برای حافظه و مدارهای رابط محیطی) نیز بخصوص در سیستم‌های پیچیده‌تر رایج هستند.
درهرصورت ، پردازنده (های) مورداستفاده ممکن است انواع مختلفی باشد.

از اهداف کلی گرفته تا افراد خاص در کلاس خاصی از محاسبات ، یا حتی سفارشی که برای برنامه موردنظر طراحی‌شده باشد.
کلاس استاندارد متداول پردازنده‌های اختصاصی ، پردازنده سیگنال دیجیتال (DSP) است.
ازآنجاکه  سیستم‌عامل نهفته به کارهای خاص اختصاص داده‌شده است.
مهندسان طراحی می‌توانند آن را بهینه‌سازی کنند تا اندازه و هزینه محصول را کاهش دهند و قابلیت اطمینان و کارایی را افزایش دهند.
برخی از انواع سیستم عامل نهفته  تولید انبوه هستند و از این مزیت اقتصادی بودن بهره مند می شونداقتصاد مقیاس .

سیستم عامل نهفته از دستگاه‌های قابل‌حمل مانند ساعت‌های دیجیتال و پخش کننده های MP3استفاده می‌شوند.
تا دستگاه‌های بزرگ ثابت مانند کنترل کننده های چراغ راهنمایی،
کنترل کننده های منطق قابل برنامه ریزی و سیستم‌های پیچیده بزرگ مانند وسایل نقلیه ترکیبی ، سیستم‌های تصویربرداری پزشکی و اویونیک.
پیچیدگی از پایین ، با یک تراشه میکروکنترلر تک ، تا واحد بسیار زیاد ، لوازم جانبی و شبکه‌های نصب‌شده در داخل یک قفسه تجهیزات بزرگ بسیار متفاوت است .

تاریخچه سیستم عامل نهفته

پیش‌زمینه سیستم عامل نهفته

منشأ ریزپردازنده و میکروکنترلر را می‌توان به مدار یکپارچه MOS که یک تراشه مدار یکپارچه ساخته شده از MOSFETsترانزیستورهای تأثیر میدانی نیمه‌هادی است.
در اوایل دهه ۱۹۶۰ توسعه داده شد.

تا سال ۱۹۶۴ تراشه‌های MOS به تراکم ترانزیستور بالاتر و هزینه‌های تولید کمتر از تراشه‌های دو قطبی رسیده بودند.
تراشه‌های MOS با سرعت پیش‌بینی‌شده توسط قانون مور در پیچیدگی بیشتر افزایش یافتند.
منجر به ادغام در مقیاس بزرگ (LSI) با صدها ترانزیستور می شوند.
در اواخر دهه ۱۹۶۰ روی یک تراشه MOS واحد استفاده از تراشه‌های MOS LSI برای محاسبات ، پایه و اساس اولین ریزپردازنده‌ها بود.
زیرا مهندسان شروع به شناختن اینکه یک سیستم پردازنده کامپیوتر کامل در چندین تراشه MOS LSI وجود دارد ، می‌کردند.

اولین ریزپردازنده‌های چند تراشه ، سیستم های چهار فاز AL1 در سال ۱۹۶۹ و Garrett AiResearch MP944 در ۱۹۷۰ ، با تراشه‌های MOS LSI چندگانه تولید شدند.
اولین ریزپردازنده تک تراشه Intel 4004 بود که در سال ۱۹۷۱ بر روی یک تراشه MOS LSI منتشر شد.
این شرکت توسط فدریکو فاگین ساخته شد و با استفاده از فناوری MOS- دروازه سیلیکونی خود، به همراه مهندسین اینتل مارسیان هاف و استن مازور و مهندس Busicom ماساتوشی ساخته شد.

توسعه سیستم عامل نهفته

یکی از اولین سیستم عامل نهفته شناخته‌شده،​ سیستم هدایت برنامه فضایی آپولو است.
که توسط Charles Stark Draper در آزمایشگاه ابزاربندی دانشگاه MIT طراحی شد.
در شروع پروژه، سیستم  هدایت آپولو به‌عنوان خطرناک‌ترین قسمت در برنامه فضایی آپولو شناخته می‌شد.
زیرا در آن  از مدارهای مجتمع که در آن زمان به‌تازگی ساخته‌شده بودند استفاده‌شده بود.
تا با این کار بتوانند اندازه و وزن سیستم را کاهش دهند.
یکی از اولین سیستم عامل نهفته ای که به‌صورت عمده تولید شد، سامانه هدایت خودکار D17 ساخت شرکت Autonetics بود.
که در سال ۱۹۶۱ در موشک  قاره‌پیمای Minuteman مورداستفاده قرار گرفت.
زمانی که  موشک قاره‌پیمای  Minuteman II  در سال ۱۹۶۶ وارد مرحله تولید شد، سامانه D-17 توسط سامانه‌ای جدید جایگزین شد که در آن برای اولین بار، از تعداد بسیار زیادی مدارهای مجتمع استفاده‌شده بود.

از زمان استفاده از این برنامه‌های اولیه در دهه ۱۹۶۰ ، این سیستم با کاهش قیمت روبرو شده‌اند.

افزایش چشمگیر قدرت پردازشی و عملکرد آن مشاهده شد.

به‌عنوان‌مثال ، یک ریزپردازنده اولیه ، Intel 4004 که در سال ۱۹۷۱ منتشر شد برای ماشین حساب ها و سایر سیستم‌های کوچک طراحی‌شده بود.
اما هنوز به تراشه‌های پشتیبانی و حافظه خارجی احتیاج داشت.
در سال ۱۹۷۸ انجمن ملی تولیدکنندگان مهندسی “استاندارد” را برای میکروکنترلرهای قابل‌برنامه‌ریزی،
ازجمله تقریباً همه کنترل‌کننده‌های مبتنی بر رایانه ، مانند رایانه‌های منفرد ، کنترل‌کننده‌های عددی و مبتنی بر رویداد منتشر کرد.

دستگاه استفاده کننده از سیستم عامل نهفته

دستگاه رای گیری الکترونیکی استفاده کننده از سیستم عامل نهفته

با کاهش هزینه ریزپردازنده‌ها و میکروکنترلرها،
جایگزین کردن اجزای گران‌قیمت آنالوگ مانند پتانسیومتر و خازن های متغیر با دکمه‌های بالا / پایین
یا دستگیره‌هایی که توسط یک ریزپردازنده حتی در محصولات مصرفی خوانده می‌شود ، امکان‌پذیر بود.
در اوایل دهه ۱۹۸۰ ، اجزای سیستم حافظه ، ورودی و خروجی در همان تراشه همانند پردازنده تشکیل میکروکنترلر ادغام‌شده بودند.
میکروکنترلرها برنامه‌هایی را پیدا می‌کنند که یک کامپیوتر عمومی با هزینه بسیار بالا باشد.

میکروکنترلر نسبتاً کم‌هزینه ممکن است برای تحقق نقش مشابه تعداد زیادی از اجزای جداگانه برنامه‌ریزی شود.
اگرچه در این زمینه یک سیستم عامل نهفته معمولاً پیچیده‌تر از یک‌راه حل سنتی است.
اما بیشتر این پیچیدگی‌ها در خود میکروکنترلر وجود دارد.
ممکن است تعداد کمی مؤلفه اضافی موردنیاز باشد و بیشترین تلاش برای طراحی در نرم‌افزار است.
نمونه اولیه و تست نرم‌افزار می‌تواند سریع‌تر با طراحی و ساخت مدار جدید با استفاده از پردازنده سیستم عامل نهفته مقایسه شود.

کاربردهای سیستم عامل نهفته

سیستم عامل نهفته معمولاً در کاربردهای مصرف‌کننده ، صنعتی ، اتومبیل ، لوازم‌خانگی ، پزشکی ، تجاری و نظامی یافت می‌شوند.

سیستم‌های ارتباطی از این سیستم  از سوئیچ تلفن شبکه تا تلفن های همراه  استفاده می‌کنند.
شبکه‌های رایانه ای برای مسیریابی داده‌ها از روترهای اختصاصی و پلهای شبکه استفاده می‌کنند.

کاربرد سیستم عامل تعبیه شده در لوازم الکترونیکی:

لوازم الکترونیکی استفاده کننده از سیستم عامل نهفته شامل دستگاه های پخش کننده MP3،
تلفن‌های همراه ، کنسول های بازی های ویدئویی ، دوربین های دیجیتال ، گیرنده‌های GPS و چاپگرها هستند.
لوازم‌خانگی مانند اجاق های مایکروویو ، ماشین لباسشویی و ماشین ظرفشویی استفاده‌کننده از سیستم عامل نهفته برای ایجاد انعطاف‌پذیری، کارایی و ویژگی‌های آن هستند.
سیستم های پیشرفته HVAC از ترموستات های شبکه‌ای استفاده می‌کنند.
تا دمای دقیق‌تر و کارآمدتری را کنترل کنند که می‌تواند در طول روز و فصل تغییر کند.
اتوماسیون خانگی از شبکه‌های بی‌سیم استفاده می‌کند که می‌تواند برای کنترل چراغ‌ها ، آب‌وهوا ، امنیت ، صدا / تصویر، نظارت و غیره مورداستفاده قرار گیرد.
که همه از دستگاه‌های سیستم عامل نهفته برای سنجش و کنترل استفاده می‌کنند.

کاربرد سیستم عامل تعبیه شده در سیستم‌های حمل و نقل:

سیستم‌های حمل‌ونقل از پرواز به اتومبیل به‌طور فزاینده‌ای از سیستم عامل نهفته استفاده می‌کنند.
هواپیماهای جدید، دارای پیشرفته هوایی مانند سیستم هدایت اینرسیایی و GPS گیرنده است که موردنیاز قابل‌توجه امنیتی دارند.
موتورهای برقی مختلف – موتورهای DC  ، موتورهای القایی و موتورهای DC – از کنترلرهای برقی / الکترونیکی استفاده می کنند .
خودروها ، وسایل نقلیه برقی و خودروهای هیبریدی به طور فزاینده‌ای از سیستم عامل نهفته برای به حداکثر رساندن بهره‌وری و کاهش آلودگی استفاده می‌کنند.
سیستم‌های دیگر ایمنی خودرو شامل سیستم ترمز ضد قفل (ABS) ،کنترل پایداری الکترونیکی (ESC / ESP) ، کنترل کشش (TCS) و درایو اتوماتیک چهار چرخ .

کاربرد سیستم عامل تعبیه شده در تجهیزات پزشکی:

تجهیزات پزشکی از سیستم عامل نهفته برای کنترل علائم حیاتی،
استتوسکوپ های الکترونیکی برای تقویت صداها و تصویربرداری های مختلف پزشکی PET ،SPECT ، CT و MRI برای معاینات داخلی غیرتهاجمی استفاده می‌کنند.
سیستم عامل نهفته در تجهیزات پزشکی اغلب توسط کامپیوترهای صنعتی تأمین می‌شوند.

سیستم عامل نهفته در حمل‌ونقل ، ایمنی در برابر آتش ، ایمنی و امنیت ، برنامه‌های کاربردی پزشکی و سیستم‌های حیاتی استفاده می‌شوند.

این سیستم‌ها نمی‌توانند به راحتی هک شوند.

ازاین‌رو قابل‌اطمینان‌تر می‌باشند، مگر اینکه به طریقی به شبکه‌های سیمی یا بی‌سیم وصل شوند.
برای ایمنی در برابر آتش ، سیستم‌ها می‌توانند به‌گونه‌ای طراحی شوند که توانایی بیشتری در کنترل درجه حرارت بالاتر داشته و به کار خود ادامه دهند.
در برخورد با امنیت ، سیستم عامل نهفته می‌تواند خودکفا باشند.
بتوانند با سیستم‌های برقی و ارتباطی قطع‌شده مقابله کنند.

کلاس جدیدی از دستگاه‌های بی‌سیم مینیاتوری به نام motes ، سانسورهای بی‌سیم شبکه‌ای هستند.
شبکه حسگر بی‌سیم ، WSN ، استفاده از miniaturization را که توسط طراحی پیشرفته IC امکان‌پذیر است .
برای جفت کردن زیر سیستم‌های کامل بی‌سیم به سانسورهای پیشرفته ، فراهم می‌آورد.
تا افراد و شرکت‌ها بتوانند تعداد بی‌شماری از موارد موجود در دنیای فیزیکی را اندازه‌گیری کرده.
و از طریق این سیستم‌های نظارت و کنترل IT بر روی این اطلاعات عمل کنند.
این موتورها کاملاً خودمختار هستند و به‌طورمعمول مدتی قبل از تغییر باتری یا شارژ باتری ، منبع باتری را خاموش می‌کنند.

ماژول‌های Wi-Fi جاسازی‌شده وسیله‌ای ساده برای فعال کردن بی‌سیم هر وسیله‌ای که از طریق پورت سریال ارتباط برقرار کند فراهم می‌کند.

خصوصیات سیستم عامل نهفته

سیستم عامل نهفته شده به جای اینکه یک رایانه با هدف کلی برای کارهای مختلف باشد.
برای انجام برخی کارهای خاص طراحی شده است.
برخی همچنین محدودیتهای عملکردی در زمان واقعی دارند که باید به آن پاسخ دهند.
برخی دیگر ممکن است نیازهای عملکردی کم یا اصلا فاقد عملکرد باشند.
این ویژگی باعث می‌‍شود این امکان را فراهم می آورد که سخت افزار سیستم ساده شود تا هزینه ها را کاهش دهد.

سیستم عامل نهفته همیشه دستگاه های مستقل نیستند.

بسیاری از سیستم عامل نهفته از قطعات کوچک در یک دستگاه بزرگتر تشکیل شده اند که هدف کلی‌تری را ارائه می دهد.
به عنوان مثال ، گیتار ربات گیبسون دارای یک سیستم عامل نهفته برای تنظیم رشته ها است.
اما هدف کلی Robot Guitar  پخش موسیقی است.
به طور مشابه ، یک سیستم تعبیه شده در اتومبیل عملکرد خاصی را به عنوان یک سیستم فرعی از خود خودرو فراهم می کند.

ماژول e-con Systems eSOM270 & eSOM300 

دستورالعمل های برنامه نوشته شده برای سیستم عامل نهفته به سیستم عامل گفته می شوند.
در تراشه های حافظه فقط خواندنی یا فلش ذخیره می شوند.
آنها با منابع محدود سخت افزار رایانه ای اجرا می شوند: حافظه کم، صفحه کلید یا صفحه کوچک یا بدون صفحه کلید.

رابط کاربری در سیستم عامل نهفته

رابط کاربری در سیستم عامل نهفته

نمونه رابط کاربری در سیستم عامل نهفته

سیستم عامل نهفته به هیچ وجه از رابط کاربری ، در سیستم های اختصاص داده شده فقط به یک کار ، تا رابط های کاربر گرافیکی پیچیده که شبیه به سیستم عامل های رایانه ای دسکتاپ مدرن است ، متفاوت است.
دستگاه های ساده که از سیستم عامل نهفته استفاده می‌کنند استفاده از دکمه ، LED ها ، گرافیک و یا LCD ها  با ساده  ترین نوع و منو بهره می‌برند .

دستگاه های پیشرفته تری که از صفحه نمایش گرافیکی با دکمه های لمسی یا غیر لمسی استفاده می کنند.
ضمن کم کردن فضای استفاده ، انعطاف پذیری را ارائه می دهند.
معنی دکمه ها با صفحه تغییر می یابد.
سیستم های دستی اغلب دارای صفحه نمایش با “دکمه جوی استیک” برای یک دستگاه اشاره گر هستند.

برخی از سیستم ها با کمک یک سریال یا شبکه رابط کاربری را از راه دور ارائه می دهند.

این روش چندین مزیت را ارائه می دهد:
  • قابلیت های سیستم عامل تعبیه شده را گسترش می‌دهد.
  • از هزینه نمایشگر جلوگیری می کند
  • BSP را ساده می کند
  • به شخص اجازه می دهد تا یک رابط کاربری غنی را روی رایانه شخصی ایجاد کند

مثال خوب این امر ترکیبی از یک وب سرور با سیستم عامل نهفته است که روی یک دستگاه تعبیه شده.
مانند دوربین IP یا یک روتر شبکه کار می کند.
رابط کاربری در یک مرورگر وب در رایانه متصل به دستگاه نمایش داده می شود.
بنابراین نیازی به نصب هیچ نرم افزاری نیست.

پردازنده های موجود در سیستم عامل نهفته

نمونه هایی از خواص رایانه های استفاده کننده از سیستم عامل نهفته در مقایسه با همتایان معمولی خود
هدف کلی ، مصرف برق پایین ، اندازه کوچک ، محدوده عملکردی ناهموار و کم هزینه بودن برای هر واحد است.
این به قیمت منابع پردازش محدود صورت می گیرد ، که باعث می شود برنامه نویسی و تعامل با آنها بطور قابل توجهی دشوار شود.
با این وجود ، با ایجاد مکانیزم های اطلاعاتی در بالای سخت افزار.
با بهره گیری از سنسورهای موجود ممکن و وجود شبکه واحدهای تعبیه شده.
می توان هم منابع بهینه را در سطح و هم در سطح شبکه مدیریت کرد و همچنین کارکردهای افزایشی را ارائه داد.
به عنوان مثال، تکنیک های هوشمند را می توان طراحی کرد برای مدیریت مصرف برق سیستم های استفاده کننده از سیستم عامل نهفته.

پردازنده های جاسازی شده را می توان به دو دسته گسترده تقسیم کرد:

ریزپردازنده های معمولی (μP) از مدارهای مجتمع جداگانه برای حافظه استفاده می کنند.
میکروکنترلرها (μC) دارای لوازم جانبی تراشه هستند.
بنابراین باعث کاهش مصرف انرژی ، اندازه و هزینه می شوند.
در مقایسه با بازار رایانه های شخصی ، بسیاری از معماری های اصلی مختلف CPU استفاده می شوند.
زیرا نرم افزار برای یک برنامه بصورت سفارشی توسعه یافته است.
محصولی کالایی نیست که توسط کاربر نهایی نصب شده باشد.
طول کلمات از ۴ بیت تا ۶۴ بیت و فراتر از آن متفاوت است.
اگرچه معمولی ترین آنها ۸/۱۶ بیتی است.
بیشتر معماری ها در تعداد زیادی از انواع مختلف و اشکال مختلف وجود دارند.
که بسیاری از آنها توسط چندین شرکت مختلف نیز ساخته می شوند.

میکروکنترلرهای بی شماری برای استفاده از سیستم عامل نهفته توسعه یافته اند.

ریزپردازنده های هدف عمومی نیز در سیستم عامل نهفته استفاده می شوند.
اما به طور کلی ، نیاز به مدار پشتیبانی بیشتری نسبت به میکروکنترلرها دارند.

PC / 104 و PC / 104 + نمونه ای از استانداردها برای رایانه آماده برای سیستم عامل نهفته هیتند.
آنها عمدتا مبتنی بر x86 هستند.
اینها معمولاً در مقایسه با رایانه های استاندارد از نظر جسمی کوچک تر هستند.
اگرچه در مقایسه با بسیاری از سیستم عامل نهفته (۸/۱۶ بیتی) کاملاً بزرگ هستند.
آنها اغلب از DOS ، Linux ، NetBSD یا سیستم عامل نهفته در زمان واقعی مانند MicroC / OS-II ، QNX یا VxWorks استفاده می کنند.
بعضی اوقات این کامپیوترها از پردازنده های غیر x86 استفاده می کنند.

در برنامه های خاص ، در مواردی که اندازه کوچک یا راندمان انرژی نگران کننده اصلی نباشند.
اجزای مورد استفاده ممکن است با رایانه های مورد استفاده در رایانه های شخصی x86 سازگار باشد.
تابلوهایی مانند محدوده VIA EPIA به سازگاری با رایانه شخصی اما کاملاً یکپارچه ، از نظر جسمی کوچکتر یا ویژگی های دیگر کمک می کنند تا این شکاف را برای مهندسان تعبیه شده جذاب کنند.

مزیت این رویکرد این است که اجزای کم هزینه کالا ممکن است به همراه همان ابزارهای توسعه نرم افزار مورد استفاده برای توسعه عمومی نرم افزار استفاده شوند.

سیستم هایی که از این طریق ساخته شده اند ، هنوز هم به عنوان سیستم عامل نهفته در نظر گرفته می‌شوند.
زیرا در دستگاه های بزرگتر ادغام شده و یک نقش واحد را انجام می دهند.
نمونه هایی از دستگاه هایی که ممکن است این رویکرد را اتخاذ کنند عبارتند از دستگاههای خودپرداز و ماشین های بازی، که حاوی کد ویژه برنامه است.
با این وجود ، بیشتر تابلوهای سیستم عامل نهفته آماده ، مبتنی بر رایانه شخصی نیستند.

یک سبک طراحی معمول از یک ماژول سیستم کوچک استفاده می کند.
شاید اندازه کارت ویزیت ، دارای تراشه های BGA با چگالی بالا مانند پردازنده سیستم مبتنی بر ARM و لوازم جانبی.
حافظه فلش خارجی برای ذخیره سازی و DRAM برای زمان اجرا.
حافظه فروشنده ماژول معمولاً نرم افزار بوت را ارائه می دهد.
اطمینان حاصل می کند که انتخاب سیستم عامل ها ، معمولاً از جمله لینوکس و برخی از گزینه های زمان واقعی وجود دارد.
این ماژول ها توسط سازمان های آشنا با مسائل آزمایش تخصصی خود می توانند در حجم بالایی تولید شوند.
با مادربردهای سفارشی بسیار کم حجم با لوازم جانبی خارجی مخصوص برنامه ترکیب شوند.

اجرای سیستم عامل تعبیه شده به گونه ای پیشرفت کرده است که می توان آنها را به راحتی با تابلوهای از قبل ساخته شده مبتنی بر سیستم عامل های پذیرفته شده جهانی اجرا کرد.

این سیستم عامل ها شامل Arduino و Raspberry Pi نیست ، اما محدود به آنها نیست .

یک آرایه مشترک برای سیستم عامل نهفته با حجم بسیار بالا ، سیستم موجود در تراشه (SoC) است.
که شامل یک سیستم کامل متشکل از چندین پردازنده ، چند برابر کننده ، انبارها و رابط ها بر روی یک تراشه واحد است.
SoC ها می توانند به عنوان یک مدار مجتمع برنامه کاربردی (ASIC) یا با استفاده از یک آرایه دروازه قابل برنامه ریزی درست (FPGA) پیاده سازی شوند .