Systemy operacyjne

Oprogramowanie. Pamięć operacyjna

przeczytasz w 3 min.

Zyski z inwestycji w 64-bitowy procesor możliwe są do zrealizowania tylko i wyłącznie w odpowiednim, a więc zwykle 64-bitowym środowisku programowym. Dotyczy to zarówno systemu operacyjnego, jak i uruchamianych dzięki niemu programów. Microsoft wejście w erę 64 bitów na desktopach zapoczątkował już Windowsem XP x64. 
System ten nie zyskał wielkiej popularności z kilku powiązanych ze sobą powodów (brak zapotrzebowania na pamięć powyżej 1-2 GB nawet w przypadku wielu stacji roboczych, ceny pamięci, ograniczenia w ilości RAM obsługiwanej przez chipsety płyt głównych, brak 64-bitowego oprogramowania dla Windows). Siłą rzeczy producenci sprzętu w znacznym stopniu zignorowali istnienie 64-bitowego XP, co zaowocowało brakiem sterowników do wielu urządzeń – niestety, nie można posiłkować się rozpowszechnionymi 32-bitowymi sterownikami w 64-bitowym systemie.

Oczywiście „nie samym systemem żyje człowiek” - potrzebujemy jeszcze oprogramowania 64-bitowego. Generalnie programy 32-bitowe uruchomione w środowisku 64-bitowym poprzez jakąś warstwę zapewniającą kompatybilność działają wolniej niż w systemie 32-bitowym. Nie można traktować tego stwierdzenia nazbyt dogmatycznie, gdyż stopień obniżenia wydajności zależy od rodzaju programu, jego zapotrzebowania na pamięć, ilości uruchomionych jednocześnie zasobożernych aplikacji. Dobrze wyposażony w RAM komputer z 64-bitowym OS-em ma potencjalną przewagę we wszystkich wymienionych kategoriach, a traci tylko na skutek emulacji środowiska 32-bitowego.

Pamięć operacyjna

Dostępność tanich modułów DDR2 w wersjach zarówno dla desktopów, jak i laptopów sprawia, że posiadanie czterech, czy większej liczby gigabajtów pamięci nie jest już kosztowną fanaberią, choć ciągle większość komputerów nie potrzebuje aż takiej ilości RAM. Przeglądając rozmaite teksty w Internecie można natknąć się na sporą liczbę osób zawiedzionych, które po zamontowaniu dodatkowej pamięci w komputerze stwierdzają, że raportowana przez Windows ilość RAM jest mniejsza od 4 GB. Dlaczego tak się dzieje?

Jak już napisałem, 32-bitowe adresowanie pozwala na użycie 4 GB pamięci. Niestety, w pulę adresów wchodzi nie tylko RAM, ale również pamięć karty graficznej. Wiele urządzeń również rezerwuje sobie pamięć do komunikacji z pozostałymi składnikami komputera. W efekcie użytkownik ma do dyspozycji swoje 4 GB RAM uszczuplone o wymienione wyżej pule rezerwowane przez urządzenia. Najczęściej – i tak informuje na swojej stronie Microsoft – Windows z tych 4 GB pamięci operacyjnej widzi ok. 3,2 GB, choć wartość ta może różnić się w zależności od komponentów komputera. Przykładowo karta grafiki z 1 GB na „pokładzie” odbierze nam taką samą wartość z pamięci głównej, więc ilość RAM raportowana przez Windows spadnie sporo poniżej 3 GB.

Pamięć rezerwowana dla urządzeń (kolor żółty) w systemie 32-bitowym musi być zmapowana w obrębie 4 GB przestrzeni adresowej. Tym samym uszczupla ilość RAM dostępną dla Windows (kolor niebieski).

System 64-bitowy nie ma tak ograniczonej przestrzeni adresowej. Jego instalacja gwarantuje dostęp do pełnej pojemności RAM w wypadku, gdy BIOS umożliwia przeadresowanie rezerwowanej pamięci powyżej 4 GB. Do tego niezbędna wydaje się obsługa ponad 4 GB pamięci przez chipset płyty głównej.

