سفت افزار (Firmware)

سفت افزار (Firmware)



سفت افزار (Firmware): دنیای فن آوری درحال تغییر و دگرگونی است. لاجرم واژه های جدید بسیاری برای شرح و نامگذاری آنها به وجود می آیند. یک از این واژه ها میان افزار یا سفت افزار می باشد. میان افزار در رده واژه هایی مانند سخت افزار Hardware، نرم افزار software طبقه بندی میشود. فیرمور برنامه ای پایه و ابتدایی برای سخت افزار می باشد که بدون آن سخت افزار کار نخواهد کرد. نرم افزاری سطح پایین نزدیک به زبان قابل درک برای مدارها و قطعات برقی است که واسطه ای بین سخت افزار و نرم افزارهایی سطح بالاتر مثل سیستم عامل می باشد تا  کنترل دستگاه را برای سیستم عامل ممکن کند.

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

هرچند یک سخت افزار الکترونیکی به فیرمور برای اجرای فرامین وابسته است اما الزاما به سیستم عامل نیار ندارد. فیرمور ها در همه جا هستند و درواقع سخت افزار تنها با فیرمور کار میکند و زبان آنرا درک میکند به همین دلیل هم نه تنها گوشی های بدون سیستم عامل همچون نوکیا 1100 هم فیرمور دارند  بلکه دستگاه هایی مثل چراغ راهنمایی، ساعت های دیجیتال، مودم ها، کارت های گرافیک، فلش مموری ها،   تلوزیون ها، کنترل تلوزیون و… هم فیرمور دارند.

مثال: وقتی شما دکمه play را در دستگاه پخش موسیقی ipod nano فشار میدهید درواقع سنسور مربوطه که در اینجا همان دکمه سخت افزاری play میباشد جریان الکتریکی مربوطه را از طریق فیرمور دستگاهتان ترجمه، درک و اجرا میکند. فیرمور را سازنده سخت افزار تهیه میکند. برنامه نویسان سازنده دستگاه، فیرمور مربوطه را پس از کد نویسی و آزمایشات مکرر با ابزارهایی به نام emulator به داخل دستگاه منتقل می کنند. ناگفته پیداست که محل ذخیره این برنامه یک حافظه است.

این حافظه باید دارای دو ویژگی مهم باشد:

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

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

در گوشی ها فیرمور بر روی حافظه های ROM (حافظه فقط خواندنی) ذخیره می شوند که PROM (حافظه فقط خواندنی قابل برنامه ریزی) یا EPROM (حافظه پاک شدنی قابل برنامه ریزی) هم از انواع ان است. امروزه از حافظه های فلش فقط خواندنی که عملیات آپدیت آن سریعتر و راحت تر می باشد استفاده می شود.


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

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

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