Alternatywny BIOS
|
BIOS to program, który jest przeznaczony tylko do konkretnego modelu. Taka sytuacja oznacza, że nikt poza producentami kości BIOS i płyt nie wie, co dokładnie robi ten program. Podjęto więc próbę napisania open source’owych, uniwersalnych zamienników BIOS-u. Przykładami takich projektów są np. OpenBIOS (openfirmware.info) oraz CoreBoot (coreboot.org). Pierwszego w obecnej wersji można użyć głównie w maszynach wirtualnych, jak QEMU. CoreBoot obsługuje zaś ponad 200 płyt głównych. Ale są dwie przeszkody: wspierane modele to głównie stare płyty dla Pentium II/III czy w najlepszym razie Athlon 64, a instalacja nie sprowadza się do wgrania odpowiedniego pliku, lecz obejmuje uprzednią własnoręczną kompilację BIOS-u. Projekty te należy więc traktować bardziej jako inżynieryjne badania niż produkty gotowe na rynek.
|
Rola BIOS-u w pececie jest nie do przecenienia. Przez kilka pierwszych sekund to od niego zależy poprawna inicjacja i konfiguracja wszystkich komponentów. Jego ustawienia można zmodyfikować przez wbudowany edytor, który kojarzy się od lat z niebieskim ekranem i mnóstwem bardzo technicznych opcji. EFI, jako następca BIOS-u, szykuje przełomowe zmiany.
Poznaj EFI
EFI, czyli Extensible Firmware Interface, nie jest w zasadzie niczym nowym. Prace nad tym standardem trwają już dobrych kilku lat. Bazuje on głównie na ustandaryzowanej specyfikacji, zaprojektowanej przez Intela do obsługi procesorów Itanium jeszcze w latach 90.
W założeniach jest to nie tylko lepszy BIOS. Ten bowiem ogranicza się do bardzo okrojonej funkcjonalnie konfiguracji sprzętu. EFI ma zaś służyć jako pośrednik między firmware’em komponentów (oprogramowaniem wbudowanym w kontrolery na płytach głównych czy kartach rozszerzeń) a systemem operacyjnym. To już w założeniu bardziej skomplikowany program, przypominający bardziej minisystem operacyjny niż BIOS. EFI jest wyposażony w zestaw własnych ministerowników do sprzętu, a każdy producent może dopisać do niego własne moduły.
Nad rozwojem specyfikacji EFI pracuje stowarzyszenie UEFI, zrzeszające największych wytwórców sprzętu i BIOS-ów na świecie, są to m.in. AMD, Apple, Intel, AMI czy Phoenix.
EFI – wypróbuj to sam
|
Nie masz płyty obsługującej EFI, a chciałbyś sam przekonać się o jego możliwościach? Wystarczy użyć VirtualBoksa – open source’owego środowiska do wirtualizacji systemów operacyjnych. Program ten pozwala tworzyć wirtualne maszyny działające w ramach uruchomionego systemu. Od wersji 3.1 (najnowsza to 3.2) oferuje także użycie EFI zamiast BIOS-u do wirtualnych pecetów. Tworząc nową maszynę, wystarczy przejść do jej opcji konfiguracyjnych i na karcie System zaznaczyć pozycję Enable EFI.
|
Przewaga EFI nad BIOS-em
BIOS to program działający w środowisku 16-bitowym, w tzw. trybie rzeczywistym procesora. Jego możliwości są więc ograniczone z racji architektury – może m.in. użyć tylko 1 MB pamięci. Program ten nie jest np. w stanie przygotować karty graficznej w rozdzielczości i trybie, który zwolniłby system operacyjny od konieczności stosowania własnej autodetekcji. EFI działa w tym samym 32-, 64-bitowym trybie co system operacyjny, a pośrednicząc między OS-em a firmware’em sprzętu, jest w stanie przejąć część ustawień na siebie. System może je przejąć, nie tracąc czasu na wykonywanie własnych procedur.
„Świadomy” EFI jest np. menedżer startu Linuksa, GRUB2 oraz sam system. Efekty są obiecujące: na testowym pececie (MSI P45 Diamond, Celeron DualCore E1400, 2 GB RAM, Samsung F1 160 GB) Ubuntu 10.04 z GRUB-em w trybie EFI uruchamia się w ledwie 6–7 sekund. Konfiguracja systemu trwa tak krótko, że nie widać nawet ekranu startowego, a od razu pulpit.
EFI jest rozszerzalny przez moduły. Oznacza to, że jedyne, czego potrzeba do wzbogacenia go o konkretną funkcję (np. moduł łączenia się z serwerami w sieci), to napisanie takiego pluginu i wgranie go do kości flash, na której rezyduje EFI. To możliwe, bo moduły pamięci dla EFI mają po kilkadziesiąt MB, podczas gdy typowy BIOS ma 4–8 MB.
Duża ilość miejsca zarówno na kości flash dla EFI, jak i możliwość wykorzystania przezeń więcej niż 1 MB RAM-u pozwala rozszerzyć funkcje programu konfiguracyjnego PC. Przykładowo zastosować graficzne, „klikalne” interfejsy użytkownika. Nie uprości to znacząco samej konfiguracji – parametry do tuningu będą wciąż te same, ale przykładowo system pomocy i objaśnień będzie można znacznie rozbudować. Da się też tworzyć profile wyświetlania różnej szczegółowości opcji zależnie od wiedzy użytkownika. Możliwości EFI w tym zakresie są limitowane praktycznie tylko inwencją producenta.