Okna bez rolet

Ogromny budżet przeznaczony na marketing, trochę szumu medialnego i od paru miesięcy mamy na rynku nowy system operacyjny Microsoftu. Windows XP – bo o nim mowa – bazuje na 32-bitowej architekturze Okien 2000. Aby ułatwić życie użytkownikowi, poprawiono interfejs i zmodyfikowano strukturę wewnętrzną systemu. Nie zawsze jest to widoczne, ale z pewnością odczuwalne. Liczba innowacji w budowie systemu jest jednak mała w porównaniu z tymi, które pojawiły się przy przejściu z Windows NT 4.0 na 2000. Świadczy o tym m.in. wewnętrzny numer wersji systemu, czyli NT 5.1, a nie np. 6.0 (edycja 2000 nosiła oznaczenie NT 5.0). Są to jednakże zmiany istotne i sprawiające, że nowy system operacyjny jest szybszy, bardziej stabilny i bezpieczniejszy. Jest to również pierwszy system operacyjny Microsoftu, dla którego opracowano wersję 64-bitową, pracującą na intelowskich procesorach Itanium.

Co zrobiono, by Windows XP był szybszy i stabilniejszy? Przede wszystkim zmodyfikowano zarządzanie pamięcią i poprawiono proces uruchamiania systemu. Wprowadzono też zmiany w obsłudze Rejestru, a pewnym modyfikacjom poddano system plików. Aby uniknąć problemów związanych ze sterownikami urządzeń, zaimplementowano mechanizmy pozwalające na proste usunięcie nieprawidłowo działającego oprogramowania. O zmianach świadczy także zmodyfikowane API (Application Programming Interface), pozwalające programistom na wykorzystanie możliwości nowych Okien.

Nowy może więcej

Współczesne komputery wyposażone są w coraz większą pamięć operacyjną. Z drugiej strony wyraźnie wzrasta też apetyt aplikacji na RAM. Windows XP oferuje zmodyfikowane mechanizmy przydzielania pamięci (zwłaszcza obsługę pamięci wirtualnej). Spójrzmy, jak to było dotychczas. Windows NT 4.0 obsługiwał do 192 MB. Edycja 2000 miała ograniczenie 660 MB wirtualnej przestrzeni adresowej. XP (w wersji 32-bitowej) może wykorzystywać 1,3 GB przestrzeni adresowej – z czego 960 MB ciągłej. Natomiast wersja 64-bitowa obsługuje aż 128 GB. Jednocześnie zwiększono wielkość pamięci, która jest dostępna dla sterowników. Obecnie mogą one zajmować nawet do 960 MB.

Jednym z bardzo ważnych elementów systemu jest Rejestr. Na pierwszy rzut oka nie uległ on zmianom, jednakże wprowadzono do jego obsługi dość poważne modyfikacje. Poprzednio, czyli w Windows 2000, sumaryczna wielkość wszystkich komponentów (hives) Rejestru nie mogła przekroczyć wielkości 376 MB. Obecnie nie ma takiego limitu. Istnieje jednak ograniczenie dla komponentu System (pliku przechowującego klucz HKEY_LOCAL_MACHINE \ System), który nie może być większy niż 200 MB (w poprzednich wersjach Windows był ograniczony do 12 MB). Ktoś może zapytać, kiedy jest potrzebny tak duży Rejestr. Otóż przydaje się on w przypadku systemów oferujących usługi terminalowe, szczególnie gdy mamy do czynienia z dużą liczbą użytkowników. A pamiętajmy, że chociaż sam Windows XP nie jest serwerem usług terminalowych, to mechanizmy, które w nim zaimplementowano, będą zawarte w Windows.NET Server.

Szybciej, krócej

Pierwszym zauważalnym elementem świadczącym o większej szybkości pracy nowego systemu operacyjnego jest proces jego uruchamiania. W Windows XP poprawiono zarówno szybkość ładowania systemu, jak i czas startu aplikacji. XP stara się z wyprzedzeniem odczytać wymagane dane. Dzięki temu sterowniki są inicjalizowane równolegle i jednocześnie odczytywane są dane z dysku. Również operacje hibernacji i odtworzenia systemu przebiegają obecnie wyraźnie szybciej. Podczas hibernacji system “zatrzymuje” sterowniki, a następnie zapisuje zawartość pamięci do pliku HIBERFIL.SYS i wyłącza komputer. Natomiast w trakcie odtworzenia XP wczytuje zawartość tego pliku do pamięci i uruchamia drivery. Aby przyspieszyć obie te operacje, zastosowano kilka rozwiązań. Po pierwsze: zawartość pamięci przed zapisem na dysk jest obecnie kompresowana. Po drugie: do znajdujących się na dyskach IDE plików HIBERFIL.SYS dane są zapisywane z wykorzystaniem DMA. Dzięki temu operacje dyskowe I/O przebiegają asynchronicznie, a zatem moduł Power Manager, zarządzający hibernacją, może niemal równolegle przeprowadzać kompresję i zapis.

W celu przyspieszenia procesu uruchamiania aplikacji zastosowano tzw. mechanizm pobierania wstępnego (ang. prefetch). Wszystkie dotychczasowe wersje Windows (z wyjątkiem 3.x) wczytywały do pamięci kod i dane, w momencie gdy aplikacje tego wymagały. Pobranie wstępne polega na tym, że zarówno dane, jak i kod pobierane są do pamięci, zanim jeszcze są potrzebne. Aby wiedzieć, co powinno być wczytane, moduł Cache Manager monitoruje proces startu systemu (pierwsze dwie minuty) oraz pierwszy start aplikacji (10 początkowych sekund). Zebrane dane, mówiące o tym, które pliki są czytane, zapamiętywane są w folderze \Windows\Prefetch i później wykorzystywane podczas następnych uruchomień. Takie rozwiązanie pozwala skrócić czas odczytu danych z dysku poprzez zoptymalizowanie ruchu głowic.

Wrażenie poprawy wydajności nowego systemu ma swe odzwierciedlenie w wynikach testów. Firma eTesting Labs Inc. na zlecenie Microsoftu porównała szybkości Windows XP z czterema poprzednimi wersjami, tzn. Windows Me, 2000 Professional, 98 SE oraz NT 4.0. Do testów wykorzystano wersję systemu Windows XP Release Candidate 1, ponieważ jego ostateczna wersja nie była jeszcze dostępna. Uzyskane wyniki rzeczywiście świadczyły o większej wydajności najnowszych Okienek. Windows XP startuje średnio 34% szybciej od systemu Windows 2000 oraz 27% szybciej od Windows 98 SE. Czas uruchomienia aplikacji w systemie Windows XP jest średnio o 25% krótszy niż w Windows 98 SE i jest porównywalny z wynikami dla Windows 2000 Professional. Szczegóły testów można znaleźć na stronie: http://www.etestinglabs.com/ main/reports/ microsoft.asp.

Więcej:bezcatnews