خداحافظ BIOS، سلام UEFI (قسمت اول)


 





 
روزهاي خوب BIOS قديمي تدريجاً به پايان خود نزديک مي شوند. UEFI (Unified Extensible Firmware Interface) يک راه حل قدرتمندتر را ارائه خواهد کرد که قادر است با نيازهاي سخت افزارهاي گوناگون امروزي انطباق بهتري داشته باشد. بطور خلاصه، UEFI اينترفيسي است که بر انتقال محيط پيش از بوت به سيستم عامل، نظارت مي کند. ما در اين مقاله به بررسي UEFI و بعضي از مسائل مرتبط با آن پرداخته ايم.
ممکن است شما قبلا چيزهايي درباره UEFI (يا EFI که الگوي اوليه آن به حساب مي آيد) شنيده باشيد. اينتل EFI را در سال 2003 با معماري IA64 پردازنده هاي ايتانيوم خود و تحت عنوان Boot Inittiative معرفي کرد. اين مفهوم بعداً به "Unified EFI Forum" سپرده شد که استاندارد جديد را براي تمام صنعت IT مديريت نموده و ترويج مي کند. AMI، AMD، Microsoft، Lenovo، Intel، Insyde، IBM، HP، Dell، Apple و Phonix امروزه از اعضاي پيشگام اين انجمن به حساب مي آيند. يک BIOS بر حالت واقعي (Real Mode) شانزده بيتي معماري x86 تکيه دارد، اما UEFI استقلال کامل سخت افزار و همچنين تقسيم اينترفيس ها به سرويس هاي بوت و زمان اجرا (Runtime) را معرفي مي نمايد.

BIOS: عتيقه و همچنان رايج
 

