Jakie są funkcje systemu BIOS podczas działania systemu operacyjnego?

78

Zawsze zastanawiałem się, czy BIOS (oprócz przeprowadzania testu POST, uruchamiania programu ładującego i przekazywania kontroli do systemu operacyjnego po naciśnięciu przycisku zasilania) ma jakiś cel lub funkcję podczas działania systemu operacyjnego?

Czy system operacyjny komunikuje się z BIOS-em podczas działania, a jeśli tak, to w jaki sposób?

JohnnyFromBF
źródło

Odpowiedzi:

72

Przy nowoczesnych systemach operacyjnych praktycznie żaden . Linus Torvalds podobno powiedział, że jego zadaniem jest „po prostu załadować system operacyjny i się stamtąd wydostać”.

Starsze systemy operacyjne, takie jak MS-DOS, polegały na systemie BIOS w wielu zadaniach (np. Dostęp do dysku), wywołując przerwania.

W nowoczesnych systemach operacyjnych program ładujący szybko przełącza się w tryb 32- lub 64-bitowy i wykonuje jądro systemu operacyjnego. Jądro może rejestrować własne procedury obsługi przerwań, które mogą być wywoływane przez aplikacje w przestrzeni użytkownika. Procedury jądra mogą być bardziej przenośne (ponieważ nie zależą od konkretnego sprzętu), bardziej elastyczne (dostawcy systemów operacyjnych mogą je zmieniać na żądanie, zamiast konieczności korzystania z tego, co dostarczono ze sprzętem), bardziej wyrafinowane (mogą wykonywać dowolnie skomplikowane kod zamiast tego, co zostało zaprogramowane w BIOS-ie) i bardziej bezpieczny (ponieważ system operacyjny może kontrolować dostęp do współdzielonych zasobów i zapobiegać wzajemnemu zapychaniu się programów, wdrażając własne schematy uprawnień).

Aby współpracować z określonym sprzętem, systemy operacyjne mogą ładować i używać własnych sterowników urządzeń. Dlatego system operacyjny ani aplikacje nie muszą w ogóle wywoływać większości procedur systemu BIOS. W rzeczywistości, ze względów bezpieczeństwa, przerwania systemu BIOS są nawet wyłączone. Ponieważ BIOS działa w 16-bitowym trybie rzeczywistym, trudniej jest wzywać do nowoczesnych systemów operacyjnych.

Chociaż korzystanie z systemu BIOS jest bardzo ograniczone podczas działania systemu operacyjnego, jego funkcje są nadal używane peryferyjnie. Na przykład, gdy komputer jest w trybie uśpienia , system operacyjny nie działa i ostatecznie to oprogramowanie układowe ustawia sprzęt we właściwym stanie, aby wstrzymać i wznowić system operacyjny. Te zastosowania są zwykle ograniczone do wywołań ACPI, a nie do pełnego interfejsu BIOS. ACPI to rozszerzenie BIOS-u, które „zapewnia zarządzanie energią pod kontrolą systemu operacyjnego (OSPM), w przeciwieństwie do poprzedniego systemu centralnego BIOS-u, który opierał się na oprogramowaniu układowym specyficznym dla platformy, aby określić zasady zarządzania energią i konfiguracji” .

Należy zauważyć, że oficjalnie „BIOS” odnosi się do konkretnego interfejsu oprogramowania układowego, ale termin ten jest powszechnie używany w odniesieniu do oprogramowania układowego komputera w ogóle. Niektóre najnowsze komputery (zwłaszcza Apple) zastąpiły BIOS (sensu strictu) UEFI , co oczywiście jest potrzebne do implementacji tych funkcji.

Aby uzyskać więcej informacji o tym, jak rola systemu BIOS zmniejszyła się z czasem, zobacz Wikipedię .

Ślimak mechaniczny
źródło
15
Występuje minimalna interakcja za pośrednictwem zegara systemowego (pory dnia).
MSalters
7
Jesteś tego pewien? Co z kontrolkami wentylatora, wspomnianym już trybem zarządzania systemem, całym ACPI, który na przykład kontroluje prędkość procesora?
Alexander
32
Mógłbym spróbować przylutować układ BIOS, gdy maszyna jest uruchomiona.
JohnnyFromBF
5
@Ian dlaczego to utrudnia. Znajdź starszą płytę z biosami z gniazdami i po prostu szarpnij chip. Alternatywnie IIRC niektóre najnowsze karty do podkręcania wciąż mają przełącznik sprzętowy, który pozwala przełączać się między dwoma BIOS-ami. Wykonaj flashowanie obrazu B, uruchom komputer na A, przełącz na B podczas uruchamiania.
Dan Neely,
17
@ Ian to zrobiłem. Straciłem moc podczas flashowania BIOS-u, ale potem się nie uruchomił. Mieliśmy 20 maszyn z dokładnie tym samym sprzętem, a one się starzały. Więc uruchomiłem jedną, wyjąłem układ BOIS, podłączyłem zepsutą i błysnąłem. Oba układy BOIS działały potem doskonale. To prawda, że ​​był to system DOS działający pod oprogramowaniem flash. Myślę, że nadal robi wrażenie. (Tablice były opatrzone marką Gigabyte, kompatybilne z Pentium 4, o ile pamiętam)
Ekin Koc
32

