Proces startu komputera
Transkrypt
Proces startu komputera
Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko Proces startu komputera Wiadomości i pojęcia, które należy znać: BIOS, POST, MBR, ładowanie systemu operacyjnego Mogłoby się wydawać, że rozdział ten dla osoby chcącej korzystać z komputera bez wdawania się w niepotrzebne szczegóły jest niepotrzebny. Jednakże czasami „coś jest nie tak”, komputer nie chce poprawnie się uruchomić, wydaje dziwne piski. W takich sytuacjach zastanawiamy się, co można zrobić. Niektórzy z kolei chcą wiedzieć „jak to działa” i co ważniejsze „dlaczego?”. Jeśli chciałbyś się dowiedzieć, co komputer robi od chwili włączenia zasilania do czasu uruchomienia się ulubionego systemu operacyjnego, to ten rozdział jest właśnie dla Ciebie. BIOS BIOS (ang. Basic Input/Output System) jest pierwszym programem, który zaczyna wykonywać procesor po uruchomieniu komputera. Jest to jeden z najbardziej niezmiennych elementów komputera klasy PC. Praktycznie, w czasie ostatnich ponad 20 lat nie uległ on zmianie. BIOS obecny jest w każdym komputerze, zapewniając prawidłową inicjalizację urządzeń znajdujących się na płycie głównej, kart rozszerzeń, dysków i innych komponentów komputera, tak aby możliwy był start systemu. Oprócz tego BIOS stanowi interfejs pomiędzy systemem operacyjnym a różnymi elementami komputera, których dokładna budowa i sterowanie zależne są od producenta płyty. Dlatego też BIOS-u nie można wymieniać pomiędzy różnymi płytami. Jest to bardzo wygodne rozwiązanie, system operacyjny aby wywołać jakąś funkcję zawartą w elektronice płyty głównej zleca to BIOS-owi, nie przejmując się jak konkretnie zadanie zostanie zrealizowane. Podstawową funkcją BIOS-u jest przeprowadzenie prawidłowego startu komputera. W tym celu znajduje się on w specjalnym rodzaju pamięci, której zawartość w przeciwieństwie do pamięci RAM nie ulega skasowaniu po wyłączeniu zasilania. W nowoczesnych komputerach BIOS jest przechowywany w pamięci EEPROM, w starszych — w pamięciach EPROM lub ROM. Różnica polega na tym, że pamięci EEPROM lub Flash można kasować i ponownie zapisywać nową zawartością, co umożliwia uaktualnienie BIOS-u. Praktycznie wszyscy producenci płyt głównych oferują na swoich stronach internetowych unowocześnienia i poprawki BIOS-u, które ukazały się już po wyprodukowaniu płyty. Generalnie jeśli w komputerze wszystko działa, to nie powinniśmy zmieniać zawartości BIOS-u, gdyż zawsze istnieje możliwość, że po przeprowadzeniu uaktualnienia komputer odmówi współpracy. Więc kiedy warto przeprogramować BIOS? Zwykle przy każdej wersji BIOS-u producent podaje listę poprawek i zmian jakie zostały wprowadzone. Niektóre starsze BIOS-y nie obsługują różnych urządzeń, które zostały wprowadzone już po ich napisaniu. Tak jest np. z obsługą dysków twardych o dużych pojemnościach (powyżej 32GB lub powyżej 40GB). Jeśli komputer zawiesza się i nie chce wystartować po podłączeniu nowego urządzenia, to po sprawdzeniu poprawności montażu warto spróbować ostatniej deski ratunku — uaktualnienia BIOS-u. POST Procesor komputera klasy PC po włączeniu zasilania lub naciśnięciu przycisku RESET rozpoczyna wykonywanie programu od adresu FFFF0h. Pod tym adresem znajduje się właśnie BIOS płyty głównej, który przeprowadza inicjalizację wszystkich komponentów komputera (pamięci, kontrolerów przerwań, kontrolerów dyskietek i twardych dysków). Testowany jest także sam procesor i pozostałe układy wejścia-wyjścia. Sprawdzana jest również tzw. suma kontrolna BIOS, będąca po prostu sumą wszystkich bajtów modulo 65 536. Te wszystkie wymienione czynności to tak zwane POST (ang. Power On Self Test). Po pomyślnym przejściu przez komputer tego etapu inicjowana jest tzw. tablica przerwań oraz struktury danych BIOS. W przypadku napotkania na tym etapie błędu BIOS sygnalizuje taki fakt poprzez serię krótkich dźwięków. Są one specyficzne dla danego producenta płyty i umożliwiają lokalizację usterki. Tak więc kiedy komputer po włączeniu zasilania zaczyna piszczeć – zawsze świadczy to o poważnym błędzie. Najczęściej niemożność poprawnego uruchomienia komputera jest spowodowana uszkodzeniem lub brakiem pamięci RAM lub uszkodzeniem karty graficznej. Płyty główne używane w serwerach zwykle maja rozbudowane układy elektroniczne często Wydział Informatyki, Politechnika Białostocka Strona 1 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko sygnalizujące stan komputera na małym wyświetlaczu LCD lub przy pomocy kodów wyświetlanych na diodach LED. Kolejnym etapem jest przeszukiwanie pamięci w poszukiwaniu tzw. rozszerzeń BIOS-u. Wiele urządzeń wkładanych w sloty rozszerzające posiada własne BIOS-y umożliwiające lub rozszerzające funkcje BIOS-u płyty głównej. Do takich urządzeń zaliczamy karty graficzne, sterowniki dysków SCSI, niektóre karty sieciowe itd. Po przeprowadzeniu procedury POST program poszukuje właśnie tych dodatkowych BIOS-ów, aby przekazać im sterowanie i przeprowadzić inicjalizację obsługiwanego przez nie sprzętu. Ładowanie Systemu Operacyjnego Ostatnią funkcją realizowaną przez BIOS komputera jest załadowanie tzw. boot bloku, 512 bajtowego obszaru, w którym zawarta jest procedura ładowania systemu operacyjnego. Boot blok znajduje się zwykle w pierwszym sektorze dysku twardego lub dyskietki. Urządzenie, z którego zostanie załadowany można wybrać w SetUp-ie — części programu BIOS odpowiedzialnej za ustawienie początkowych parametrów pracy komputera. Program zawarty w Boot bloku jest zależny od systemu operacyjnego. Zwykle znajduje się on w głównym rekordzie rozruchowym (ang. Master boot record, MBR) pierwszego dysku twardego. Zawarty tam program jest odpowiedzialny za analizę tablicy partycji i przekazanie sterowania do loadera systemu operacyjnego. Jeżeli na dysku twardym lub dyskietce nie ma systemu operacyjnego, proces ładowania jest przerywany z odpowiednim komunikatem błędu. A skąd BIOS wie, że na wskazanym nośniku nie ma systemu? Podobnie jak w przypadku poszukiwania pamięci rozszerzających funkcje BIOS-u, szukana jest odpowiednia sygnatura. Jeśli MBR zawiera odpowiedni loader to w bajtach o adresie 0x1FD i 0x1FE (ostatnie dwa bajty 512-bajtowego sektora) znajdują się wartości 55h i AAh. BIOS komputera poszukując urządzenia, z którego można uruchomić system operacyjny przeszukuje kolejne urządzenia, aż do napotkania podanych bajtów. Obecnie możemy się spotkać z komputerami, które nie są wyposażone w twarde dyski i stacje dyskietek. Są one zwykle wykorzystywane jako tzw. stacje robocze (ang. Workstations) w systemach sieciowych. W takim przypadku proces startu komputera musi przebiegać w sposób nieco odmienny. Tego typu stacje robocze (nazywane bezdyskowymi klientami — ang. Dicsless clients) wyposażone są w odpowiednie karty sieciowe, w których ROM-ach zawarty jest krótki program realizujący jeden z dwóch prostych protokołów sieciowych — bootd lub tftp. Protokoły te umożliwiają połączenie się z serwerem, na którym zawarty jest cały system operacyjny, a następnie jego zdalne załadowanie. Wiele urządzeń komputera wymaga dla poprawnej pracy wstępnego skonfigurowania. Procesem tym zajmuje się cześć BIOS-u, tzw. SetUp. W znakomitej większości przypadków Wydział Informatyki, Politechnika Białostocka Strona 2 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko możemy się do niego dostać naciskając klawisz Del podczas startu komputera. Powinniśmy zobaczyć ekran wyglądający mniej więcej jak poniżej1: Jeśli jesteś początkującym użytkownikiem komputera — powinieneś bardzo ostrożnie wprowadzać zmiany w SetUp-ie, szczególnie w sekcji Advanced Chipset Features oraz Frequency/Voltage Control. Nieprawidłowe ustawienie np. napięć zasilających może spowodować nawet uszkodzenie procesora! Jedynymi funkcjami BIOS-u, które trzeba koniecznie ustawić przy pierwszym starcie komputera, są ustawienia zawarte w sekcji Standard CMOS Features. W razie problemów z ponownym uruchomieniem komputera warto załadować początkowe wartości polecane przez producenta płyty wybierając opcję Load Fail-Safe Defaults. Po wybraniu tej opcji nasz system nie będzie działał z optymalną prędkością ale mamy gwarancję, że się poprawnie uruchomi. W sekcji Standard CMOS Features ustawia się datę i czas systemowy oraz parametry posiadanych twardych dysków. Jeśli nie znamy dokładnych parametrów posiadanego przez nas twardego dysku warto poszukać opcji HDD autodetect. Jej wybranie spowoduje, że BIOS sam poszuka wszystkich dysków i ustawi ich prawidłowe parametry pracy. Kolejną rzeczą, jaką powinniśmy zrobić po zakupieniu komputera, jest wybranie urządzenia z którego nastąpi załadowanie systemu operacyjnego (First Boot Device). Opcja ta znajduje się w sekcji Advanced BIOS Features. Zwykle system znajduje się na partycji dysku oznaczonej jako C. Jeśli jeszcze nie zainstalowaliśmy systemu operacyjnego, warto wybrać opcję CD-ROM. Spowoduje to, że komputer spróbuje załadować system z płyty znajdującej się w czytniku płyt kompaktowych. Jeżeli umieścimy tam płytę instalacyjną np. „MS Windows NT/2000/XP” komputer automatycznie uruchomi odpowiedni program instalacyjny. W takim wypadku powinniśmy pamiętać żeby zmienić to ustawienie na C only przy pierwszym restarcie komputera. W 1 W zależności od producenta informacje wyświetlane przez BIOS mogą się nieco różnić. Wydział Informatyki, Politechnika Białostocka Strona 3 Wprowadzenie do Informatyki (WDI), Studia Dzienne Magisterskie mgr inż. Paweł Tadejko przeciwnym wypadku niemożliwe będzie ponowne uruchomienie instalowanego systemu operacyjnego. Przed przystąpieniem do zmian innych parametrów startowych komputera warto zapoznać się z instrukcją obsługi dołączoną do płyty przez producenta. Generalnie lepiej nie zmieniać opcji, których znaczenia nie rozumiemy. Na koniec pozostaje nam zapisanie wprowadzonych zmian poprzez wybranie opcji SAVE & EXIT SETUP oraz potwierdzenie poprzez naciśnięcie Y. Spowoduje to zapisanie wszystkich danych do małego obszaru pamięci CMOS, której zawartość jest podtrzymywana przez baterię znajdującą się na płycie głównej. Wydział Informatyki, Politechnika Białostocka Strona 4