Forum Strona Główna -> BIOS -> Informacje o Bios-ie
Napisz nowy temat  Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat 
Informacje o Bios-ie
PostWysłany: Śro 6:16, 08 Lut 2006
atwelp
Administrator
Administrator

 
Dołączył: 08 Lut 2006
Posty: 132
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Lignowy Szlacheckie





Gdzie znajduje się BIOS?
BIOS znajduję się na płycie głównej komputera. Poza tym, niektóre urządzenia (np. karty sieciowe) posiadają swój BIOS. Można go łatwo odnaleźć na płycie, ponieważ jest oznaczony nazwą producenta (np. Award, AMI, Phoenix).

Na jakim nośniku znajduje się BIOS?
BIOS znajduje się w pamięci ROM, jest to zazwyczaj pamięć EEPROM (electrically-erasable read-only memory), która umożliwia ponowne nagrywanie zawartości BIOSu - na taki BIOS mówi się zazwyczaj "flash BIOS".

Czym jest BIOS?
BIOS jest zwyklym programem dla procesora np. z linii x86. Różni sie od innych programow tym, że uruchamia się z pamięci ROM i nie potrzebuje do działania systemu operacyjnego - jest wręcz odwrotnie: system operacyjny jest ładowany przez BIOS, a potem z niego korzysta (chociaż ostatnio systemy operacyjne rzadko korzystają z jego funkcji).

Pamięć CMOS
Ustawienia BIOSu muszą być zapisywane w pamięci, która nie ulegnie wyczyszczeniu przy ponownym uruchomieniu komputera. Tę rolę odgrywa pamięć typu CMOS (Complementary Metal Oxide Semiconductor). Często na pamięc BIOSu mówi się "CMOS", ale trzeba pamiętać, że pamięc typu CMOS jest używana również w innych częściach komputera. Kiedyś jedynym miejscem, w którym występowała, był BIOS - stąd brak nazwy własnej jego pamięci.

W pamięci BIOSu zachowywane są informacje o dacie systemowej, konfiguracji dysków oraz wszystkich innych ustawieniach, do których mamy dostęp przez program konfiguracyjny BIOSu.

Pamięć ta jest podtrzymywana przez baterię, ale zużywa bardzo małą ilość pamięci - to jej podstawowe założenie konstrukcyjne. Ma ona zazwyczaj pojemność jedynie 64 bajtów.

Co się dzieje po uruchomieniu komputera?
Uruchomienie
Po włączeniu komputera, procesor wykonuje pierwszą instrukcję w BIOSie. Rejestry CS i IP świeżo uruchomionego procesora zawierają wartości F000 i FFF0. W komputerach osobistych ten adres wskazuje na obszar zarezerwowany dla BIOSu; również później wykonywany kod nie wychodzi poza ten obszar.

Procesor jako pierwszą wykonuje instrukcję spod adresu F000:FFF0, czyli szesnaście bajtów przed górnym krańcem pamięci w trybie rzeczywistym (jest to jeden megabajt). Należy przypomnieć, że aby zachować kompatybilność wstecz, wszystkie procesory Intela uruchamiają się w trybie 16-bitowym. BIOS (za wyjątkiem fazy POST, gdzie tryb ten może być testowany) nie przełącza procesora w tryb 32-bitowy. Przełączenie na stałe nie jest zresztą proste: należy zainicjować globalną i lokalne tablice deskryptorów, zaplanować segmentację (wiele systemów nie wykorzystuje jej całkowicie), włączyć stronicowanie itd., a tryb ten nie jest raczej do niczego BIOSowi potrzebny. Ponieważ można korzystać z mechanizmów ochrony pamięci udostępnionych przez procesor na wiele sposobów, BIOS zostawia to systemowi operacyjnemu, a ten dopiero decyduje o dalszym trybie pracy.

W oryginalnym IBM ROM BIOSie pod adresem F000:FFF0 znajduje się skok pod adres F000:E05B, ale nie można na tym polegać przy pisaniu przenośnych programów (o ile można w ogóle o czymś takim mówić w wypadku kodu w asemblerze). W każdym razie, w tym momencie rozpoczyna się tak zwany POST (Power-On-Self-Test).