نزديک به 25 سال پيش، BIOS براي راه اندازي سيستم هاي عامل طراحي گرديد. اولين کامپيوترها از کارت هاي رايج پانچ به عنوان يک هدف اجرا استفاده مي کردند و سپس کارت هاي مذکور جاي خود را به ROM هايي با مفسرهاي ابتدايي دادند. امروزه ما مي توانيم تعداد بسيار زيادي از هدفها نظير ديسک هاي فلاپي، درايوهاي ديسک سخت، درايوهاي اپتيکال و مکان هاي شبکه را انتخاب کنيم. با اين حال، عمليات مولفه واقعي هنوز از طريق درايورهاي ابزار به يک سيستم عامل بخصوص مربوط مي شود. اين در حالي است که EFI از طريق مدل درايور خودش، امکان پشتيباني از درايورهاي مستقل از سيستم عامل را فراهم مي سازد.
تاکنون تلاش هاي زيادي براي ويرايش مفهوم اوليه BIOS انجام شده است. IBM در سال 1988 با PS/2 يک طراحي سيستم ويرايش شده را معرفي کرد تا بطور نسبي با Clone هاي BIOS مقابله کند. معماري چندکاناله (MCA) 32 بيتي IBM با ABIOS را مي توان بعنوان روشي براي فاصله گرفتن از پياده سازيهاي تقليدي BIOS در نظر گرفت.
(ARC (Advanced RISC Computing در دهه 1990 ميلادي براي تلفيق محيط هاي بوت سکوهاي MIPS و Alpha در نظر گرفته شد، اما فايد يک مسير تکاملي توسعه پذيري و امکان گوناگوني سيستم ها بود. PowerPC و SPARC نيز (OF(Open Firmware و CHRP (Common Hardware Reference Platform) خودشان را داشتند. که بخاطر عدم پذيرش ACPI، به نوعي با آن مقابله مي کردند. در انتها، BIOS هنوز بر روي سيستم هاي ما حضور دارد و هنوز مشغول انجام کار است که در طول 25 سال گذشته انجام مي داده: اطمينان از اين موضوع که سيستم عامل شما مي تواند بوت شود. اين مولفه هرگز براي تنوع گسترده سخت افزارهاي امروزي طراحي نشده بود. در واقع BIOS هنوز با اينترفيس هاي 16 بيتي و وقفه هاي نرم افزاري، روتينگ وقفه و تايمرهايي با حداکثر دقت، محدوديت فضاي اجرا ROM (يک مگابايت) و اندازه image، تعداد محدود ابزارهاي قابل راه اندازي Inittializeable Devices، موضوعي که براي فضاي سرور از اهميت حياتي برخوردار است)، ضميمه هاي انحصاري و فقدان Modularity کار مي کند (تنها براي ذکر چند نمونه از نواقص آن).

پشتيباني از UEFI
 

پشتيباني از طراحي اينترفيس سکو در سيستم هاي عامل از سال 2007 آغاز شد، اما اکثر نسخه هاي ويندوز نظير Vista SP1 و Windows Server 2008 اين پشتيباني را تنها بر روي ويرايش هاي 64 بيتي خود ارائه مي کردند. متأسفانه ما متوجه شديم که پشتيباني صنعتي از UEFI هنوز بسيار ضعيف است و کمبودهايي در حوزه ذخيره سازي به چشم مي خورد.

پشتيباني از UEFI
 

UEFI قادر به انجام چه کاري مي باشد؟
EFI يک اينترفيس نرم افزاري است که ما بين سيستم عامل و Firmware سخت افزار عمل مي نمايد و همين ويژگي به آن امکان مي دهد تا جانشين BIOS گردد. در واقع بايد بگوييم EFI به اندازه کافي پيچيده است تا بتوانيم آن را «مشابه سيستم عامل» (OS-like) بناميم. EFI نه تنها پشتيباني از درايور، اينترفيس ها و سرويس ها را ارائه مي کند، بلکه داراي پوسته اي است که به کاربران امکان مي دهد تا نرم افزارهاي کاربردي را بر روي يک اينترفيس خط فرمان اجرا نمايند.
EFI حاوي اطلاعات سيستمي است که در جداول متعددي سازماندهي شده اند و در عين حال سرويس هاي بوت و زمان اجرا را در اختيار سيستم عامل مي گذارد. سرويس هاي بوت شامل Inittialization، سرويس هاي فايل و کنسول هاي گرافيکي و متني کاربر هستند. سرويس هاي زمان اجرا عبارتند از تاريخ: ساعت و سرويس هاي NVRAM، براي امکان پذير نمودن و يا تسهيل ارتباطات بين ابزاري (Inter- device)، تمام درايورها و مولفه هاي EFI از طريق پروتکل هاي تعيين شده با يکديگر ارتباط برقرار مي کنند. درايورها نيز اهميت بالايي برخوردارند، زيرا محيط درايور ابزار EFI يعني (EBC (EFI Byte Code يک محيط مستقل از پردازنده است که هر دو جنبه راه اندازي (Initialization) و فعاليت هاي ابزار را امکان پذير مي سازد (به استثناء سخت افزار خاص سيستم عامل با ويژگي هاي معين و ملزومات پشتيباني درايوري نظير کارت هاي گرافيکي سطح بالا).

روزهايي که شما براي راه اندازي سيستم هاي عامل متفاوت به يک نرم افزار مدير بوت نياز داشتيد، ديگر گذشته اند. EFI مديريت بوت خودش را براي انجام اين کار پياده سازي مي کند. توليد کنندگان سيستم نيز فرصت هاي جديد را بدست آورده اند، زيرا ضمائم EFI مي توانند از مکان هاي گوناگون و غير فرّاري اضافه شوند. اين بدان معني است که يک توليد کننده PC مي تواند از مادربرد و سکوي دلخواه مشتري خود استفاده نمايد، در حاليکه ويژگي هاي اضافي سيستم راتوسط EFI از طريق يک پارتيشن درايو ديسک سخت سيستم و يا نهايتاً حتي از طريق بارگذاري هاي اينترنت اضافه مي کند.
Boot Camp شرکت Apple که به کاربران امکان مي دهد يک نسخه ويندوز را در يک وضعيت غيرمخرب در کنار نصب Mac OS فعلي خود نصب نمايند، عملاً بجاي Open Firmware از پياده سازي EFI اينتل بر روي Mac مبتني بر پردازنده هاي اين شرکت استفاده مي کند. اين ويژگي از آوريل سال 2005 قابل دسترسي بوده است و به نظر نمي رسد که پياده سازي آن بر روي سکوهاي x86 PC چندان دشوار باشد.
از آنجايي که ويژگي (PI (Platform Initialization در EFI يک حالت CSM(Compatibility Support Mode) را ارائه مي کند که از طريق آن مي تواند اينترفيس هاي اضافي را منتشر نمايد، امکان تأمين يک BIOS Runtime موروثي نيز وجود خواهد داشت. با در نظر گرفتن محاسن اين قابليت، انطباق سريع با EFI مي تواند براي توليد کنندگان از جذابيت بسيار بالايي برخوردار باشد، با اين حال، پشتيباني گسترده امروزي تا حدود زيادي تنها بر روي کاغذ وجود دارد.

پشتيباني صنعتي؟ ناکامي
 

صفحه مربوط به EFI بر روي دايره المعارف Wikipedia، فهرستي از سيستم هاي مجهز به EFI در سال 2008 که توسط HP، IBM و HP Compaq را فهرست نموده، سيستم هاي بيشتري از IBM و Dell را در سال 2009 اضافه کرده و به سيستم هاي ذکر شده در يک سند UEFI Forum اشاره مي نمايد. فهرست سال 2008 در عين حال به مادربردهاي MSI با ويژگي ClickBIOS اشاره مي کند. از آن جايي که ما بيشتر به شرکت هاي توليد کننده قطعات نزديک هستيم تا به شرکت هاي توليد کننده سيستم ها، تصميم گرفتيم به بررسي نظرات و برنامه هاي فروشندگان بزرگ مادربرد در جهان درباره EFI بپردازيم.

1- Asus:
 

«ما در حال حاضر يک محصل EFI را براي P5Q Deluxe ارائه مي کنيم، اما اين محصول هنوز در وضعيت بتا قرار دارد. اينکه ما بروز رساني هاي EFI را براي سکوهاي بيشتري ارائه خواهيم کرد يا خير، به تقاضاي عمومي بستگي خواهد داشت»

2- Foxconn:
 

«در حال حاضر، مادربردهاي ما از ويژگي Unified Extensible Firm ware Interace استفاده نمي کنند و هيچ يک از محصولات حال توسعه ما از اين نوع BIOS استفاده نمي کنند».

3- Gigabyte:
 

«ما مشغول کار بر روي پياده سازي احتمالي UEFI در محصولات خود هستيم، ولي هنوز يک چارچوب زماني را براي آن تعيين نکرده ايم.»

4- اينتل:
 

«تعداد روز افزوني از سکوها بجاي يک BIOS متعارف با UEFI تجهيز خواهند شد».
با اين حال، ما متوجه شديم که اينتل محدوديت هايي را در رابطه با پارتيشن هاي بزرگتر از 2 ترابايت اعمال کرده است. با وجود آنکه UEFI در هنگام استفاده از (GPT (GUID Partition Table بجاي MBR مي تواند يک سيستم عامل را مجبور کند که از چنين پارتيشن بزرگي بوت شود، اما اينتل مي گويد «ROM داراي گزينه RAID تنها در صورتي به يک RAID Volume امکان مي دهد قابل بوت باشد که اندازه آن کوچکتر از 2 ترابايت باشد».

5- MSI:
 

«ما يک سکوي UEFI –enabled را با Click BIOS مبتني بر چيپ ست P45 عرضه کرديم، اما اين محصول به پايان عمر خود رسيده است».

ادامه حرکت
 

ما درک مي کنيم که اين حوزه هنوز جديد است، اما به نظر مي رسد که توليد کنندگان کليدي مادربرد در جهان، پذيرش چنداني را نسبت به اين اينترفيس سيستم که بطور آشکاري مطلوب مي باشد، از خود نشان نمي دهند. بدون ترديد فرآيندهاي بسيار پيچيده اي در پشت اين تصميم گيريها وجود دارند و ما هنوز نمي خواهيم بيش از حد بر روي آن تأکيد داشته باشيم. در عين حال، ما بر اين باور هستيم که وقت آن رسيده است تا صنعت بطور جدي به انجام اين انتقال فکر کند. در واقع ما حداقل بايد شاهد يک تعهد آشکار براي تأمين امکان ارتقاء سکوها به UEFI در مواقع ضروري، باشيم. در غير اين صورت، به نظر نمي رسد خريد يک مادربرد گران قيمت با آگاهي از اين نکته که ممکن است پشتيباني از آن مدت زيادي طول نکشد، چندان منطقي به نظر نمي رسد.
احتمالاً ويژگي هاي مبتني بر EFI نظير عملکردهاي اورکلاکينگ مجتمع هنوز در حال توسعه هستند، به همين دليل ما تصميم گرفتيم که از بررسي مادربردهاي مختلف با قابليت پشتيباني UEFI و قضاوت بر اساس محصولات نابالغ يا بلاتکليف، اجتناب کنيم. با اين حال، يک سناريو وجود دارد که عملاً خيلي زود به UEFI نياز خواهد داشت: اگر بخواهيد سيستم خود را از پارتيشني بوت کنيد که بزرگتر از 2 ترابايت است، مسلماً به UEFI و GPT نياز خواهد داشت.
تجهيزات ذخيره سازي که احتمالاً با بهره گيري از فناوري RAID از مرز ظرفيت 2 ترابايت گذشته اند، قبلاً در هنگام استفاده بعنوان Volume هاي بوت مبتني بر eSATA از اين خط عبور کرده اند. بنابراين، ما تصميم گرفتيم که يکي از پياده سازيهاي پيشرفته UEFI را انتخاب کرده و ببنيم که آيا مي توانيم با استفاده از درايوهاي سيستمي داراي ظرفيت بالا بر روي آن کار کنيم يا خير.
مادربرد آزمايشي: Intel PD55KG (با محدوديت هاي RAID)
ما يک مادربرد دسک تاپ اينتل را انتخاب کرديم تا به بررسي قابليت هاي ذخيره سازي پياده سازي فعلي UEFI بپردازيم. DP55KG محصولي بود که اينتل در هنگام عرضه سکوي P55، سوکت LGA1156 و پردازنده هاي Core i5/i7 خود را در اختيار رسانه ها گذاشت. اين يک محصول مدرن است که از تمام ويژگي هاي چيپ ست P55 بهره گيري مي نمايد. اينتل کار چنداني را براي ارتقاء بصري منو پيکربندي سيستم از طريق UEFI انجام نداده است و سبک منوي آشنا همچنان بر روي اين مادربرد بدون تغيير باقي مانده. ما با اين موضوع مشکلي نداريم، زيرا اين سکو UEFI 2.1 را بطور کامل پياده سازي مي کند. به نظر مي رسد ساير فروشندگان نظير Asus و MSI بيشتر بر روي جزييات بصري تمرکز کرده اند تا ويژگي هاي مفيد. مادربرد اينتل با يک Flash EEPROM 16 مگابايتي با قابليت پشتيباني از ACPI 3.0 و « Platform Innovation Framework for EFI Plug & play" ارائه مي شود.
اگر 4 درايو ديسک سخت را براي ايجاد يک آرايه RAID بزرگ به درگاه هاي ICH10R SATA/300 متصل کنيد، با مشکلاتي مواجه خواهيد شد. با وجود آنکه ايجاد يک آرايه بزرگ نسبتاً آسان خواهد بود (ما از دو درايو ديسک سخت 2 ترابايتي براي اين منظور استفاده کرديم)، اما اگر از ويژگي Matrix RAID شرکت اينتل استفاده کنيد، نمي توانيد سيستم خود را از اين آرايه بوت نماييد. اين موضوع امروزه حياتي به نظر نمي رسد، اما درايوهاي ديسک سخت بزرگتري در راه هستند و بزودي اين مسئله را به يک مشکل جدي تبديل مي کنند. بنابراين ما تصميم گرفتيم که از يک محصول ذخيره سازي خارجي از شرکت LaCie براي آزمايش خود استفاده کنيم. اين محصول، ظرفيت 3 ترابايت را در يک آرايه RAID5 و با يک اتصال eSATA ارائه مي نمايد.

منبع:بزرگراه رايانه 127