Temat: Architektura systemu Windows 7

Architektura systemu określa sposób jego funkcjonowania. System Windows 7 opiera się na kodzie Windows NT, ale jest wyposażony w nowe usługi:

  • Zintegrowaną zaporę sieciową – prosty filtr pakietów, który jest domyślnie aktywny po zainstalowaniu systemu z dodatkami Service Pack;
  • System aktywacji mający zapobiegać piractwu- jeżeli użytkownik nie aktywuje produktu w 30-dniowym okresie, to przy każdym następnym logowaniu jedyną dopuszczalną operacją będzie aktywacja;
  • Obsługę systemów plików NTFS i FAT32;
  • Nagrywanie dysków CD za pomocą wbudowanego programu nagrywającego;
  • Inteligentne oszczędzanie energii – funkcja szczególnie przydatna dla użytkowników urządzeń przenośnych (laptop). Dzięki monitorowaniu stanu baterii system może zachować wyniki pracy, zanim komputer zakończy pracę z powodu rozładowania baterii. Po naładowaniu baterii system rozpoczyna pracę od momentu, w którym został zahibernowany;
  • Przełączanie użytkownika – gdy z komputera chce skorzystać inny użytkownik, można go przełączyć, pozostawiając poprzedniego w stanie zalogowania, i powrócić na jego konto po skończeniu pracy przez drugiego użytkownika.

Architektura powinna zapewnić maksymalną wydajność systemu przy jednoczesnej prostocie obsługi. Jednym z elementów mających wpływ na wydajność jest organizacja pamięci. Większość współczesnych systemów komputerowych wykorzystuje pamięć wirtualną.

Pamięć wirtualna składa się z pliku wymiany (pagefile.sys) i fizycznie zainstalowanej pamięci RAM. Oba te elementy tworzą przestrzeń adresową nazywaną pamięcią wirtualną. Plik wymiany jest ukryty przez system i użytkownik nie może go zmienić bezpośrednio. Plik stronicowania jest używany przez system do przechowywania części plików programów i danych, które są zbyt duże i nie mogą być umieszczone w całości w pamięci. W systemie Windows tylko jądro systemu operuje bezpośrednio na pamięci RAM. Wszystkie inne procesy korzystają w mniejszym lub większym stopniu z pamięci wirtualnej. 

Sygnałem, że pamięci może być za mało, jest znaczne spowolnienie systemu. Warto wtedy zajrzeć do Menedżera zadań.

Menedżer zadań/Wydajność

Jeżeli ilość pamięci będąca w użyciu przewyższa zasoby zainstalowanej pamięci RAM, to wskazane jest dodanie pamięci. Można jednak w pewnie sposób ograniczyć zużycie pamięci RAM, przez wyłączanie usług domyślnie uruchamianych przez system Windows w tle. Windows domyślnie uruchamia wiele usług. Niektóre z nich nigdy nie będą wykorzystane. 

Zamknięcie procesu z poziomu menedżera zadań poprawi wydajność systemu do jego kolejnego uruchomienia. Po restarcie system załaduje te same procesy. Aby skutecznie wyłączyć usługę należy otworzyć Panel sterowania/Narzędzia administracyjne/Usługi.

Usługi

Po kliknięciu wybranej usługi uzyskamy obszerne informacje odnośnie jej przeznaczenia i ewentualnych skutkach wyłączenia. Jeszcze więcej informacji jest dostępnych po kliknięciu prawym przyciskiem myszy danego elementu. 

Okno właściwości

Zakładka Ogólne pozwoli zlokalizować ścieżkę do pliku wykonywalnego i zidentyfikować proces (faksfxssvc.exe). Z kolei z informacji w zakładce Zależności dowiemy się, od jakich składników systemu usługa jest zależna oraz jaki ma wpływ na inne składniki. Trzeba pamiętać, że rezygnacja z jednej usługi może oznaczać utratę dostępu do innych.