Do ogólnego bałaganu dotyczącego „widzenia” pamięci przez 32-bitowe systemy walnie przyczyniają się producenci sprzętu, oferując komputery wyposażone w 4 GB pamięci i 32-bitową Vistę, nie ujawniając ograniczeń takiego zestawu (lub czyniąc to „drobnym drukiem”). Microsoft wraz z SP1 do Visty wprowadził marny trik uspokajający mało dociekliwych użytkowników – system raportuje poprawną ilość zamontowanej pamięci i dopiero uruchomienie msinfo32 pozwala nam zobaczyć, że „problem 4 GB” nadal istnieje.

Jak już sygnalizowałem w moim poprzednim artykule na temat Visty opublikowanym na łamach benchmark.pl, Microsoft podjął starania w kierunku ulepszenia domyślnego poziomu bezpieczeństwa produkowanych przez siebie systemów operacyjnych. 32- jak i 64-bitowa Vista zawierają widoczne w codziennej pracy usprawnienia bezpieczeństwa jakimi są UAC (User Account Control), ulepszona zapora (np. możliwość tworzenia reguł dla ruchu wychodzącego z komputera), „tryb bezpieczny” Internet Explorera, czy wreszcie stale uruchomiony jako usługa Windows Defender. Równie ważne są zabezpieczenia ukryte w „trzewiach” systemu, jakimi są DEP (Data Execution Prevention, nowość w XP SP2) i ASLR (Address Space Layout Randomization, nowość w Viście).

Pierwszy z nich zapobiega wykonywaniu kodu z pamięci przeznaczonej na dane, drugi wprowadza losowe rozmieszczenie ważnych elementów systemu operacyjnego oraz programów (wymagane uaktywnienie tej opcji przez programistów) w pamięci i w znacznym stopniu zapobiega atakom opartym o przepełnienie bufora. 

Według opinii wielu specjalistów od zabezpieczeń ASLRDEP powinny być stosowane w tandemie, Microsoft podjął więc właściwą decyzję uzupełniając DEP o randomizację przestrzeni adresowej. Piszę o tym nie bez powodu, ponieważ w sieci znaleźć możemy publikacje sugerujące, iż ASLR obecny jest tylko w 64-bitowej odmianie Visty. Tymczasem zupełnie nieświadomy tego faktu Symantec ;) opublikował raport dotyczący randomizacji przestrzeni adresowej w Viście x86 RTM. Ogólny wydźwięk raportu jest pozytywny, niemniej wytyka on niedociągnięcie, jakim jest preferowanie niektórych lokacji przez algorytm randomizacji. Usterka ta obniża w pewnym stopniu efektywność ASLR. Trudno powiedzieć, czy SP1 poprawia implementację randomizacji, niemniej jakość tego zabezpieczenia nie powinna spędzać nam snu z powiek.

64-bitowa Vista ma jednak pewną unikalną cechę zwiększającą bezpieczeństwo. Jest nią Kernel Patch Protection (zwany również jako Patchguard) zapobiegający modyfikacji jądra systemowego przez nieautoryzowane programy. Mechanizm ten między innymi powinien stanowić blokadę dla instalacji wielu rootkitów. Vista x64 jak na razie ma również przewagę będącą niejako efektem ubocznym braku 64-bitowych szkodników, bo tylko takie mogłyby zagnieździć się w 64-bitowym jądrze. Microsoft również zdecydował się na kontrowersyjny krok obligatoryjnego stosowania podpisanych cyfrowo sterowników urządzeń, co pośrednio stanowi również barierę dla szkodników.

Widzimy więc, że pod względem zabezpieczeń Vista x64 wykazuje wyższość nad Vistą x86, choć o rzeczywistej wartości tej przewagi zdecydowanie za wcześnie jeszcze się wypowiadać.