Systemy Operacyjne Uruchamianie systemu Skadniki procesu uruchamiania Program

  • Slides: 25
Download presentation
Systemy Operacyjne

Systemy Operacyjne

Uruchamianie systemu Składniki procesu uruchamiania: § Program ładujący § Tryb 16 -bitowy, czyta i

Uruchamianie systemu Składniki procesu uruchamiania: § Program ładujący § Tryb 16 -bitowy, czyta i ładuje sektory startowe partycji § Sektor startowy § 16 -bitowy, czyta główny katalog żeby załadować Ntldr § 16 -bitowy tryb rzeczywisty, 32 -bitowy tryb chroniony, uruchamia stronicowanie, czyta boot. ini, wyświetla menu startowe i ładuje ntoskrnl. exe, bootvid. dll, hal. dll oraz sterowniki urządzeń potrzebne do startu § Ntoskrnl. exe § 32 -bitowy tryb chroniony ze stronicowaniem – inicjalizuje podsystem wykonawczy i uruchamia sterowniki urządzeń, przygotowuje system do uruchamiania programów i uruchania smss. exe § Smss § Aplikacja 32 -bitowa, ładuje podsystem win 32 (który zawiera win 32 k. sys oraz csrss. exe), uruchamia proces winlogon

Uruchamianie systemu c. d. § Winlogon § Aplikacja 32 -bitowa, uruchamia zarządcę kontroli usług

Uruchamianie systemu c. d. § Winlogon § Aplikacja 32 -bitowa, uruchamia zarządcę kontroli usług (SCM) i podsystem zabezpieczeń lokalnych, następnie wyświetla okno logowania § Service control manager (SCM) § Aplikacja 32 -bitowa, ładuje i inicjalizuje sterowniki urządzeń uruchamianych automatycznie oraz usługi win 32

Uruchamianie systemu - dokładniej Program ładujący § Jest wczytywany przez BIOS z Master Boot

Uruchamianie systemu - dokładniej Program ładujący § Jest wczytywany przez BIOS z Master Boot Record § Jest zależny od systemu plików (FAT 32/NTFS) § Dostęp do plików na dysku w trybie tylko do odczytu § Zadanie 1 – udostępnienie informacji o dyskach logicznych § Zadanie 2 – załadowanie do pamięci programu Ntldr § Zadanie 3 – przekazanie sterowania do programu Ntldr

Uruchamianie systemu - dokładniej Program Ntldr § Rozpoczyna działanie w trybie rzeczywistym § Widzi

Uruchamianie systemu - dokładniej Program Ntldr § Rozpoczyna działanie w trybie rzeczywistym § Widzi tylko podstawową pamięć – poniżej 1 MB § Przełącza procesor w tryb chroniony (adresowanie 32 bitowe) § Uruchamia stronicowanie pamięci do 16 MB § Dostęp do dysków odbywa się w trybie rzeczywistym (BIOS) § Możliwy jest dostęp do podkatalogów i partycji § Odczytanie pliku boot. ini § Jeżeli w boot. ini jest parę opcji startowych, pojawia się menu § Jeżeli w boot. ini zadeklarowano ładowanie systemu MSDOS to odbywa się ładowanie bootsect. dos, przełączenie do trybu 16 -bitowego i wywołanie ponownie programu ładującego z MBR dla bootsect. dos

Uruchamianie systemu - dokładniej Program Ntldr – c. d. § Uruchomienie programu ntdetect. com

Uruchamianie systemu - dokładniej Program Ntldr – c. d. § Uruchomienie programu ntdetect. com Jest to 16 -bitowy program do pobierania informacji z BIOSU. Pobiera on następujące informacje: § Informację o dacie i czasie § Dane o rodzajach magistral (ISA, PCI, EISA, MCA, itp. ) § Dane o liczbie, rozmiarze i typie napędów dyskowych § Informacje o rodzaju urządzeń wskazujących (mysz, itp. ) § Informacje o liczbie i typie portów równoległych Program zapisuje te informacje w rejestrze w kluczu: HKLMHARDWAREDESCRIPTION § Czyszczenie ekranu i wyświetlenie informacji o ładowaniu § Naciśnięcie F 8 uruchamia zaawansowane menu startowe

Uruchamianie systemu - dokładniej Program Ntldr – c. d. § Rozpoczęcie ładowania systemu z

