Firmware چیست ؟
Firmware یک نرم افزار کوچک است که باعث می شود سخت افزار همانطور که سازنده آن قصد دارد کار کند. در واقع Firmware یک برنامه نرم افزاری در دستگاه ( سخت افزار ) است که عملکردهایی مانند کارهای اساسی ورودی / خروجی (I / O) را انجام می دهد و دستورالعمل های لازم برای ارتباط دستگاه با سایر دستگاه های محاسباتی را ارائه می دهد. Firmware مجموعه ای از دستورالعمل های برنامه ریزی شده است که به طور دائمی در یک دستگاه سخت افزاری مانند کارت گرافیک ها ، BIOS و HDD قرار داده شده است. ما اغلب در مورد یک دستگاه سخت افزاری به عنوان دستگاهی که فقط سخت افزار است فکر می کنیم و ما فرض می کنیم که فقط به خودی خود کار می کند. با این حال ، تقریباً هیچ یک از دستگاه های سخت افزاری مدرن بدون این که این نرم افزار خاص مستقیماً روی آنها نوشته شود ، کار نمی کنند.
به عنوان مثال شاید شما نمی دانستید که یک ماشین لباسشویی دارای Firmware است، یا این که نمی دانستید یک چراغ راهنمایی و رانندگی دارای Firmware است. بله ، این قبیل وسایل، دارای Firmware هستند این Firmware همان چیزی است که به آن وسیله می گوید که کار مخصوص به خود را انجام بدهد. مثلا در چراغ های راهنمایی و رانندگی، می گوید که چراغ ها باید در کدام فواصل زمانی و چگونه تغییر یابند. بدون وجود Firmware ، چراغ راهنمایی و رانندگی هیچ کاری نمی تواند انجام دهد و عملا وجود آن بی فایده است . Firmware در مورد دستگاه های پیچیده تر مانند دوربین و کامپیوتر نیز همین گونه عمل کرده و عملکرد آن ها را کنترل می کند. برای مثال مادر برد کامپیوتر بدون Firmware نمی داند که چگونه کارت گرافیک یا هارد (HDD,SSD) کامپوتر را تشخیص دهد. اگر به عنوان مثال هارد سیستم شما، دارای Firmware تعبیه شده در آن نباشد ، حتی آن نمی داند که با چه سرعتی می تواند بچرخد و چه زمانی باید متوقف شود. یا مثلا کارت شبکه بی سیم نمی داند که چگونه از یک فرکانس رادیویی خاص برای اتصال به Wi-Fi استفاده کند.
Firmware در حافظه های غیر فرار مانند ROM ، EPROM نگهداری می شود. تغییر Fireware دستگاه ممکن است به ندرت انجام شود و یا هرگز انجام نشود. برخی از دستگاه های حافظه داخلی به طور دائمی تنظیم و نصب شده اند و پس از تولید، نمی توانند تغییر کنند. دلایل عمده بروزرسانی Firmware شامل رفع اشکالات یا افزودن ویژگی ها به دستگاه است. این کار ممکن است نیاز داشته باشد که مدارهای مجتمع ROM به صورت فیزیکی تعویض شوند ، یا حافظه فلش از طریق روال خاصی دوباره برنامه ریزی شود.
در زیر مواردی از کاربرد Firmware را در انواع وسایل بررسی می کنیم :
در محصولات مصرفی :
- سیستم های زمان بندی و کنترل ماشین های لباسشویی
- کنترل ویژگی های صدا و فیلم و همچنین لیست کانال ها در تلویزیون های مدرن
در مسیر یاب ها و دیوار های امنیتی :
- IPFire – توزیع فایروال / روتر منبع باز بر اساس هسته لینوکس
- OpenWrt – توزیع فایروال / روتر منبع باز بر اساس هسته لینوکس
در سیستم های NAS :
- NAS4Free – یک سیستم عامل NAS منبع باز مبتنی بر FreeBSD 9.1
- Openfiler – یک سیستم عامل NAS منبع باز مبتنی بر هسته لینوکس
پایه و اساس Firmware، یک سری دستورالعمل های زبان ماشین است. برنامه Firmware ممکن است به زبان سطح بالاتری نوشته شود ، اما کد قبل از اینکه در حافظه غیر فرار مانند ROM ذخیره شود ، به دستورالعمل های زبان ماشین ترجمه می شود. دستورالعمل های زبان ماشین مخصوص ریز پردازنده ای است که روی آن اجرا می شود. یک Firmware معمولاً نمی تواند در پردازنده های مختلف اجرا شود ، زیرا پردازنده های مختلف مجموعه دستورالعمل های مختلفی را تشخیص می دهند.
هنگامی که دستگاه روشن می شود ، اولین چیزی که اتفاق می افتد این است که Firmware شروع به ارسال به ترتیب دستورالعمل ها به پردازنده می کند که آنها را اجرا می کند. اتفاقات بعدی به دستگاه و طراحی سیستم و Firmware آن بستگی دارد.
برخی از نمونه ها عبارتند از:
در کامپیوتر های شخصی ، Firmware های مختلفی وجود دارد ، از جمله Firmware برای کنترلرها و آداپتورهای مختلف ورودی / خروجی (I / O) و همچنین Firmware BIOS که روی ریز پردازنده اجرا می شود .
BIOS به پردازنده می گوید:
- حافظه ذخیره سازی را که سیستم عامل را ذخیره می کند از کجا پیدا کنید
- برای بارگذاری برنامه های سیستم عامل در حافظه
- شروع به اجرای آنها کنید.
- هنگامی که سیستم عامل شروع به کار کرد ، کار BIOS انجام می شود.
در بسیاری از دستگاه ها ، سیستم عامل شامل یک روال خودآزمایی روشن است که برای اطمینان از در دسترس بودن تمام مولفه های سخت افزار برای پردازنده و واکنش مناسب بررسی می کند. بسته به دستگاه ، ممکن است نشانه ای برای کاربر (یا سیستم دیگری) وجود داشته باشد که مشکلی در طول این روال خودآزمایی رخ داده است.
ممکن است Firmware برای رفع اشکال ، افزودن عملکرد یا ایجاد وصله های امنیتی به روز شود. در برخی از دستگاه ها ، Firmware می تواند به روز شود و در برخی دیگر ، نمی تواند به روز شود. در دستگاه هایی که می توان Firmware آن ها را به روز کرد ، حافظه غیر فرار محل Firmware پاک شده و Firmware جدید ذخیره می شود. این کار معمولاً با اتصال دستگاه به یک دیوایس خارجی ، مانند کامپیوتر شخصی ، حاصل می شود ، اگرچه برخی از دستگاه ها (مانند تلفن های همراه) می توانند Firmware را از طریق اتصال به Wi-Fi به روز کنند.
در دستگاه ها ، از بروزرسانی Firmware برای به روزرسانی Firmware به عنوان یک برنامه نرم افزاری استفاده می شود. هنگامی که سازنده دستگاه شما به روزرسانی های Firmware جدیدی را ارائه می دهد که به دستگاه ها کمک می کند تا با به روزرسانی در دستگاه با حداکثر بازده کار کنند و امنیت را افزایش دهند ، به عنوان مثال ، کاربر روتر شبکه می تواند با بارگیری به روزرسانی Firmware، مشکلات را برطرف کند یا می تواند قابلیت های روتر را افزایش دهد تولیدکنندگان سخت افزار هم می توانند به روزرسانی های Firmware را ارائه دهند.
بروزرسانی Firmware به دستگاه شما بستگی دارد. ممکن است اصلا به روز رسانی اتفاق نیافتد و یا فقط یک بار در کل عمر دستگاه رخ دهد. با این حال ، آنها اغلب می توانند برای دستگاههایی که نیاز به به روزرسانی مداوم با آخرین ویژگیهای امنیتی دارند یا دستگاههایی که بیشتر به اینترنت دسترسی دارند ، در دسترس باشند. وقتی دستگاهی به روزرسانی Firmware را نکند ، ممکن است سازنده، پشتیبانی از دستگاه را متوقف کند. به عنوان مثال ، اگر روتر قدیمی داشته باشید ، ممکن است روتر شما برای مدتی به درستی کار کند. اما در نهایت تولید کننده شما پشتیبانی خود را به طور رسمی متوقف می کند. به همین دلیل ، بسیاری از محصولات کاملاً خوب هنگام استفاده از نرم افزار غیرقابل استفاده می شوند اما از نظر سخت افزاری عملکرد خوبی دارند. بنابراین ، به روزرسانی Firmware برای توانایی بیشتر دستگاه بسیار مهم است.
چگونه می توان به روزرسانی Firmware را اعمال کرد؟
همه دستگاه ها یکسان نیستند زیرا ارائه پاسخ مناسب در مورد نحوه نصب به روزرسانی Firmware بر روی دستگاه آسان نیست. روند برخی از به روزرسانی های Firmware تقریباً شبیه به روزرسانی نرم افزاری معمولی است و برخی از آنها به صورت بی سیم اعمال می شوند. از طرف دیگر ، ممکن است برخی به صورت دستی نصب شوند. تلفن ها و تبلت ها نیز به به روزرسانی Firmware نیاز دارند. در این دستگاه ها نیازی به دانلود و نصب Firmware به صورت دستی ندارید ، زیرا به شما امکان می دهد Firmware را از دستگاه دانلود و نصب کنید.
چرا به روزرسانی اتوماتیک بهتر است ؟
به روزرسانی Firmware به طور اتوماتیک بهترین کار است زیرا Firmware مهمترین نقش را در عملکردکامپیوتر شما دارد. هنگامی که نرم افزار شما نیاز به به روزرسانی دارد ، به روزرسانی ها به طور اتوماتیک دریافت می شود و همچنین با استفاده از تنظیمات اتوماتیک Firmware به روزرسانی نرم افزار خود ، از بروزرسانی نرم افزار خود مطمئن خواهید بود.
تفاوت میان Firmware و درایورها چیست؟
در حالی که Firmware و درایور هر دو وظیفه دارند که به سخت افزار اجازه دهند آنچه را که از آن ها خواسته می شود را انجام دهد ، یک تفاوت مهم این است که Firmware بر روی خود سخت افزار ذخیره می شود ، در حالی که درایورها در داخل سیستم عامل نصب می شوند. همچنین ، Firmware می تواند به تنهایی شروع به کار کند و برنامه ریزی که برای آن شده را انجام دهد ، در حالی که درایورها باید توسط سیستم عامل اجرا شوند. مهمترین تفاوت بین این دو این است که Firmware به دستگاهها می گوید که چه کاری باید انجام دهند ، در حالی که درایور به سیستم عامل می گوید که چگونه با همان دستگاه ها ارتباط برقرار کند.
چه تفاوتی میان Firmware و میان افزار (middleware) وجود دارد؟
تفاوت اصلی میان firmware و میان افزار (middleware) این است که firmware نوعی نرم افزار است که امکان کنترل سخت افزار دستگاه را فراهم می کند در حالی که میان افزار نرم افزاری است که خدمات را به برنامه های نرم افزاری فراتر از سیستم عامل ارائه می دهد
دستگاه های محاسباتی و سایر دستگاه های الکترونیکی از دو جز اصلی تشکیل شده اند: سخت افزار و نرم افزار. سخت افزار به عناصر فیزیکی دستگاه ها اشاره دارد. نرم افزار به مجموعه دستورالعمل هایی گفته می شود که با استفاده از یک زبان برنامه نویسی نوشته می شوند و به کامپیوتر دستور می دهند یک کار خاص را انجام دهد. انواع مختلفی از نرم افزار وجود دارد که firmware و میان افزار دو مورد از آنها هستند. آنها برای اهداف مختلف استفاده می شوند. Firmware نوع خاصی از نرم افزار است که برای کنترل سخت افزار استفاده می شود. بیشتر برای وسایل الکترونیکی استفاده می شود. از طرف دیگر ، از میان افزار برای برقراری ارتباط و مدیریت داده های سیستم های توزیع شده استفاده می شود.