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?
Odpowiedzi:
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ę .
źródło
BIOS zapewnia systemom operacyjnym szereg usług, z których większość związanych jest z zarządzaniem energią:
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.
źródło
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
źródło
Nowoczesne systemy operacyjne używają BIOS-u głównie do ładowania, ale wciąż istnieją pewne zastosowania, które obejmują, w szczególności:
zestawie).
źródło
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
źródło