Pakiet aplikacji do optymalizacji systemu Windows 9x i NT

Pakiet aplikacji do optymalizacji systemu Windows 9x i NT
Obecna postać rejestru nie jest czymś nowym i nieznanym. Z bazą rejestrową systemu użytkownik spotkał już się w wersji Windows 3.1x. Dużym krokiem naprzód było natomiast scentralizowanie zarządzania zasobami systemu przez pojedynczą bazę. Została tak zaprojektowana aby stanowić fundament zarządzania całym systemem, siecią i użytkownikami . Historyczne podwaliny obecnie znanego rejestru mają swoje korzenie w Windows NT. Jego zadaniem było zastąpienie mnożących się plików .INI oraz konfiguracyjnych, które aplikacje, sieci i sterowniki urządzeń rozrzucały po całym dysku. Rejestr zgromadził wszystkie ustawienia w jednym miejscu zapewniając efektywną metodę zarządzania środowiskiem NT.
Administratorzy sieciowi zawsze dążyli do tego, aby zapewnić różnym użytkownikom posiadanie własnych konfiguracji. Sposób w jaki Windows pozwala użytkownikom dostosować Pulpit do własnych wymagań, staje się problemem, gdy w sieci znajduje się kilkaset lub kilka tysięcy użytkowników korzystających z różnych tematów, wygaszaczy ekranu, tapet itp. Podczas kolejnych aktualizacji lub napraw systemu administratorzy mieli by problem, by zapewnić każdemu użytkownikowi jego osobiste ustawienia systemu. Dzięki scentralizowaniu ustawień systemowych w Rejestrze administratorzy NT i Windows 9x mają wreszcie sposób pozwalający centralnie zarządzać komputerami.
Zarządzanie plikami INI stwarzało wiele innych problemów
i niedogodności. O ile główne pliki systemu Windows nie sprawiały zazwyczaj większych kłopotów, to podczas instalacji i deinstalacji aplikacji system zostawał wypełniany coraz większą ilością plików INI. Powstawały problemy gdy zawarte w nich informacje stawały się nieaktualne albo rozrzucone po tak wielu katalogach, że trudno było odnaleźć ten, który wymagał akurat edycji. Na serwerach posiadających wielu użytkowników ich ilość dochodziła często do kilu tysięcy.
Rejestr Windows NT i Windows 9x zapewnia gromadzenie wszystkich ustawień w scentralizowanym archiwum. Rejestr korzysta tylko z dwóch plików : USER.DAT i SYSTEM.DAT. Oba pliki są plikami „ukrytymi” przechowywanymi w folderze systemu Windows. Są tworzone podczas instalacji systemu i dla każdego z nich powstaje kopia bezpieczeństwa. Kopie te również są plikami z atrybutem „ukryty” i mają odpowiednio
nazwy : USER.DA0 i SYSTE.DA0. Podczas każdego startu systemu Windows automatycznie aktualizuje kopie bezpieczeństwa kopiując bieżące pliki Rejestru i nadając im rozszerzenia DA0. Teoretycznie dzięki temu zawsze znajduje się ostatnia konfiguracja, która zapewniała poprawne uruchomienie systemu.
1 Architektura systemu Windows 9x
Architektura systemu Windows ma postać modułową. Windows posiada 32 bitowe podsystemy drukowania, multimedialne i komunikacyjne, 32 bitowy system graficzny, nowy system plików oraz nowy rodzaj sterowników urządzeń.
Rys.1. Schemat budowy Windows 9x.
Do trzech najważniejszych elementów architektury Windows 9x należą:
-
menedżer maszyny wirtualnej
-
menedżer instalowanego systemu
-
menedżer konfiguracji
Menedżer maszyny wirtualnej zajmuje się tworzeniem i sterowaniem środowiskiem maszyny wirtualnej. Maszyny wirtualne to miejsca w pamięci operacyjnej systemu, które traktowane są jak niezależne komputery i w których działają aplikacje i procesy systemowe.
Menedżer instalowanego systemu plików (IFS Manager) decyduje o dostępie do urządzeń systemu plików i innych jego składników.
Menedżer konfiguracji jest natomiast głównym narzędziem pomagającym
w konfiguracji sprzętu w Windows 9x
1.1 Sterowniki urządzeń
Sterownik urządzenia to program, który umożliwia komunikację pomiędzy urządzeniem a systemem operacyjnym, w tym przypadku Windows. W Windows 9x dostępny jest uniwersalny sterownik urządzenia przeznaczony do pracy z niektórymi urządzeniami. Zawiera on większość kodu niezbędnego do działania tych urządzeń w Windows. Sterowniki tego typu dostępne są np.: dla drukarek, modemów itp.
Rys.2. Schemat pośredniczenia sterowników pomiędzy urządzeniem a systemem.
Główną przyczyną dla których Microsoft opracował uniwersalne sterowniki urządzeń było wyeliminowanie konieczności pisania sterowników dla każdego z nich. Producenci oprogramowania mogą korzystać z uniwersalnych sterowników pisząc tzw. mikro sterowniki . Jest to architektura pozwalająca na pisanie małych sterowników które zawierają dodatkowy kod charakterystyczny dla danego urządzenia , w większości przypadków wystarcza jednak sterownik uniwersalny.
Innym typem sterowników w Windows 9x są sterowniki wirtualne , które są oznaczone symbolem VxD. Są to 32 bitowe sterowniki pracujące w trybie chronionym procesora i tak zarządzają zasobami systemu , że jednocześnie
z danego zasobu może korzystać więcej niż jedna aplikacja.
Dostępne są między innymi następujące rodzaje wirtualnych sterowników:
-
sterowniki ekranu(VDD)
-
zegary (VTD)
-
drukarki (VPD)
-
itp.
1.2 Menedżer konfiguracji
Menedżer konfiguracji jest swoistym strażnikiem pilnującym konfiguracji urządzeń i jest najważniejszym narzędziem do konfiguracji urządzeń Plug & Play. Jego zadaniem jest lokalizacja wszystkich urządzeń, umieszczanie ich na drzewie urządzeń i przydzielenie każdemu z nich odpowiedniej ilości zasobów.
Rys. 3. Schemat Menedżera konfiguracji.
Menedżer konfiguracji nie tylko zajmuje się przygotowaniem
i konfigurowaniem urządzenia podczas startu ale monitoruje również stan komputera podczas pracy. Jeżeli podczas pracy jakieś urządzenie zostanie dodane lub usunięte menedżer konfiguracji dokonuje ponownej konfiguracji sprzętu. Powiadamia on o tym pracujące aplikacje i umieszcza odpowiednią informację w Rejestrze.
Aby prawidłowo identyfikować urządzenia, menedżer konfiguracji opiera się na kilku komponentach podrzędnych. Musi on też umieć zidentyfikować
i współpracować z architekturą szyny danego komputera. Komponent podrzędny, zwany numeratorem, identyfikuje wszystkie urządzenia i szyny, do których są one podłączone. Numerator szyny przekazuje następnie te informacje do menedżera, wraz z danymi o zasobach wymaganych przez urządzenie. Wreszcie menedżer konfiguracji przydziela urządzeniu przerwania IRQ, adresy portów I/O, parametry DMA i inne wymagane zasoby.
Podczas gdy numerator szyny zbiera dane o urządzeniach i przekazuje je menedżerowi konfiguracji, włącza się jeszcze jeden komponent
podrzędny – arbiter zasobów. Informuje on menedżera, w jaki sposób ma on alokować zasoby dla poszczególnych urządzeń. Rozwiązuje on wszelkie konflikty powstające między urządzeniami żądającymi tych samych zasobów. Gdy dwa urządzenia żądają tego samego zasobu arbiter próbuje przydzielić dla jednego z nich inną wartość zasobu lub zgłasza konflikt urządzeń. Istnieje wtedy możliwość ręcznego przyznania zasobów za pomocą odpowiednich narzędzi Windows. Po przekazaniu przez arbitra i numerator szyny wszystkich informacji do menadżera konfiguracji dokonuje on konfiguracji sterowników urządzeń.
1.3 Rejestr a urządzenia Plug & Play
Plug & Play to rodzaj specyfikacji urządzeń, za pomocą której Windows może dokonywać automatycznej konfiguracji urządzeń. Dzięki systemowi w pełni zgodnemu z tą specyfikacją użytkownicy nie muszą się martwić o ręczne konfigurowanie instalowanych urządzeń. Sercem
Plug & Play jest oczywiście baza rejestrowa systemu.
System Plug & Play tworzą trzy składniki :
-
system operacyjny Plug & Play
-
BIOS Plug & Play
-
urządzenia Plug & Play
Nawet nie posiadające tych wszystkich elementów komputery (np. posiadające stary BIOS) mogą wykorzystywać niektóre możliwości systemu Plug & Play.
Podczas startu komputera i uruchamiania systemu Windows ten ostatni wykonuje następujące czynności:
Rys. 4. Faza boot-strappingu.
Zaraz po uruchomieni komputera wykonywane jest najpierw jego samotestowanie (tzw. POST). Testy POST odbywają się pod kontrolą BIOS-u i mogą różnie przebiegać w zależności od komputera. Gdy pojawia się jakiś błąd, POST generuje unikalną serię dźwięków która jednoznacznie określa typ problemu ze sprzętem lub konfiguracją.
Testy POST wykonują następujące czynności:
-
sprawdzenie pamięci systemowej
-
sprawdzenie karty graficznej
-
odszukanie dysku startowego
Zgodnie z rysunkiem nr 4 pierwszy test wykonywany przez POST ma stwierdzić czy BIOS jest typu Plug & Play. Jeżeli tak, to przed wczytaniem systemu operacyjnego wykonywanych jest jeszcze kilka procedur pomocniczych pobieranych z pamięci ROM.
Rys. 5. Graficzna reprezentacja uruchamiania Windows 9x zgodnie z PnP.
Jeżeli system jest wyposażony we wszystkie trzy składniki Plug & Play Windows wykona następujące czynności w celu skonfigurowania zainstalowanych urządzeń:
-
BIOS identyfikuje urządzenia zamontowane na płycie głównej , takie jak szyna, dyski twarde, klawiatura, karta grafiki i tym podobne
-
BIOS określa zasoby wykrytych urządzeń. (IRQ, I/O, DMA)
-
Windows alokuje zasoby dla urządzeń W systemach z urządzeniami starszej generacji (nie Plug & Play) i kilkoma PnP wiąże się to z dużą ilością iteracji co znacząco wydłuża uruchamianie
-
do Rejestru zostają zapisane informacje o konfiguracji. Ustawienia te można znaleźć w Rejestrze w kluczu HKEY_DYN_DATA\ConfigManager\Enum.
-
do pamięci wczytywane są sterowniki urządzeń.
Aby umożliwić prawidłowe działanie Plug & Play system musi być elastyczny i musi pozwalać na dokonywanie zmian. Zmiany te zachodzą w następujących elementach:
-
numerator szyny
-
BIOS
-
drzewo urządzeń i Rejestr
-
system operacyjny Windows
-
arbiter zasobów
-
menedżer konfiguracji
-
aplikacje
Numerator szyny buduje w systemie drzewo urządzeń. By urządzenia mogły efektywnie pracować, muszą znać szczegóły implementacyjne wszystkich możliwych architektur szyny. Dzięki temu mogą one identyfikować urządzenia, odczytywać ich wymagania co do zasobów oraz konfigurować je za pomocą menedżera konfiguracji. Dla każdego rodzaju szyny potrzebny jest inny numerator. Podczas określania zainstalowanego sprzętu posługują się one zarówno BIOS’em jak i zainstalowanymi sterownikami. Głównym zadaniem numeratora szyny jest przyporządkowanie każdemu urządzeniu unikalnego identyfikatora „ID”. Musi być on jednoznaczny, co oznacza, że musi być on taki sam podczas każdego uruchamiania systemu.
BIOS Plug & Play zawiera rozszerzenia które umożliwiają konfigurację urządzeń podczas startu oraz zapewniają usługi dynamicznego wysłania komunikatów. Usługi te są niezbędne aby Windows mógł reagować na zmiany konfiguracji w czasie trwania sesji.
BIOS współpracuje z systemem na trzy sposoby:
Rys. 6. Sposób współdziałania Menedżera konfiguracji z innymi elementami systemu.