BIOS (komputer)

BIOS , od angielskiej podstawowe Input Output systemu (po francusku: „elementarny system wejścia / wyjścia”) jest zbiorem funkcji, zawarte w pamięć tylko do odczytu ( ROM ) z płyty głównej z komputera , co pozwala na wykonywanie podstawowych operacji podczas włączania. Na przykład identyfikacja podłączonych urządzeń wejścia / wyjścia i odczyt sektora na płycie , płycie CD lub części pamięci USB. W związku z tym termin ten jest często używany do opisania całego oprogramowania układowego na płycie głównej. To coś w rodzaju centrum sterowania płyty głównej. Na ostatnich kartach zastępuje go nowoczesna wersja UEFI .

Rola systemu BIOS

BIOS zapewnia zestaw usług, które pozwalają na jak największe ignorowanie warstwy sprzętowej. Usługi te są używane przez system operacyjny i są dostępne za pośrednictwem określonych obszarów pamięci (na przykład 40:00) lub określonych przerwań programowych ( w szczególności 10h , 11h, 12h i 13h). Jednak w praktyce nowoczesne systemy operacyjne używają tych usług tylko podczas rozruchu; następnie używają własnych sterowników lub funkcji ACPI do operacji na płycie głównej.

BIOS odgrywa kluczową rolę w funkcjonowaniu płyty głównej:

Główne cechy

Celem BIOS-u jest uczynienie przejrzystym dla dowolnego systemu operacyjnego, w jaki sposób producent opracował płytę główną (jakie komponenty wybrał i jak są ze sobą połączone), używając tych samych funkcji BIOS-u na dwóch różnych płytach głównych, uzyskamy ten sam rezultat . Systemy operacyjne mogą korzystać z tych funkcji, przynajmniej na wczesnych etapach uruchamiania komputera, a następnie podczas normalnej pracy w celu bezpośredniego dostępu do sprzętu.

BIOS zawiera również oprogramowanie potrzebne do uruchomienia komputera. Pierwsza faza rozruchu ( rozruchu ) to autokonfiguracja zapłonu ( język angielski POSTAutotest podczas włączania zasilania), który zlicza ilość pamięci, testuje dyski i konfiguruje komponenty. Sekwencja rozruchowa jest kontynuowana w celu wyszukania systemu operacyjnego w kolejności dostępnych urządzeń przed jego uruchomieniem .

BIOS obsługuje niskopoziomową komunikację z urządzeniami peryferyjnymi , jednak system operacyjny może również bezpośrednio adresować urządzenia peryferyjne, jeśli uzna to za konieczne. Wśród obsługiwanych przez BIOS jest obsługa klawiatury , przynajmniej w jednym trybie (niekoniecznie USB ) oraz tryb uproszczonego wyświetlania.

BIOS zawiera również narzędzia diagnostyczne do sprawdzania integralności krótko krytycznych komponentów, takich jak pamięć , klawiaturę , dysk twardy , wejściowe / wyjściowe ,  etc.

Niektóre parametry systemu BIOS mogą być regulowane przez użytkownika (kolejność skanowanych urządzeń peryferyjnych w celu wykrycia strefy rozruchowej , typ i częstotliwość procesora  itp .). Wszystkie te parametry są przechowywane w sposób trwały dzięki małej pamięci (kilkaset bajtów ) o niskim zużyciu (typ CMOS ) zasilanej baterią (najczęściej litową ) znajdującą się na płycie głównej. Ta pamięć jest powszechnie nazywana przez nadużywanie „CMOS”.

Dostawcy

BIOS jest prawie zawsze opracowywany przez producenta płyty głównej na podstawie kodu referencyjnego dostarczonego przez producenta BIOS (takiego jak AMI lub Phoenix Technologies ), ponieważ zawiera parametry specyficzne dla inicjalizacji płyty głównej, takie jak konfiguracja portów GPIO .

Źródło pierwszego komputera i AT BIOS został dołączony do ręcznego IBM Technical Reference . Dzisiaj Większość płyt głównych jest dostarczanych bez kodu źródłowego BIOS-u. Użytkownik musi pobrać aktualizacje dostarczone przez producenta. Te aktualizacje są czasami niezbędne do obsługi niektórych najnowszych urządzeń.

Od 1999 roku Foundation for Free Software obsługuje coreboot (dawny LinuxBIOS) BIOS na licencji GNU General Public License, ponieważ można teraz zaktualizować BIOS swojej płyty i zastąpić ją innym. Zaletą tego systemu (maszyny działającej z systemem BIOS) jest to, że nie musi on opracowywać konkretnego systemu operacyjnego dla każdej płyty głównej.

BIOS jest generalnie rozwijany w języku asemblera .

Dwa historyczne BIOS-y PowerPC zostały kolejno nazwane PREP  (en) i CHRP  (en) .

BIOS do uruchomienia

Moc sygnału dobry sygnał , wskazujący, że różne napięcia zasilacza są stabilizowane, wyzwala wykonanie BIOS.

