رایانش ماشین بدون پوشش

**رایانش ماشین بدون پوشش**  یک **[[معماری رایانه]]** است که بر اساس ماشین‌های بدون پوشش می باشد. در الگوی BMC، برنامه‌ها بدون پشتیبانی هیچ '''سیستم عامل''' یا هسته متمرکزی اجرا می‌شوند، هیچ نرم‌افزار واسطه‌ای روی "ماشین بدون پوشش" قبل از برنامه‌های اجراشونده بارگذاری نمی‌شود. این برنامه‌ها که "برنامه‌های ماشین بدون پوشش" یا به‌طور خلاصه برنامه‌های BMC نامیده می‌شوند، از هیچ انبارش ثابت یا دیسک سختی استفاده نمی‌کنند و در عوض در حافظه‌های بزرگ جداشونده مانند حافظه فلش ذخیره می‌شوند. یک برنامه BMC شامل یک برنامه واحد یا یک رشته کوچک از برنامه‌ها است که به عنوان یک اجراشونده واحد در یک فضای آدرس اجرا می‌شود. برنامه های BMC به منابع سخت‌افزاری حیاتی خود دسترسی مستقیم دارند. آنها نهادهایی خودکفا، خودمدیریت‌شونده و خودکنترلی هستند که بدون استفاده از اجزای نرم‌افزاری دیگری یا نرم‌افزار خارجی راه‌اندازی، بارگیری و اجرا می‌شوند. برنامه‌های BMC به دلیل طراحی خود دارای امنیت ذاتی هستند. هیچ آسیب‌پذیری مرتبط با سیستم‌عاملی وجود ندارد و هر برنامه فقط شامل عملکردهای ضروری (حداقلی) است. هیچ وضعیت ممتازی در سیستم BMC وجود ندارد زیرا برنامه‌ها فقط در وضعیت کاربر اجرا می‌شوند. همچنین، چون کد برنامه به صورت ایستا گردآوری (کامپایل) می شود - هیچ راهکاری برای تغییر پویای جریان برنامه‌ی BMC در طول اجرا وجود ندارد.

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

رایانش ماشین بی‌پوشش، از مفهوم شیئ برنامه‌ای (AO) که توسط کارنه در دانشگاه توسان ابداء شده بود نشات گرفته‌است. این برنامه با گذشت سالیان به سیستم عامل‌های پراکنده(DOSC)  تکامل پیدا کرد و در نهایت به الگوی BMC تبدیل شد.

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

این ویژگی ها را نمی توان در رایانش معمول و مرسوم مانند سامانه‌های نهفته و سامانه روی تراشه (SOC) پیدا کرد. مفهوم BMC یک رویکرد حداقلی برای دستیابی به سادگی، اندازه‌ی کد های کوچکتر و امنیت می‌باشد.

در رایانش ماشین بی‌پوشش، دستگاه محاسبه‌گر بدون پوشش است و برنامه‌ی آن مستقیماً با سخت‌افزار در ارتباط است. نرم‌افزار و برنامه‌های سامانه در حقیقت یکی هستند. یک وضعیت کاربر و یا وضعیت کرنل در این سامانه وجود ندارد. وقتی یک رشته برنامه درحال اجرا هستند هیچ چیز دیگری درحال اجرا نمی‌باشد. تمام برنامه‌ها با یک زبان برنامه‌نویسی C/C++ و با مقدار بسیار کمی کد نوشته می‌شوند. برنامه‌نویس نرم‌افزار تمامی منابع سخت‌افزاری را کنترل می‌کند. این روش براساس رویداد‌ها بنا شده‌است به همین جهت نیازی به هسته (کرنل) ندارد. یک رشته برنامه‌ی BMC بر اساس یک معماری مجموعه دستورالعمل داده شده (ISA) خیلی ساده می‌تواند برای همیشه اجرا شود، البته تا زمانی که دستورالعمل‌ها قابلیت رقابتی خود را با مرور زمان از دست نداده اند. این روش با رایانش سبز بسیار هم‌خوانی دارد چرا که نیازی نیست تا سخت‌افزار و یا نرم‌افزار را به خاطر منسوخ شدن از پیش تعیین شده‌ی قراردادی، که امروزه در تمامی وجه‌های سیستم‌های اطلاعاتی ما وجود دارد، دور بیاندازیم.

## موارد استفاده و پژوهش
الگوی BMC برای ایجاد وب سرورها، سرورهای جدا از هم،صدا روی پروتکل اینترنت (VoIP)، سرور SIP ، ایمیل، وبمیل،  جستجوگر متنی، پروتکل های امنیتی،سامانه های فایل بندی، آرایه چندگانه دیسک‌های مستقل (RAID)، اس کیو لایت تبدیل شده‌ی بی‌پوشش، میان‌برنامه برای کارت‌های رابط شبکه (NICs)  و ارتباط اترنت بر روی سرور‌های تحت وب BMC با استفاده از دو کارت رابط شبکه، استفاده شده‌است. موفقیت در تبدیل برنامه‌های مرسوم ویندوز یا لینوکس به طوری‌ که به عنوان برنامه‌های BMC اجرا شوند راه را برای استفاده‌های جدید الگوی BMC باز می‌کند. مشکلات طراحی در اجرای یک وب سرور بر روی رایانه بی‌پوشش با معماری 32 بیت چند هسته‌ای با استفاده از پروتکل هدایت انتقال (TCP) توضیح داده شده‌است. یک پروتکل مشتری/سرور برای ارتباط تحت وب بر روی قرارداد داده‌نگار کاربر (UDP) با استفاده از معماری 32 بیتی روی ماشین بی‌پوشش نمایش داده شده‌است. توسعه و اجرای نرم‌افزار‌های رایانه بدون استفاده از هیچ سیستم عامل یا کرنلی در معماری 64 بیتی چند هسته‌ای نشان داده شده‌است.

## منابع

رده:معماری رایانه