W jaki sposób BIOS kontroluje urządzenia we / wy bez żadnych sterowników?
Na przykład, w jaki sposób wyświetlany jest obraz podczas uruchamiania komputera, jeśli BIOS nie ma żadnych sterowników karty graficznej.
Czy istnieje jakiś rodzaj ogólnego sterownika, który jest standardem we wszystkich systemach BIOS i sprzęcie, który pozwala BIOSowi wykonywać podstawowe funkcje bez względu na zainstalowany sprzęt.
Każda pomoc będzie mile widziana.
Dzięki.
Do you have a specific problem your trying to solve?
Tak, próbują rozwiązać problem znalezienia odpowiedzi na zadane pytanie. ¬_¬Odpowiedzi:
Standardy. Wszystkie komponenty implementują podstawowy interfejs, a BIOS jest zaprogramowany do korzystania z niego. Oczywiście ponieważ jest to podstawowy interfejs (to właśnie oznacza „B” w BIOS-ie), nie może on w pełni wykorzystać pełnych możliwości sprzętu; oprogramowanie należy wdrożyć za pośrednictwem sterowników, które mają bezpośredni dostęp do sprzętu.
Pierwotnie producenci systemu BIOS stworzyli zestaw interfejsów API, których urządzenia powinny używać, jeśli chcą być kompatybilne. Zrobili to za pomocą „ przerwań ”, co jest sposobem, w jaki urządzenie może, no cóż, przerwać program, aby poinformować, że coś się wydarzyło i na odwrót.
W przypadku wyświetlacza przed uruchomieniem oprogramowanie układowe karty wideo implementuje VESA (Video Electronics Standards Association), który jest standardem stworzonym w celu uproszczenia dostępu do sprzętu wyświetlającego. BIOS wie, jak uzyskać dostęp do sprzętu wideo za pomocą standardowych funkcji. Jest nieco podobny do tego, w jaki sposób DirectX został zaimplementowany jako interfejs API wyższego poziomu do sprzętu, aby programiści nie musieli uwzględniać każdej konfiguracji sprzętowej.
Raczej. To nie jest sterownik, ale standardowy interfejs API ; zestaw funkcji programistycznych, których można używać do wykonywania podstawowych czynności, takich jak inicjalizacja urządzenia lub danych wejściowych i wyjściowych.
Jeśli producenci chcą sprzedawać swoje produkty, będą musieli upewnić się, że przynajmniej implementują standardowe interfejsy API, aby były kompatybilne. W ten sposób system może wykryć sprzęt, aw przypadku urządzeń o krytycznym znaczeniu dla rozruchu może uzyskać do nich dostęp na poziomie podstawowym, dopóki nie zostanie załadowany sterownik oprogramowania, który wie, jak uzyskać do nich pełny dostęp.
źródło
BIOS w komputerze miał pełnić podobną funkcję jak BIOS w 8-bitowym systemie CP / M, popularnym zanim komputer przejął kontrolę w połowie lat 80-tych. BIOS miał zawierać minimalny bootloader i zależne od sprzętu procedury niskiego poziomu do wprowadzania i wysyłania danych do kilku urządzeń (ekran, dysk, taśma, port COM). Wiedza na ten temat została wbudowana w ROM - nie jest potrzebny sterownik i oczywiście żaden dodatkowy sprzęt nie jest obsługiwany przez ROM. (Rzeczy takie jak zarządzanie energią i ACPI pojawiły się znacznie później, w latach 90-tych, po tym, jak PC stał się wszechobecną platformą).
(„System plików” CP / M znajdował się w składniku załadowanym z dysku o nazwie BDOS - podobnie znajomość systemu plików FAT i jego interfejsów znajduje się w (przynajmniej jednym) dwóch ukrytych plikach MSDOS.SYS lub IO.SYS - nie jest częścią BIOS ROM.)
Jednak ... BIOS komputera, w przeciwieństwie do CP / M, wspierał pojęcie „ROM opcji”, które mogą być zawarte na karcie rozszerzeń. Tak więc istniał przynajmniej minimalny mechanizm rozszerzania BIOS-u. Karty graficzne zaczynające się od CGA (MDA, poprzednik CGA, prawdopodobnie też to zrobiły) miałyby opcjonalną pamięć ROM, która rozszerzyła lub dodała funkcje I / O do interfejsu BIOS. (Właśnie dlatego widzisz komunikat NVidia przed uruchomieniem BIOS-u.) Tak samo jak twarde kontrolery i karty SCSI. Wszystko to nadal działa. Wiele starszych kart sieciowych ma gniazdo na bootowalną pamięć ROM.
Należy również pamiętać, że producenci klonów komputerowych, którzy powstali w latach 80-tych, bardzo szybko postanowili nie zapewniać tylko kompatybilnego interfejsu BIOS, ale ostatecznie musieli skopiować platformę PC jako całość, w tym cały sprzęt niskiego poziomu, taki jak układ czasowy , kontroler przerwań itp. (Było to stosunkowo łatwe, ponieważ niewiele z tego było własnością IBM.) Było tak, ponieważ BIOS był powolny, a programiści uzyskiwali bezpośredni dostęp do sprzętu, szczególnie w przypadku gier.
Tak więc pomiędzy opcjonalnymi ROM-ami a tym konsensem standardowego sprzętu, który tworzy platformę PC, a także faktem, że była utrzymywana wstecznie kompatybilna podczas ewolucji komputera, coś, co chce korzystać z wyświetlacza bez sterownika, może:
Cały sprzęt do wyświetlania na komputerze nadal działa w trybie „kompatybilnym z VGA” po uruchomieniu. Oryginalny adapter IBM VGA miał tryby kompatybilne z wcześniejszymi kartami EGA, CGA i MDA. Wszystko to oznacza, że coś uruchomionego z BIOS-u lub poza systemem operacyjnym może założyć, że nadal może odczytywać i zapisywać tę samą pamięć podłączoną do wyświetlacza, jak w 1985 r., W drodze konwencji.
źródło