W odniesieniu do usług, rozróżniamy cztery typy uruchomienia:

  • Automatycznie (opóźnione uruchomienie) – uruchomienie usługi zostanie opóźnione w trakcie procesu logowania w celu zwiększenia jego wydajności.
  • Automatyczny – usługa startuje podczas każdego uruchomienia systemu, bez względu na to czy jest potrzebna.
  • Ręczny – usługa może być uruchamiana wyłącznie przez użytkownika, gdy będzie jej potrzebował.
  • Wyłączony – usługa nie uruchomi się nawet wówczas, gdy będzie potrzebna.

Etapy uruchamiania systemu Windows

System operacyjny Windows jest uruchamiany w dwóch etapach – najpierw sprzęt, a następnie system operacyjny.

  1. Uruchamianie komputera – sprzętu
  • Po włączeniu zasilania komputera rozpoczyna się wewnętrzny test sprzętu „POST” (Power On Self Test). Procedura testu zapisana jest w pamięci ROM znajdującej się na płycie głównej. Podczas tej fazy sprawdzane są podstawowe urządzenia komputera.
  • Następnie uruchamiana jest karta graficzna – przeprowadzany jest jej test, i rozpoczyna się wyświetlanie danych na ekranie.
  • Kolejnym etapem jest testowanie procesora (CPU) i wyświetlanie informacji o nim.
  • Po przeprowadzeniu testów CPU, kontrolę nad procesem uruchomienia przejmuje BIOS (Basic Input Output System). To oprogramowanie zapisane w pamięci będącej częścią płyty głównej, które sprawuje kontrolę nad działaniem komputera, zanim zostaną załadowane do pamięci oprogramowanie i sterowniki urządzeń.
  • Kolejny krok to testowanie pamięci RAM oraz sprawdzanie połączenia z dyskami twardymi i napędami CD-ROM. Jeśli ustawienia połączeń nie są zgodne z ustawieniami w BIOS-ie, pojawi się informacja o błędzie i proces uruchamiania zostanie przerwany.
  • Następnie identyfikowany jest dysk, który powinien być uruchomiony jako pierwszy (zgodnie z ustawieniami zapisanymi w BIOS-ie). Nosi on nazwę dysku startowego.
  • Z dysku startowego do pamięci komputera, ładowany jest program zapisany w głównym rekordzie rozruchowym MBR (Master Boot Record). Faza uruchamiania komputera przechodzi w fazę uruchamiania systemu komputerowego.
  1. Uruchamianie komputera – systemu operacyjnego

Główny rekord rozruchowy (MBR) to maty program zapisany zwykle w pierwszym sektorze dysku rozruchowego komputera, (np. twardy dysk, dyskietka, CD-ROM). MBR systemu Windows ma tylko jedno zadanie do wykonania – ładuje do pamięci program o nazwie NT Loader (NTLDR).
Zadaniem NT Loadera jest odczytanie zawartości pliku boot.ini

Plik boot.ini zawiera informację o wszystkich sektorach rozruchowych komputera. Każda partycja dysku zawiera własny sektor rozruchowy, który jest pierwszym sektorem. Podczas instalacji systemu operacyjnego tworzy on własny sektor rozruchowy na partycji, na której jest instalowany. W systemach Windows Vista i 7 nie ma już pliku boot.ini, zastąpiono go BCDedit.

Jeśli komputer ma wiele partycji systemowych, NTLDR korzysta z zawartości pliku boot.ini do wygenerowania menu, z którego wybiera się system operacyjny i tryb, w jakim chce się go uruchomić. Jeżeli z menu zostanie wybrany system Windows XP, NTLDR wywołuje program o nazwie NTDETECT.COM. Program NTDETECT.COM wykonuje pełny test sprzętowy systemu. Po sprawdzeniu, jakie elementy są zainstalowane w systemie, NTDETECT.COM przesyła te informacje i przekazuje sterowanie do programu NTLDR. NTLDR uruchamia wybraną wersję systemu WinXP. W tym celu znajduje plik NTOSKRNL w folderze System32, będącym częścią folderu systemowego.

