Zastanawiam się, ponieważ skoro nadal trzeba go uruchomić, w 64-bitowym systemie x64 / AMD64, czy BIOS nadal używa instrukcji 16-bitowych? Czy działa również w TRYBIE PRAWDZIWYM?
Zastanawiam się, ponieważ skoro nadal trzeba go uruchomić, w 64-bitowym systemie x64 / AMD64, czy BIOS nadal używa instrukcji 16-bitowych? Czy działa również w TRYBIE PRAWDZIWYM?
Odpowiedzi:
Procesory x86 nadal uruchamiają się w trybie rzeczywistym. BIOSy są wolne (a czasem zmuszone) do przełączania się na tryb chroniony lub długi podczas inicjalizacji sprzętu, ale kiedy przekazują kontrolę nad systemem operacyjnym (a raczej jego bootloaderem), muszą wrócić do trybu rzeczywistego, ponieważ właśnie to te ładowarki oczekują, że system będzie włączony.
Coreboot i UEFI dość wcześnie przełączają się w tryb chroniony, podczas gdy w przypadku PCBIOS (feniks / nagroda, ami itd.) nie wiemy. Są zamkniętym źródłem i na ogół niewiele mówią o swoich elementach wewnętrznych, a ich interfejsy są określone jako tryb rzeczywisty.
W przypadku systemów, które działają z ECC RAM, możesz być stosunkowo pewny, że przełączą się na jakiś tryb, który jest w stanie zaadresować całą pamięć RAM, więc przechodzą co najmniej do trybu chronionego - to dlatego, że muszą zainicjować pamięć (wpisz pewną wartość do każdego adresu ) podczas rozruchu lub system zatrzyma się, jeśli jakiś późniejszy kod odczyta adresy, na które nigdy nie zapisano (z powodu wykrycia błędu, który może dawać fałszywie dodatni). Ale, jak powiedziano, jest to wewnętrzne w BIOS-ie i nic, co zwykli śmiertelnicy mogą łatwo zrozumieć lub o czym musieliby pomyśleć.
tl; dr: BIOS jest w trybie rzeczywistym we wszystkich punktach, w których jest widoczny z zewnątrz, więc dla wszystkich celów i celów może po prostu działać w trybie rzeczywistym przez cały czas.