سفت افزار یا ثابت افزار یا فریمور (Firmware) چیست؟ چگونه کار می کند؟ انواع آن کدام است؟ با آنها بیشتر آشنا شوید!
ما اغلب در مورد سخت افزار و نرم افزار صحبت می کنیم، اما چیزی که آنها را در کنار هم نگه می دارد چطور؟ سفتافزار کلیدی است که باعث میشود سختافزار شما کاری را انجام دهد که به نرمافزار شما میگویید که باید انجام شود. در این مقاله، ما نگاهی خواهیم داشت به اینکه ثابت افزار چیست، چگونه کار می کند و چرا باید آن را بروز کنید.
- مقاله مرتبط: آشنایی با انواع حملات سایبری + نحوه مقابله [54 حمله]
فریمور (Firmware) چیست؟
سفت افزار نوعی برنامه است که توسط سازنده در عمق سختافزار تعبیه شده است تا به راهاندازی و اجرای صحیح دستگاه کمک کند. همه دستگاههای محاسباتی، از گجتهای IoT (اینترنت اشیا) گرفته تا صفحهکلید گرفته تا ابررایانهها، دارای سیستمافزار هستند. بدون آن، یک ماشین فقط مجموعهای از قطعات الکترونیکی جداگانه است که هیچ دستورالعملی در مورد نحوه کار با یکدیگر ندارند.
از آنجایی که ثابت افزار برای عملکرد صحیح دستگاه بسیار حیاتی است، معمولاً در حافظه غیرفرار دستگاه – حافظه دسترسی تصادفی ثابت که برای حفظ اطلاعات نیازی به منبع تغذیه مداوم ندارد، ذخیره می شود. به این ترتیب، دستگاه حتی پس از تخلیه باتری یا قطع برق می تواند به عملکرد کامل بازگردد.
اگرچه اکثر سیستمافزارها اختصاصی هستند، اما اصطلاح «سیستمافزار» در واقع به برنامهنویسی متعلق به «شرکتها» اشاره نمیکند. در عوض، این اصطلاح احتمالاً توسط Ascher Opler در مقاله Datamation در سال 1967 با عنوان «نرمافزار نسل چهارم» برای توصیف ریزکد قرار داده شده بین اجزای فیزیکی «سخت» و برنامهنویسی «نرم» ابداع شد – محکم، اما تسلیمناپذیر.
سفت افزار یا همان ثابت افزار چگونه کار می کند؟
سفت افزار با صدور دستورالعملهای سطح پایینتر زبان ماشین برای اجزای دستگاه کار میکند. هدف ثابت افزار راهاندازی یک دستگاه است.
این چیزی است که اتفاق می افتد. هنگامی که دستگاه را روشن می کنید، میان افزار آن به طور خودکار شروع به ارسال دستورالعمل ها به پردازنده می کند. این دستورالعملها از بررسی اینکه آیا همه اجزای سختافزاری کار میکنند (روال خودآزمایی روشن/خاموش یا روتین POST) تا تعیین برنامههایی که باید در حافظه بارگذاری و اجرا شوند، متغیر است.
برای دستگاههای سادهای که نرمافزاری ندارند (مانند ماوس کامپیوتر)، فریمور همچنان به کار خود ادامه میدهد تا عملکردی را برای کاربر فراهم کند. اما برای دستگاههای پیچیدهتر (مانند تلفن هوشمند، تبلت یا لپتاپ)، میان افزار برای بارگیری Firmware آنها کار میکند. پس از انجام این کار، به نرمافزار نصبشده میرود.
انواع فریمور (Firmware)
هر نسخه از میانافزار برای ریزپردازندهاش منحصربهفرد است ، دستورالعملها برای یک مدل دستگاه خاص طراحی شدهاند و اگر روی دستگاه دیگری نصب شوند، کار نمیکنند. با این حال، هنوز هم می توان چندین نوع گسترده از میان افزار های جاسازی شده را بر اساس سطح معماری ماشینی که در آن کار می کنند، تشخیص داد.
فریمور سطح پایین (Low-level Firmware)
همانطور که از نام آن پیداست، سفت افزار سطح پایین با اساسی ترین عملکردهای مورد نیاز برای اجرای دستگاه سروکار دارد. آن را به عنوان ماشینی معادل قلب در نظر بگیرید.
ثابت افزار سطح پایین معمولاً در حافظه فقط خواندنی (ROM) نگهداری میشود که پس از تنظیم نمیتوان آن را رونویسی کرد. در نتیجه، این بدان معنی است که میان افزار سطح پایین هرگز نمی تواند توسط کاربر حذف شود. در واقع، این یک بخش ذاتی دستگاه است، مانند اجزای فیزیکی آن.
فریمور سطح بالا (High-level Firmware)
سفت افزار سطح بالا معمولاً بر روی سیستمافزار سطح پایین ساخته میشود و بر اجرای عملکردهای پیشرفتهتر دستگاه تمرکز دارد. به دنبال مثال ثابت افزار سطح پایین ما در بالا، معادل سیستم عصبی مرکزی بدن خودمان است.
میان افزار سطح بالا معمولاً در تراشههای فلش مموری قرار دارد، به این معنی که میتوان آن را رونویسی کرد. وقتی در مورد به روز رسانی سفت افزار صحبت می کنیم، به طور خاص در مورد نصب نسخه های جدید ثابت افزار سطح بالا برای بهبود عملکرد و امنیت دستگاه صحبت می کنیم.
فریمور زیر سیستم (Subsystem Firmware)
زیرسیستم ها اجزای نیمه مستقل (یا حتی دستگاه های کامل) در سیستم های بزرگتر هستند. به این ترتیب، سفت افزار زیرسیستم نه تنها باید اطمینان حاصل کند که میزبان آن به تنهایی به درستی کار میکند، بلکه همچنین باید از قابلیت تعامل با سایر بخشها برای پشتیبانی از سیستم مادر اطمینان حاصل کند.
در تشبیه بدن انسان ما، فریمافزار زیرسیستم در کلیهها، دیافراگم یا کبد نصب میشود که برای سلامتی ما حیاتی است، اما بدون دخالت مستقیم ما کاملاً با خوشحالی کار میکند.
ثابت افزار زیرسیستم اغلب در تراشههای فلش، واحدهای پردازش مرکزی (CPU) یا واحدهای نمایشگر کریستال مایع (LCD) زیرسیستم میزبان خود تعبیه میشود. مانند سفت افزار سطح بالا، میانافزار زیرسیستم را میتوان برای بهبود عملکرد توسط سازنده بهروزرسانی کرد و اغلب اجازه میدهد تا مؤلفه با یک دستگاه سختافزار جدیدی که نصب شده است تعامل داشته باشد.
تفاوت نرم افزار با فریمور (Firmware)
با خواندن تا کنون، ممکن است فکر کنید – اگر سفت افزار و نرم افزار هر دو به برنامه نویسی اشاره دارند که به ماشین می گوید چه کاری انجام دهد، آیا اساساً یکسان نیستند؟ در حالی که ظاهرا مشابه هستند، تفاوت های مهم بین فریمور و نرم افزار این دو را از هم متمایز می کند.
دسترسی کاربر: Firmware عمداً توسط سازنده از کاربر پنهان می شود. به راحتی می توان فهمید که چرا – خراب کردن میان افزار می تواند باعث شود که کاربر دستگاه خود را کاملاً آجر کند و چیزی بیش از یک وزن کاغذ گران قیمت باقی نماند. برای دسترسی به ثابت افزار دستگاه خود، به ابزارهای خاصی مانند روت کیت های فریمور (Firmware) یا درایوهای فلش تولید کننده نیاز دارید. در مقابل، معمولاً میتوانید کد نرمافزار را با استفاده از ابزارهایی که از قبل در اکثر سیستمعاملها وجود دارد، بازرسی یا حتی تغییر دهید.
عمل: میان افزار مستقیماً با سختافزار با استفاده از کد ماشین سطح پایین تعامل دارد – دستورالعملهای باینری که دستگاه میتواند بدون نیاز به ترجمه آن را درک کند. از سوی دیگر، نرم افزار به زبان های برنامه نویسی سطح بالا توسط انسان نوشته می شود و برای انجام عملکرد مورد نظر، باید به باینری ترجمه شود. سفت افزار درخواستهای نرمافزار را با سیستمافزار ارتباط میدهد، که به نوبه خود به قسمتهای فیزیکی دستگاه میگوید که چه کاری باید انجام دهند.
ذخیره سازی: همانطور که قبلاً بحث کردیم، فریمور برای عملکرد صحیح یک دستگاه بسیار حیاتی است که به طور دائم در حافظه غیر فرار دستگاه ذخیره می شود. این واقعیت که معمولاً از دستورالعمل های ساده و بدون نیاز به اجزای بصری تشکیل شده است (چون برای چشم انسان در نظر گرفته نشده است) همچنین به این معنی است که Firmware فضای بسیار کمی را اشغال می کند. در مقابل، دستگاه شما معمولاً نرمافزار را روی یک درایو سخت (یا حالت جامد) ذخیره میکند، جایی که میتوانید آن را به دلخواه حذف کنید. برخی از برنامه های نرم افزاری نیز به دلیل تصاویر، صدا و فیلم ها می توانند چندین گیگابایت فضا را اشغال کنند.
نمونه هایی از ثابت افزار ها
ما قبلاً می دانیم که سفت افزار در همه دستگاه های محاسباتی یافت می شود – اساساً، اگر پیچیده تر از یک سوئیچ یا لامپ باشد، توسط ثابت افزار اجرا می شود. برای درک اینکه چقدر همه جا حاضر است، در اینجا چند نمونه از سفت افزار وجود دارد که مطمئناً در زندگی روزمره خود با آنها مواجه خواهید شد.
لپ تاپ شما
یک رایانه شخصی (PC) برای بارگیری فریمور و اطمینان از آماده بودن همه چیز برای استفاده به میان افزار نیاز دارد. این میان افزار معمولاً روی یک تراشه حافظه کوچک موجود در مادربرد رایانه جاسازی شده است. رایجترین انواع میانافزار مورد استفاده برای رایانههای شخصی، سیستم ورودی/خروجی پایه (BIOS) و رابط میان افزار توسعهپذیر (EFI) است.
ماشین شما
اتومبیلهای مدرن دیگر فقط کالسکههای بدون اسب نیستند – هر اتومبیل مجموعهای از رایانههای کوچک است که مسئول زیرسیستمهای مختلف آن هستند. هر یک از این قطعات، از سیستم AC گرفته تا حسگرهای مجاورت خودرو، دارای ثابت افزار نصب شده روی آن هستند تا به درستی کار کنند.
گوشی شما
تلفن های همراه اساساً فقط رایانه های دستی کوچک هستند. سفت افزار های دستگاه های تلفن همراه (مانند اندروید، iOS یا لینوکس) برای بارگیری صحیح همه سیستم ها به Firmware متکی هستند.
یخچال شما
لوازم خانگی هوشمند (مانند اکثر یخچالهای مدرن) دارای سیستمافزار نصب شدهاند تا مطمئن شوند که زیرسیستمهای مختلف هماهنگ کار میکنند و میتوانند به هرگونه تغییر در تنظیمات کاربر پاسخ دهند.
بروز رسانی فریمور (Firmware)
بهروزرسانی میانافزار (یا ارتقاء میانافزار) عمل بازنویسی نسخه موجود میانافزار با نسخه جدیدتر است، معمولاً برای رفع اشکالها یا رفع آسیب پذیری های امنیتی. همانطور که گفتیم، شما فقط میتوانید سیستمافزار سطح بالا و زیرسیستم را بهروزرسانی کنید – سیستمافزار سطح پایین یک ابزار دائمی دستگاه شما است.
بهروزرسانی میانافزار معمولاً از طریق فلش کردن انجام میشود – پاک کردن نسخه ذخیرهشده میانافزار روی تراشه حافظه و جایگزینی آن با نسخهای دیگر. توجه داشته باشید که این فرآیند با وصله نرم افزاری متفاوت است، که ممکن است فقط شامل ایجاد تغییرات کوچک در کد موجود بدون نیاز به حذف کامل برنامه باشد.
از آنجایی که ثابت افزار پایه و اساس همه عملیات دستگاه را تشکیل می دهد، معمولاً نمی توانید آن را فقط در حالی که سفت افزار شما در حال اجرا است نصب کنید – این شبیه به کنار کشیدن سفره در حالی است که همه در حال صرف شام هستند. در برخی موارد، حتی ممکن است لازم باشد دستگاه خود را با یک نسخه از فریمور به یک دستگاه خارجی وصل کنید تا فرآیند شروع شود.
این مقاله برایتان مفید بود؟ پس شاید بهتر باشد که سایر مقالات ما را نیز نگاهی بیاندازید!