POST - test komputera
Aby upewnić się, że komputer jest sprawny, BIOS przeprowadza test wszystkich podzespołów i w razie błędu daje o tym znać użytkownikowi. Potem BIOS wykonuje następujące testy:

test rejestrów procesora
sprawdzenie sumy kontrolnej BIOSu
test sterownika klawiatury
test zegara systemowego
sprawdzenie dostępu do bazowych 64 Kb pamięci
test pamięci cache
test sprawności baterii systemowej
test karty graficznej
test trybu chronionego
próba odczytu i zapisu do pamięci konwencjonalnej
test pamięci rozszerzonej
test sterownika DMA
sprawdzenie konfiguracji systemu
Jeżeli komputer był po zwykłym restarcie bez odłączenia zasilania, pod adresem 0000:0472 znajduje się wartość 0x1234 i BIOS pomija niektóre testy. W innym przypadku przeprowadzane są wszystkie.

Ciekawe jest, że BIOS w trakcie testowania systemu zapisuje rezultaty do jednego z portów (zazwyczaj jest to port 0x80). Wysyłane są do niego kody diagnostyczne POST, a do ich odczytania może się przydać karta POST. W trakcie testu można przycisnąć pewien klawisz (np. Del), aby przejść do trybu konfiguracji BIOSu.

Jeżeli błąd przy testowaniu nastąpi po przygotowaniu do pracy karty graficznej, na ekranie wypisywany jest odpowiedni komunikat. Błędy ze wcześniejszej fazy są przedstawiane przy pomocy systemowego głośnika.

Karta POST
Karta POST służy do zbierania informacji o przebiegu testowania komputera przez BIOS. Informacje te są zapisywane do portu, na co reaguje odpowiednia karta podłączona do komputera. Takie karty przydają się przede wszystkim osobom zajmującym się sprzedażą i naprawą komputerów osobistych. Kartę taką można nawet skonstruować samemu, ale należy posiadać odpowiednie umiejętności z zakresu elektroniki.


Okazuje się, że karty POST bywają wykorzystywane przez programistów, którzy nie zajmują się bezpośrednio sprawami sprzętowymi. Jeżeli piszą oni programy systemowe działające w trybie pełnych uprawnień do procesora, wysyłają różne wartości do karty POST i na podstawie tych informacji odpluskwiają swoje programy.

Listę wartości zapisywanych przez BIOS i odczytywanych przez karty POST można znaleźć pod adresem: [link widoczny dla zalogowanych]

Ładowanie systemu operacyjnego
Po zakończeniu testowania, BIOS wywołuje przerwanie 0x19. Kod, do którego przekazywane jest sterowanie, próbuje załadować pierwszy sektor z zerowej ścieżki aktualnego urządzenia uruchamiającego (dyskietka, dysk twardy, CD-ROM) do pamięci. W razie powodzenia operacji, jest on zamieszczany pod adresem 0000:7C00. Następnie BIOS skacze pod ten adres. Dlatego pisanie swojego systemu operacyjnego można rozpocząć od umieszczenia skompilowanego kodu na pierwszym sektorze zerowej ścieżki i włożenia jej do stacji. To proste!

Jeżeli ładowanie systemu nie powiedzie się z powodu braku sektora startowego, wywoływane jest przerwanie 0x18. I tu ciekawostka: najstarsze komputery uruchamiały wtedy interpreter języka BASIC, od którego swoją przygodę z komputerami rozpoczęło wielu informatyków (w tym autor tych słów).


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Sob 9:41, 08 Kwi 2006
cenzor123

 
Dołączył: 08 Lut 2006
Posty: 44
Przeczytał: 0 tematów

Ostrzeżeń: 1/5
Skąd: MaŁe WaLiChNoWy





jeśli ktoś nam ustawi hasło w bios-ie,możemy to łatwo usnunąć lu ustawic swoje hasło.wystarczy zresetować bios poprze wyjęcie jego
bateryjki lub wciśnięcie klawisza End podczas wyłączania kompa(ten drugi sposób wiem że działa na win 98,na xp nie próbowałem)


Post został pochwalony 0 razy
Zobacz profil autora
Informacje o Bios-ie
Forum Strona Główna -> BIOS
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Wszystkie czasy w strefie Środkowy Atlantyk  
Strona 1 z 1  

  
  
 Napisz nowy temat  Odpowiedz do tematu  


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin
Regulamin