NTOSKRNL to program główny systemu operacyjnego Windows. Inaczej mówiąc, jest to jądro systemu. Po załadowaniu się do pamięci NTOSKRNL przejmuje kontrolę nad procesem uruchamiania systemu operacyjnego.

Pierwszym krokiem jakie wykonuj jądro systemu, jest załadowanie do pamięci zawartości pliku hall.dll. Plik ten odpowiada za kontrolę nad warstwą uniezależnienia do sprzętu, która jest warstwą bezpieczeństwa oddzielającą system Windows od sprzętowych urządzeń komputera. Następnie do pamięci ładowane są sterowniki niskiego poziomu, a następnie dodatkowe pliki, które stanowią uzupełnienie jądra systemu. W następnym kroku system sprawdza istniejące profile sprzętowe i ładuje je do pamięci. System ładuje sterowniki sprzętowe wszystkich urządzeń opisanych w profilu (w tym czasie na ekranie jest wyświetlone okno powitalne systemu Windows XP). Jako ostatnie uruchamiane są usługi, przeznaczone do automatycznego uruchamiania i wyświetlany jest ekran logowania.

Uruchamianie kontrolowane systemu

Po włączeniu komputera rozpoczyna się dość skomplikowany proces uruchamiania systemu operacyjnego. Wystąpienie błędu podczas uniemożliwia zalogowanie się do systemu. Częstym powodem błędów występujących podczas uruchamiania się systemu Windows jest usunięcie lub zmodyfikowanie jakiegoś niezbędnego pliku systemowego. Jeżeli system nie uruchamia się prawidłowo, należy poprzez naciśnięci klawisza [F8] podczas początkowej fazy ładowania systemu wywołać ekran menu, z którego można wybrać specjalne tryby uruchamiania systemu.

W systemie Windows mamy możliwość uruchomienia systemu w następujących trybach:

  • Naprawa komputera – wyświetlona zostanie lista narzędzi odzyskiwania systemu, których można użyć do naprawy problemów związanych z rozruchem systemu i uruchamianiem funkcji diagnostycznych oraz odzyskiwania systemu. 
  • Tryb awaryjny – powoduje załadowanie minimalnej liczby sterowników i usług systemowych potrzebnych do uruchomienia systemu.  programy określone w grupie Startup nie zostaną uruchomione.
  • Tryb awaryjny z obsługa sieci – jest podobny do standardowego trybu awaryjnego, ale obejmuje także usługi i sterowniki umożliwiające pracę w sieci. W tym trybie możliwe jest zastosowanie Zasad grup, w tym zasad realizowanych przez serwer podczas logowania oraz zasad skonfigurowanych na komputerze lokalnym.
  • Tryb awaryjny z wierszem poleceń – jest podobny do standardowego trybu awaryjnego, ale zamiast powłoki systemu Windows uruchamia system z oknem wiersza poleceń. 
  • Włącz rejestrowanie rozruchu – ten tryb podczas normalnego procesu uruchamiania tworzy plik dziennika nazwie Ntbtlog.txt, w którym są zapisywanie nazwy i status wszystkich załadowanych do pamięci sterowników. 
  • Włącz wideo o niskiej rozdzielczości (640 x 480) – system jest uruchamiany z zastosowaniem bieżącego sterownika wideo o niskich wartościach ustawień rozdzielczości i częstotliwości odświeżania. Można go użyć w celu zresetowania ustawień ekranu.
  • Ostatnia znana dobra konfiguracja – przywraca ostatnią pomyślnie uruchomioną konfigurację systemu.
  • Tryb debugowania – uruchamia system w trybie debugowania jądra, w którym debugger ma dostęp do jądra, w celu rozwiązania problemów lub analizy systemu.
  • Wyłącz automatyczne ponowne uruchomianie komputera po błędzie systemu – ten tryb zapobiega ponownemu uruchamianiu systemu Windows w przypadku wystąpienia błędu powodującego awarię systemu.
  • Wyłącz wymuszanie podpisów sterowników – umożliwia zainstalowanie sterowników niepodpisanych cyfrowo lub zawierających niepoprawne podpisy.
  • Uruchom system Windows normalnie – uruchamia system z załadowanie wszystkich plików i wartości rejestrowych.