Oryginalny BIOS został zaprojektowany dla systemów CP / M i był w tamtym czasie ograniczony do zarządzania I / O (jak sama nazwa wskazuje). Od czasu wprowadzenia komputerów PC zgodnych z IBM w sierpniu 1981 r. BIOS wysyła pierwsze polecenia do systemu podczas fazy rozruchu .

Power-on self-test (POST) oznaczającego początek autotestu oznacza pierwszy krok w tym bardziej ogólnym procesie zwanym gruntowania .

Na tym etapie BIOS sprawdza obecność różnych urządzeń peryferyjnych i próbuje przydzielić im zasoby niezbędne do bezkonfliktowego działania. Po zakończeniu testu POST kontrola jest przekazywana do programu ładującego, którego rolą jest uruchomienie systemu operacyjnego lub pierwszego dostępnego urządzenia startowego.

W zależności od listy określonych urządzeń w pamięci, BIOS określa, który nośnik i gdzie go znaleźć , system operacyjny programu ładującego (lub programu ładującego rozruch ), zwykle Windows , Linux , Mac OS lub inny. W przypadku Windows jest to BCD , w przypadku systemu multiboot (możliwość uruchomienia kilku systemów operacyjnych na tym samym komputerze np. Windows i Linux) często jest to GRUB .

Zarządzanie dyskami BIOS

Obecnie bloki danych na dysku są numerowane liniowo i zawierają określoną liczbę sektorów.

Nie zawsze tak było. Starszy BIOS cierpiał na problem z 1024 cylindrami . Blok danych został zidentyfikowany za pomocą trzech cyfr: cylinder, głowica i sektory. Co najwyżej starsze BIOS-y zostały zaprojektowane dla 1024 cylindrów, 256 głowic i 63 sektorów. Dlatego jeśli program ładujący był poza 1024- tym cylindrem, BIOS nie mógł go dosięgnąć i dlatego nie udało się uruchomić systemu operacyjnego.

BIOS jako oprogramowanie układowe

BIOS jest rodzajem oprogramowania sprzętowego, ponieważ jest bardzo zbliżony do sprzętu . Przed 1990 , BIOSy były przechowywane na chipach ROM , których nie można było zmienić. W miarę ich złożoności i potrzeby aktualizacji były one przechowywane w pamięciach EEPROM lub Flash, które można było przeprogramować w celu poprawy funkcjonalności lub rozpoznawania nowych urządzeń.

W ten sposób możliwa jest aktualizacja oprogramowania BIOS komputera. Ta czynność nosi nazwę „  Flash BIOS  ”. Problem (awaria zasilania, zła wersja pamięci ROM itp.) Podczas tej operacji może spowodować, że płyta główna będzie trwale bezużyteczna. Dlatego zaleca się flashowanie systemu BIOS tylko wtedy, gdy ta operacja jest naprawdę konieczna. Niektóre płyty główne mają dwie wersje BIOS: aktualną wersję, którą można modyfikować za pomocą oprogramowania i kopię zapasową, zworką umożliwiającą zastąpienie aktualnej wersji wersją kopii zapasowej. Istnieją ponadto mechanizmy pozwalające na dodanie drugiej pamięci flash do płyty głównej posiadającej tylko jedną, pod warunkiem, że początkowy układ BIOS-u jest wymienny.

Oprogramowanie układowe na kartach rozszerzeń

Komputer może obsługiwać wiele układów BIOS. Oprócz rozruchu BIOS-u , który zawiera funkcje dostępu do ważnych materiałów, takich jak klawiatura, karty rozszerzeń, takie jak karty SCSI , karty graficzne lub karty sieciowe, mogą obsługiwać własny BIOS, ulepszając lub zastępując funkcje rozruchu BIOS . Na przykład niektóre karty sieciowe umożliwiają uruchomienie systemu, który nie jest fizycznie zlokalizowany na hoście, za pośrednictwem protokołu PXE .

Luki w systemie BIOS

Ponieważ BIOS to oprogramowanie układowe uruchamiane podczas uruchamiania, może być celem złośliwego oprogramowania. W 1999 roku BIOS doświadczył pierwszego poważnego ataku z rozprzestrzenianiem się wirusa CIH, który był bardzo agresywny, ponieważ powodował, że system nie mógł odczytać zawartości dysków. Ponieważ aktualizacje systemu BIOS można przeprowadzać w locie za pośrednictwem wewnętrznego harmonogramu płyty głównej, możliwe jest, że mogą one być celem ataków typu man-in-the-middle .

Rozszerzalny interfejs oprogramowania układowego

Extensible Firmware Interface (EFI), obecnie zastąpiony przez UEFI ( Unified EFI ) jest pośrednim pomiędzy oprogramowania firmware (firmware) oraz systemu operacyjnego (OS) z komputerem , a mimo to jest prawdziwy mały system operacyjny . Ten interfejs jest nazywany następcą systemu BIOS.

Uwagi i odniesienia

  1. „Mój przyjaciel Bios” w witrynie blogs.orange-business.com.
  2. (w) „  CIH / Chernobyl Virus  ” ( ArchiwumWikiwixArchive.isGoogle • Co robić? ) , Na cert .org ,1999.

Bibliografia

Zobacz też

Powiązane artykuły

Linki zewnętrzne

Programiści BIOS: