در فرآیند ساخت تجهیزات شبکه، سیستم عامل یا همان سفتافزار به شکل مستقیم روی یک این حافظه نصب میشود تا کاربر بتواند از دستگاه بدون مشکل استفاده کند یا در صورت امکان توانایی اجرای برنامههای کاربردی خود روی دستگاه را داشته باشد. به بیان دقیقتر، سفتافزار را میتوان نرمافزاری در نظر گرفت که امکان استفاده از سختافزار را فراهم میکند.
سازندگان سختافزار از سفتافزار که برخی منابه آنرا سیستمافزار نیز مینامند به شکل توکار برای کنترل عملکرد دستگاهها و بخشهای مختلف تجهیزات سختافزاری استفاده میکنند، درست به همان شکلی که سیستمعامل (OS) کامپیوترهای شخصی عملکرد برنامههای نرمافزاری را کنترل میکند. سیستم عامل ممکن است در حافظه فقط خواندنی (ROM)، حافظه فقط خواندنی قابل برنامهریزی و قابل پاک کردن (EPROM) یا حافظه فلش نوشته شود.
Ascher Opler، دانشمند کامپیوتر آمریکایی، عبارت firmware را در سال 1967 در نشریه Datamation به کار گرفت. او از این اصطلاح برای توصیف نوعی از ریزبرنامه بین سختافزار و نرمافزار استفاده کرد.
امروزه، سفتافزار به شکل توکار در همه تجهیزات از تلفنهای هوشمند گرفته تا دستگاههای اینترنت اشیا (IoT) وجود دارد. برخی از سفتافزارها کاملا هوشمند هستند مثل سیستم عامل iOS که تجهیزات سیسکو به آن تجهیز شدهاند و نظارت دقیقی بر عملکردهای سختافزاری اعمال میکند و برخی دیگر، نیمه هوشمند هستند مثل سفتافزار تعبیه شده در تجهیزات صوتی و تصویری که تنها ویژگیهای عملکردی دستگاه را کنترل میکند.
بهروزرسانیهای میانافزار اغلب برای رفع مشکلات، جلوگیری از هک سیستمافزار، ارائه ویژگیهای جدید، بهبود امنیت یا تعامل با رسانههای جدید منتشر میشوند. بهروزرسانیهای میانافزار شامل کدهایی است که به سختافزار میگویند چگونه به شیوهای جدید یا اصلاحشده رفتار کند. به طور مثال، بهروزرسانی سفتافزار در ارتباط با روترها ضمن برطرف کردن مشکلات امنیتی، عملکرد و پایداری این محصولات را بهبود میبخشد.
سازندگان مادربرد نیز بهروزرسانیهایی برای بایوس منتشر میکنند که مادربرد را قادر میسازند از پردازندههای جدیدتر پشتیبانی کند. بایوس سیستم عامل مادربرد است که تمامی جنبههای سختافزاری این مولفه کلیدی کامپیوترها و سرورها را کنترل میکند.
برخی از دستگاههای متصل به اینترنت به طور مرتب هر زمان سفتافزار جدیدی منتشر میشود، آن را بررسی میکنند و به طور خودکار آنرا دانلود و نصب میکنند. سایر سازندگان دستگاهها از کاربر میخواهند برای دانلود و نصب بهروزرسانی سفتافزار به شکل دستی از وب سایت سازنده بازدید کند. در بیشتر موارد، تولیدکنندگان بهطور منظم بهروزرسانیها را منتشر میکنند.
زمان انتشار بهروزرسانی سفتافزار بسته به دستگاه متفاوت است. سفتافزار موجود در یک لامپ هوشمند ممکن است نیازی به بهروزرسانی مکرر نداشته باشد. با این حال، سفتافزار ترموستات هوشمند ممکن است نیاز به بهروزرسانی دورهای داشته باشد تا بتواند با سیستم عامل گوشیهای هوشمند سازگار بماند. تلفنهای هوشمند نیز معمولا ارتقاء سیستمافزار را در کنار بهروزرسانیهای نرمافزاری خودکار انجام میدهند تا تلفن همچنان عملکردی پایدار داشته باشد و کاربران مجبور نباشند نسخههای میانافزار را به صورت دستی بهروزرسانی کنند تا همواره سفتافزار دستگاه آنها بهروز باشد.
بخش عمدهای از دستگاههای الکترونیکی هنگام بهروزرسانی سیستمافزار باید روشن بماند تا بهروزرسانی خراب نشود. خراب شدن سفتافزار دستگاه میتواند به برخی از دستگاهها آسیب برساند یا باعث اختلال در عملکرد آنها را به همراه آورد. به طور مثال، اگر در مدت زمان بهروزرسانی سفت افزار برق مادربورد قطع شد، برای همیشه باید با مادربورد خداحافظه کنید، زیرا به ندرت قادر به برطرف کردن مشکل خواهید بود.
انواع مختلفی از سفتافزارها وجود دارند، اما به طور کلی میتوان همه سیستمافزارها را بر اساس سطح یکپارچگی سختافزار به سه دسته زیر تقسیمبندی کرد:
سفتافزار در طیف وسیعی از تجهیزات محاسباتی، از جمله دستگاههای پیچیده و دستگاههایی که معمولا دستگاههای محاسباتی در نظر گرفته نمیشوند، یافت میشود. برخی از کاربردهای سفت افزار در دنیای واقعی به شرح زیر است:
اگرچه برخی سفتافزار را نوعی نرمافزار میدانند، اما بین این دو فناوری تفاوتهایی وجود دارد.
سفتافزار نرمافزاری است که دستورالعملهای اولیه ماشین را در اختیارش قرار میدهد و به سختافزار اجازه میدهد تا کار کند و با سایر نرمافزارهای در حال اجرا بر روی یک دستگاه ارتباط برقرار کند. سفت افزار کنترل سطح پایینی را برای سخت افزار دستگاه فراهم میکند. به همین دلیل گاهی اوقات به آن نرمافزار برای سختافزار (software for hardware) گفته میشود. یکی دیگر از ویژگیهای متمایز این است که سفت افزار به طور کلی با هدف کاربر پسند بودن طراحی نمیشود.
نرمافزار برای تعامل کاربران برای انجام وظایف خاص نوشته میشود و بالای سیستمافزار قرار میگیرد، از سختافزار انتزاعی است و از میانافزار برای برقراری ارتباط با سختافزار زیرین استفاده میکند. نرمافزار ساختار پیچیدهتری دارد و به سختافزار اصلی متصل نیست.
نرمافزارها انواع مختلفی دارند که از مهمترین آنها باید به برنامههای کامپیوتری مثل سیستم عامل، برنامههای کاربردی برای پردازش متن، ویدئو کنفرانس و نرمافزارهای گوش دادن به موسیقی اشاره کرد. معمولا یک برنامه نرمافزاری را میتوان بدون جایگزینی یک مولفه سختافزاری تغییر داد، در حالی که سفت افزار اینگونه نیست.
سفتافزاری که در تراشههای فلش مموری تعبیه شده است را میتوان راحتتر از سیستمافزاری که روی ROM یا EPROM نوشته شده است، بهروزرسانی کرد. از آنجایی که فلش مموری نقش کلیدی در سازمانها ایفا میکند، ادمینها باید در مورد انواع فلش و موارد استفاده از آنها دانش خود را ارتقا دهند.