Tryb awaryjny należy stosować w następujących sytuacjach:

  • system Windows zatrzymał się przez długi czas nie można go uruchomić;
  • system funkcjonuje niewłaściwie lub jego działanie powoduje nieoczekiwane wyniki;
  • ekran funkcjonuje nieprawidłowo;
  • komputer został nagle wyłączony;
  • potrzebne jest zbadanie często powtarzającego się błędu;
  • uruchomienie systemu stało się niemożliwe po instalacji nowego sterownika lub oprogramowania.

W trybie awaryjnym załadowane zostają tylko niezbędne usługi i sterowniki, takie jak mysz, klawiatura, CD-ROM, standardowe sterowniki urządzeń VGA, dziennik zdarzeń, PnP, RPC (Remote Procedure Call) i Menedżer dysku logicznego. Nie zostają uruchomione: programy określone w folderach Startup (w tym profil użytkownika, profil Wszyscy użytkownicy oraz profil Administrator) programy zaznaczone w rejestrze jako uruchamiające się automatycznie oraz lokalne Zasady grup, które mogłyby spowodować automatyczne uruchomienie aplikacji. Oznacza to, że tryb awaryjny jest przydatny przy rozwiązywaniu problemów spowodowanych przez błędy w automatycznie uruchamianych aplikacjach, usługach systemowych i sterownikach. W trybie awaryjnym dostępne są pliki konfiguracyjne systemu. Można więc dokonać zmian konfiguracji, a następnie uruchomić powtórnie system w trybie normalnym. Po uruchomieniu trybu awaryjnego można wyłączyć lub usunąć usługę systemową, sterownik lub automatycznie uruchamianą aplikację, która uniemożliwiała normalne uruchomienie komputera.

Pełna lista plików wymaganych do uruchomienia systemu operacyjnego wraz z ich lokalizacją:

  • Ntldr.exe — główna partycja dysku systemowego (dysku oznaczonego jako aktywny). Plik może być nadpisany wersją oryginalną.
  • Boot.ini — główna partycja dysku systemowego. Plik nie może być nadpisany plikiem pochodzącym z innego komputera.
  • Bootsect.dos — główna partycja dysku systemowego. Plik obecny tylko w przypadku konfiguracji wielosystemowej. Plik nie może być nadpisany plikiem pochodzącym z innego komputera.
  • Ntdetect.com — główna partycja dysku systemowego. Plik może być nadpisany wersją oryginalną.
  • Ntoskrnl.exe — folder Windows\System32 (o ile system Windows został zainstalowany w folderze o nazwie Windows). Plik może być nadpisany wersją oryginalną, odpowiednią dla danego typu komputera.
  • Ntbootd.sys — główna partycja dysku systemowego. Plik obecny tylko w przypadku zainstalowania systemu Windows na niektórych typach dysków SCSI. Plik może być nadpisany wersją oryginalną, odpowiednią dla danego typu komputera.
  • Hal.dll — folder Windows\System32. Plik może być nadpisany wersją oryginalną, odpowiednią dla danego typu komputera.
  • System — folder Windows\System32\Config. Plik nie może być nadpisany plikiem pochodzącym z innego komputera.

Dodatkowo, do uruchomienia systemu niezbędne będą sterowniki niskiego poziomu przechowywanych w folderze Windows\System32\Drivers.