BIOS zapewnia systemom operacyjnym szereg usług, z których większość związanych jest z zarządzaniem energią:

  • modyfikowanie zegarów procesora i magistrali
  • włączanie / wyłączanie urządzeń na płycie głównej
  • kontrola mocy portu rozszerzeń
  • Suspend-to-disk i Suspend-to-RAM
  • przywróć ustawienia zdarzeń

Zawieszenie na dysk jest implementowane w systemie operacyjnym przez większość czasu, ponieważ system operacyjny może szybciej przywrócić swój stan (tylko stan jądra jest przeładowywany, a stan programu zamieniany w razie potrzeby, co jest znacznie szybsze niż przeładowywanie całej pamięci RAM), ale funkcja pozostaje w specyfikacji.

Zawieszenia do pamięci RAM nie można wdrożyć przez system operacyjny, ponieważ polega on na tym, że BIOS pomija inicjalizację i testowanie pamięci RAM, więc system operacyjny potrzebuje interfejsu API, aby poinformować BIOS, że zamierza wznowić bieżącą zawartość pamięci RAM. Aby zapewnić tę usługę, BIOS prosi system operacyjny o pozostawienie określonego obszaru pamięci RAM nienaruszonego.

Interfejs systemu operacyjnego dla wszystkich usług BIOS to fragment kodu maszyny wirtualnej, który należy uruchomić na emulatorze i który generuje niezbędne operacje we / wy na sprzęcie. W przypadku zawieszenia jest to generalnie realizowane w taki sposób, że wykonanie jednego ze sprzętowych zapisów wyzwala następnie przerwanie, które przenosi kontrolę do BIOS-u.

Simon Richter
źródło
17

Istnieją trzy podstawowe obszary, w których system operacyjny korzysta z BIOS-u w nowoczesnych systemach, takich jak te wykorzystujące standard UEFI. Pierwsza to seria usług znana jako usługi uruchomieniowe UEFI. Usługi te umożliwiają systemowi operacyjnemu pobieranie informacji znanych tylko BIOSowi, takich jak czas korzystania z BIOSu, kolejność rozruchu, bieżący profil bezpieczeństwa użytkownika, informacje o płycie głównej, modułach DIMM itp.

Drugi to tryb zarządzania systemem, który jest ukrytą sekcją pamięci (SMRAM), do której dostęp uzyskuje się poprzez przerwanie o wysokim priorytecie (SMM). Wiele systemów BIOS używa tego do wdrażania funkcji OEM o wysokim poziomie bezpieczeństwa lub do wprowadzania zmian sprzętowych.

Trzeci to ACPI. ACPI zapewnia konfigurację, zarządzanie energią oraz dane sprzętowe i kod wykorzystywany przez system operacyjny w celu rozszerzenia tego, co sterowniki systemu operacyjnego mogą dowiedzieć się za pomocą standardu branżowego lub sterownika urządzenia. Na przykład, czy istnieje specjalny sygnał do sterowania mocą dysku twardego, czy też jest specjalny sposób na rozmowę z akumulatorem, który nie jest objęty standardem.

Tim

Tim Lewis
źródło
9

Nowoczesne systemy operacyjne używają BIOS-u głównie do ładowania, ale wciąż istnieją pewne zastosowania, które obejmują, w szczególności:

  • Reagowanie na przycisk zasilania (Wyłącz komputer po 4 sekundach w
    zestawie).
  • Zmiana ustawień jasności ekranu na laptopach
  • Zdarzenia dotyczące baterii w laptopach
  • Zawieszenie
bluehallu
źródło
Myślałem, że jasność została wykonana poprzez zmianę wartości kolorów tuż przed rysowaniem.
Cole Johnson
3
@ColeJohnson: Nie: Na Thinkpadach przynajmniej zmienia jasność podświetlenia.
Ślimak mechaniczny
1
Jasność jest sterowanym sprzętowo sygnałem modulowanym szerokością impulsu, który włącza i wyłącza jasną białą diodę LED przy wysokiej częstotliwości. To światło jest jednym z głównych konsumentów baterii
1

Oprócz tego, co zostało wspomniane powyżej, Intel zaczyna przechylać się na drugą stronę i budować więcej, zapewniając poza pasmem dostęp do sprzętu za pośrednictwem technologii Active Management wbudowanej w BIOS i płytę główną, którą można kontrolować niezależnie od systemu operacyjnego. Dzięki tym tablicom możesz naprawdę sporo zrobić. Niezależnie od tego, czy uważasz, że jest to wbudowany, czy drugi system operacyjny, to inna sprawa, ale ponieważ ma on wbudowany sprzęt i komponenty w BIOSie, trzymam się wbudowanego.

intels marketing guff

Matt
źródło