Uruchamianie systemu - dokładniej Program Ntldr – c. d. § Rozpoczęcie ładowania systemu z partycji startowej: § Pliki binarne jądra i warstwy HAL (ntoskrnl. exe, hal. dll) § Odczytuje rejestr aby dowiedzieć się jakie sterowniki załadować § Lokalizuje sterowniki wg. ich opisu § Ładuje sterownik obsługi danego typu partycji (tej ze sterownikami) § Ładuje sterowniki startowe (tylko ładuje) § Przygotowuje rejestry procesora do uruchomienia ntoskrnl. exe

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini [boot loader] timeout=30

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect /No. Execute=Opt. In § /BASEVIDEO § Wyświetlanie GUI odbywa się w trybie karty standardowego VGA § /BOOTLOG § Rejestracja przebiegu uruchomienia w pliku %System. Root%ntbtlog. txt

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /BREAK §

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /BREAK § Zatrzymanie uruchomienia w momencie załadowania warstwy HAL i oczekiwanie na połączenie z programem uruchomieniowym jądra. Uruchomienie bez opcji /DEBUG powoduje pojawienie się niebieskiego ekranu z kodem zatrzymania 0 x 00000078 (PHASE 0_EXCEPTION) § /BURNMEMORY= § Określenie ilości pamięci, której system nie wykorzysta – NIE jest to określenie ilości pamięci, którą system MOŻE wykorzystać § /DEBUG § Włącza tryb umiejscawiania błędów jądra systemu

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /FASTDETECT §

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /FASTDETECT § Opcja domyślna – pominięcie wyszukiwania urządzeń szeregowych i równoległych (bez tego działa jakby podano /NTDETECT i będzie wyszukiwać urządzenia § KERNEL= /HAL= § Pozwala podać nazwę binarnego pliku jądra (domyślnie ntoskrnl. exe) oraz warstwy HAL (domyślnie hal. dll). Dzięki temu można wybrać pomiędzy wersją testową a handlową § /MAXMEM= § Praca w trybie ograniczenia pamięci, np. do 128 MB. System nie użyje więcej pamięci, niż zostanie podane w tej opcji

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /NODEBUG §

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /NODEBUG § Wyłączenie wszystkich opcji dotyczących lokalizacji błędów (/DEBUG, /DEBUGPORT i /BAUDRATE) § /NOGUIBOOT § Wyłącza wyświetlanie i pracę sterownika graficznego działającego podczas uruchamiania systemu § /NUMPROC= § Określa maksymalną liczbę procesorów, które mogą zostać użyte w systemie wieloprocesorowym § /ONECPU § Korzystanie tylko z jednego procesora na maszynie wieloprocesorowej

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /PCILOCK §

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /PCILOCK § Wyłączenie dynamicznego przydzielania przerwań i zasobów IO dla urządzeń PCI i korzystanie tylko z tego, co ustalił BIOS § /SAFEBOOT: § Opcja bezpiecznego rozruchu systemu: do wyboru są opcje MINIMAL, NETWORK i DSREPAIR. Opcje te są zdefiniowane w kluczu rejestru HKLMSYSTEMCurrent. Control. SetControlSafe. Boot

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /SOS §

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /SOS § Włączenie wyświetlania nazw sterowników urządzeń, wersji systemu, wersję kompilacji, liczbę dostępnej pamięci i liczbę procesorów § /TIMERS= § Ustawia rozdzielczość zegara systemowego dla Hal w wersji wieloprocesorowej (domyślna: 7. 8 ms). Rozdzielczości ustawia się wg. tabeli: Setki nanosekund Milisekundy 9766 0. 98 19532 2. 00 39063 3. 90 78125 7. 80

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /USE 8254

Uruchamianie systemu - dokładniej Program Ntldr – opcje pliku boot. ini § /USE 8254 § Nakazanie warstwie HAL użycia układu czasowego 8254 w systemach ze starszym BIOSEM § /YEAR= § Ustawienie arbitralne roku (rok z zegara jest ignorowany)

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe Faza 0: § § Uruchomienie i

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe Faza 0: § § Uruchomienie i inicjalizacja menedżera pamięci Inicjalizacja zarządcy obiektów Uruchomienie monitora bezpieczeństwa odwołań Uruchomienie menedżera procesów § Uruchomienie „procesu”, który nazywa się „Idle” – proces „bezczynności” § Inicjalizacja menedżera Plug and Play Faza 1: § przygotowanie systemu do obsługi przerwań zgłaszanych przez urządzenia § Wywołanie startowego sterownika karty graficznej (. . system 32bootvid. dll) § Inicjalizacja modułu menedżera energii

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe – c. d. , faza 1

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe – c. d. , faza 1 § Inicjalizacja czasu systemowego (zapisywanego jako czas rozruchu systemu) § Inicjalizacja i rozpoczęcie pracy pozostałych procesorów w systemach wieloprocesorowych § Pasek postępu ustawiany jest na 5% § …. § Wczytanie obsługi języków narodowych § … § Uruchamia się zarządca pamięci podręcznej (schowek) § Inicjalizacja rejestru § Inicjalizacja urządzeń typu Plug and Play przez Pn. P BIOSu

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe – c. d. , faza 1

Uruchamianie systemu - dokładniej Uruchomienie kernela ntoskrnl. exe – c. d. , faza 1 § § § § § Uruchomienie podsystemu Lokalnego Wywoływania Procedur (LPC) Utworzenie pliku z logiem (jeżeli było to wymagane) – bootlog. txt … Pasek postępu ustawiany jest na 25% Inicjalizacja menedżera podsystemów IO – zajmuje kolejne 50%, uruchomienie wszystkich sterowników oraz systemu Windows Media Instrumentation (WMI) poprzez Windows Driver Model (WDM) … 85% Wywołanie monitora bezpieczeństwa odwołań (lsass. exe) Wywołanie podsystemu menedżera sesji – smss. exe 100%

Uruchamianie systemu - dokładniej Uruchomienie smss § Pierwszy proces pracujący w trybie użytkownika §

Uruchamianie systemu - dokładniej Uruchomienie smss § Pierwszy proces pracujący w trybie użytkownika § Odpowiedzialny za tworzenie środowiska § Jest to proces ‘zaufany’, mogący wywoływać bezpośrednio funkcje API jądra (zamiast funkcji API win 32 – który jeszcze nie działa) § Uruchomienie podsystemu win 32 § Uruchomienie podsystemu Centrum Wykonawczego § Finalizowanie inicjalizacji rejestru, dopisywanie brakujących kluczy itp.

Uruchamianie systemu - dokładniej Uruchomienie smss – szczegóły działania głównego wątku § Utworzenie obiektu

Uruchamianie systemu - dokładniej Uruchomienie smss – szczegóły działania głównego wątku § Utworzenie obiektu portu LPC i wątków oczekujących na zlecenia użytkownika (np. załadowanie podsystemu lub utworzenie sesji) § Zdefiniowanie symbolicznych odnośników dla urządzeń MSDOS (takich jak LPT 1 lub COM 1) § Uruchomienie wszystkich programów przeznaczonych do wykonania w czasie startu systemu § Wykonuje opóźnione zmiany nazw plików i ich usuwanie § Otwiera znane biblioteki DLL § Tworzy dodatkowe pliki stronicowania (swap także) § Inicjalizuje rejestr a menedżer konfiguracji dopisuje brakujące klucze § Tworzy systemowe zmienne środowiskowe

Uruchamianie systemu - dokładniej Uruchomienie smss – szczegóły działania głównego wątku § Ładuje część

Uruchamianie systemu - dokładniej Uruchomienie smss – szczegóły działania głównego wątku § Ładuje część podsystemu Win 32 trybu jądra (win 32 k. sys) § Określa położenie tego pliku na podstawie danych z rejestru § Kod win 32 k korzysta ze sterownika karty graficznej w celu przełączenia się na rozdzielczość zdefiniowaną w profilu domyślnym. § W tym momencie następuje przełączenie się z trybu VGA uruchomieniowego do trybu określonego dla systemu § Uruchomienie podsystemu procesów, włącznie z csrss. exe (podsystemy POSIX oraz OS/2 uruchamiane są na żądanie i nie następuje to w tym momencie) § Uruchomienie procesu logowania użytkownika (winlogon) § Wejście w nieskończoną pętlę na uchwytach procesów csrss oraz winlogon. Zakończenie jednego z tych procesów powoduje załamanie systemu i wymuszone zakończenie pracy

Uruchamianie systemu - dokładniej Uruchomienie winlogon § Utworzenie początkowego okna i elementów pulpitu §

Uruchamianie systemu - dokładniej Uruchomienie winlogon § Utworzenie początkowego okna i elementów pulpitu § Załadowanie bibliotek DLL § Utworzenie procesu menedżera kontroli usług (system 32services. exe) § Services ładuje wszystkie usługi i sterowniki urządzeń, zaznaczone jako uruchamiane automatycznie § Ładuje także podsystem lokalnego bezpieczeństwa i uwierzytelniania (system 32lsass. exe) § Aktualizuje rejestr, zapisując w nim „ostatnią znaną dobrą konfigurację”

Tryb awaryjny § Co to jest tryb awaryjny? § jest to minimalistyczna konfiguracja sterowników

Tryb awaryjny § Co to jest tryb awaryjny? § jest to minimalistyczna konfiguracja sterowników i usług, umożliwiająca prawidłowe załadowanie systemu § Tryb zapożyczony z windows 98/me § Wejście do menu wyboru tego trybu – po wciśnięciu F 8 § Tryby awaryjne do wyboru: § Tryb awaryjny z obsługą sieci § Tryb awaryjny z wierszem poleceń § (tutaj zamiast Eksploratora ładowany jest program cmd. exe) § Sterowniki ładowane z listy „Safe. Boot” § Pierwszy program użytkownika: smss. exe § Uruchamia on następnie chkdsk sprawdzający dyski

Konsola odzyskiwania § Co to jest? § Jest to narzędzie pozwalające uratować system w

Konsola odzyskiwania § Co to jest? § Jest to narzędzie pozwalające uratować system w przypadkach, gdy nastąpiło jego uszkodzenie nieusuwalne z poziomu trybu awaryjnego § Kiedy może się przydać? § Gdy przestanie działać jakiś sterownik startowy (który ładuje się zawsze niezależnie od trybu) § Gdy uszkodzony zostanie jakiś krytyczny komponent systemu § Gdy uszkodzony zostanie twardy dysk uniemożliwiając załadowanie systemu § Gdy zamazany zostanie rekord ładujący MBR § Wejście do konsoli: poprzez płytę instalacyjną i wybór naprawy systemu § Określenie systemu przeznaczonego do naprawy (w przypadku gdy jest ich więcej)

Konsola odzyskiwania – c. d. § Należy podać hasło administratora (mimo to dostępne będą

Konsola odzyskiwania – c. d. § Należy podać hasło administratora (mimo to dostępne będą jedynie katalogi zawierające kluczowe komponenty systemu) § Uruchomione jest jądro systemu, które zawiera wszystkie możliwe sterowniki i obsługę systemów plików FAT 32, NTFS, dysków SCSI itp. § Przebieg uruchamiania jest określony w pliku txtsetup. sif w katalogu i 386 § Jako pierwszy uruchamia się menedżer sesji (i 386system 32smss. exe) § Menedżer ten wyświetla menu z opcjami naprawy lub instalacji § W trakcie instalacji to on odpowiada za obsługę wyboru partycji instalacyjnej raz za kopiowanie plików § Konsola ratownicza działa dzięki dwóm sterownikom załadowanym przez smss: spcmdcon. sys oraz setupdd. sys.

Zamykanie systemu § Zamykanie systemu jest wykonywane przez podsystem win 32 § Za obsługę

Zamykanie systemu § Zamykanie systemu jest wykonywane przez podsystem win 32 § Za obsługę zamknięcia odpowiada proces csrss § Csrss przekazuje żądanie do ukrytego okna procesu winlogon § Winlogon woła jeszcze funkcję zamykającą system ze specjalnymi znacznikami § Csrss przechwytuje to wywołanie i wysyła żądanie zakończenia do wszystkich procesów użytkownika interaktywnego (5 sekund czekania max na zakończenie każdego z nich lub okno dialogowe) § Zakończone zostają wszystkie procesy konsolowe § Zakończona zostaje praca usług systemowych § Przekazane jest wszystkim podsystemom sterowników, IO oraz pamięci i rejestru, że system jest zamykany, aby mogły one opróżnić bufory IO, i zapisać wszelkie zmiany na dysk (zmiany w rejestrze, stany pamięci, itp. ) § Wyłączane są usługi Pn. P, centrum wykonawczego, menedżera IO, konfiguracji, pamięci, a na końcu menedżera energii, który ostatecznie wyłącza system, zależnie od ustawień.