r03-06.doc

(614 KB) Pobierz
Wstęp

              Rozdział 3. u Dodawanie nowego sprzętu              19

 

Rozdział 3.
Dodawanie nowego sprzętu

Po pomyślnym zainstalowaniu systemu Windows 2000, być może zdecydujesz się na wymianę któregoś ze składników komputera. Możesz zechcieć przejść z platformy IDE do SCSI albo Fibre Channel, albo wyposażyć swój serwer w drugi procesor, czy też zakupić nową, odporną na awarie kartę sieciową. Możliwości rozbudowy komputera jest bardzo dużo, a wraz ze wzrostem wymagań programowych pojawia się konieczność zakupu nowego sprzętu.

W tym rozdziale znajdziesz krótkie omówienie architektury Windows 2000 ze szczególnym uwzględnieniem współpracy tego programu ze środowiskiem sprzętowym. Przedstawione zostaną operacje typu Plug and Play oraz dokładny proces instalacji nowych urządzeń. Rozdział nie będzie przewodnikiem po komputerze PC. Ułatwi jednak zrozumienie różnic występujących podczas instalowania i konfigurowania sprzętu w systemie Windows 2000. Omówionych zostanie również kilka aspektów występowania problemów sprzętowych, które w pewnych sytuacjach mogą bardzo utrudnić życie administratorom systemu.

Standardy sprzętowe

Większość informacji zawartych w tym rozdziale dotyczy różnych standardów sprzętowych, które są implementowane albo wspomagane przez system Windows 2000. Lista 150 standardów sprzętowych wspomaganych przez Windows jest dostępna pod adresem msdn.microsoft.com/standards/top150/hardware.asp

Do Redaktora Prow: co z tym adresem?????

.

Funkcjonalne przedstawienie
architektury Windows 2000

Temat należy zacząć od omówienia budowy systemu Windows 2000. Szczególną uwagę zwrócimy na stabilność i wydajność pracy systemu, uwzględniając alokację i ochronę pamięci, zabezpieczenie procesów, obsługę wejść-wyjść komputera oraz system Plug and Play. Pozostałe aspekty architektury Windows 2000 zostały przedstawione w kolejnych rozdziałach książki. Przykładowo rozdział 15. „Zarządzanie zasobami udostępnionymi” omawia architekturę systemu drukowania w Windows 2000.

Alokacja pamięci

Windows 2000 jest 32-bitowym systemem operacyjnym. W związku z tym może bezpośrednio adresować 232 bajtów pamięci (około 4 GB). Czterogigabajtowy obszar adresowania jest podzielony na dwie części. Obszar górnych 2 GB jest przeznaczony dla systemu operacyjnego i jest nazywany pamięcią jądra systemu, natomiast obszar dolnych 2 GB został przeznaczony dla aplikacji i jest nazywany pamięcią użytkownika. Oddzielenie obszaru pamięci jądra od pamięci użytkownika ma za zadanie wyeliminowanie wpływu aplikacji na poprawność pracy systemu. Dzięki temu nieprawidłowe zachowanie aplikacji nie powinno spowodować awarii systemu operacyjnego.

Rzadko się zdarza, że komputer posiada 4 GB fizycznej pamięci. Jeżeli jednak zdarzy się taka sytuacja, Windows 2000 korzysta z całego czterogigabajtowego obszaru adresowania. Menedżer pamięci wirtualnej VMM (Virtual Memory Manager) korzysta ze specjalnej właściwości procesorów x86 — mapowania wirtualnych adresów do adresów fizycznych.

VMM nie przeprowadza tylko jednego mapowania pamięci. Dla każdego osobnego procesu przeznacza 4 GB pamięci i za każdym razem obszar pamięci jest dzielony na pamięć jądra i pamięć użytkownika. Dzięki temu procesy mapowania są w gruncie rzeczy niezależne od siebie. Przykładowo prezentacja slajdów wykonana w programie PowerPoint może nie mieć pojęcia, że korzysta z fizycznej pamięci sąsiadującej z obszarem wykorzystywanym przez wykres Gantta wygenerowany przez aplikację Primavera.

Aplikacje DOS również otrzymują własny obszar pamięci dzięki specjalnej części 32-bitowego kodu nazywanego NT Virtual DOS Machine (NTVDM.EXE). Program NTVDM tworzy dla aplikacji DOS 16-bitowe wirtualne środowisko, które emuluje wywołania funkcji BIOS i obsługę pamięci na standardowym komputerze DOS. Udostępnia również program interpretujący 16-bitowe polecenia, podobny do programu COMMAND. Istnieje także możliwość konfiguracji programów rezydentnych TSR (Terminate-and-Stay-Resident), aby współużytkowały ten sam obszar pamięci, jak w przypadku komputera DOS. Więcej szczegółów na ten temat znajdziesz w rozdziale 16. „Zarządzanie środowiskiem operacyjnym użytkownika”.

16-bitowe aplikacje Windows stanowią wyjątek od zasady korzystania z osobnego obszaru pamięci wirtualnej. Aplikacje Win16 zostały zaprojektowane do używania wspólnego obszaru pamięci. Windows 2000 przystosował tę właściwość w taki sposób, że udostępnił podsystem Windows-on-Windows (WOW), w którym aplikacje Win16 mogą wspólnie rezydować. Rozdział 16. zawiera więcej szczegółowych informacji na ten temat.

Pliki stronicowania

Menedżer pamięci wirtualnej byłby bardzo „zapracowany”, gdyby musiał mapować każdy pojedynczy bajt pamięci fizycznej do pamięci wirtualnej. Aby zapobiec takiej sytuacji i zwiększyć wydajność systemu, utworzone zostały większe podgrupy pamięci. Zamiast śledzenia każdego bajtu, VMM podzielił pamięć na fragmenty zwane stronami. Stronicowanie jest funkcją sprzętową, a każda pojedyncza strona pamięci w architekturze x86 posiada 4 kB.

Pamięć fizyczna jest produktem niewystarczającym, a przydzielanie osobnego obszaru pamięci dla każdej aplikacji sprawia, że pamięć staje się jeszcze bardziej niewystarczająca. Aby zaradzić takiej sytuacji, VMM przenosi rzadko używaną pamięć na dysk. W tym celu menedżer pamięci wirtualnej korzysta ze specjalnego pliku PAGEFILE.SYS. Jest to superukryty plik, który można jednak zobaczyć zmieniając opcje folderu Tools(Narzędzia)|Folder options(Opcje folderu)|View(Widok). Należy usunąć zaznacze­nie opcji Hide Protected Operating System Files (Ukryj chronione pliki systemu operacyjnego).

Menedżer pamięci wirtualnej zawsze używa plików stronicowania, nawet wtedy, gdy komputer posiada więcej pamięci, niż jest to wymagane przez działające procesy. Jeżeli za bardzo zmniejszysz rozmiary pliku stronicowania, tak że będzie on mniejszy od dostępnej pamięci fizycznej, możesz otrzymać komunikat błędu Out of Virtual Memory (Brak pamięci wirtualnej).

Jeżeli plik stronicowania zostanie przypadkowo skasowany albo ulegnie zniekształceniu, system użyje tymczasowego pliku stronicowania i poprosi o utworzenie nowego pliku. Jeżeli użytkownik będzie upierał się przy korzystaniu z niewłaściwego pliku stronicowania, istnieje ryzyko pojawienia się niestabilnej pracy systemu oraz krytycznego zatrzymania pracy jądra. Więcej informacji na ten temat znajdziesz w adnotacji „Parametry pliku stronicowania”.

Parametry pliku stronicowania

Rozmiar i podział plików stronicowania może być zmieniany za pomocą okna System Properties (Właściwości systemu):

Procedura 3.1.

Zmiana konfiguracji pliku stronicowania

1.            Kliknij prawym przyciskiem myszy ikonę My Computer (Mój komputer), a następnie z wyświetlonego menu wybierz pozycję Properties (Właściwości). Wyświetlone zostanie okno System Properties (Właściwości systemu).

2.            Otwórz zakładkę Advanced (Zaawansowane).

3.            Kliknij przycisk Performance Options (Opcje wydajności).

4.            W części Virtual Memory (Pamięć wirtualna) kliknij przycisk Change (Zmień), aby wyświetlić okno Virtual Memory (Pamięć wirtualna), przedstawione na rysunku 3.1.

Rysunek 3.1.

Okno Virtual Memory (Pamięć wirtualna) przedstawiające domyślne ustawienia pliku stronicowania

Jeżeli chcesz zmienić rozmiar istniejącego pliku, zaznacz dysk, a następnie zmień ustawienia w polach Initial size (Rozmiar początkowy) i Maximum size (Rozmiar maksymalny). Jeżeli chcesz utworzyć dodatkowy plik stronicowania na drugim dysku, zaznacz dysk, a następnie wprowadź wartości dotyczące rozmiaru pliku. Poniżej przedstawione zostały ograniczenia rozmiaru pliku:

n   Maksymalny rozmiar pliku: 4095 MB.

n   Maksymalna ilość plików stronicowania: 16 — jeden plik na każdej partycji.

n   Domyślny rozmiar pliku: RAM+64 MB.

Parametry rejestru: HKLM|System|CurrentControlSet|Control|Session Manager|Memory Management.

Konfigracja pamięci wirtualnej: Wszystkie parametry rejestru są ustawione na 0, dając w ten sposób swobodę działania menedżerowi pamięci wirtualnej.

W przeciwieństwie do pliku wymiany (swap file) w Windows 3.x, plik stronicowania w Windows 2000 nie zajmuje zwartego obszaru dysku. W rzeczywistości bardzo łatwo można zmniejszyć wydajność pracy systemu poprzez fragmentację pliku stronicowania. W rozdziale 13. „Zarządzanie systemami plików” znajdziesz informacje dotyczące ograniczenia fragmentacji pliku stronicowania.

Obszary pamięci jądra

Aby zapobiec nadmiernemu pochłanianiu pamięci fizycznej systemu operacyjnego przez aplikacje użytkownika, pamięć przeznaczona na procesy jądra została oddzielona od reszty.

Pamięć fizyczna jest alokowana dla jądra w postaci dwóch obszarów: stronicowanego (paged pool) i nie stronicowanego obszaru (non-paged pool) pamięci. Pamięć w obszarze stronicowanym może być przemieszczana do pliku stronicowania, natomiast pamięć w obszarze nie stronicowanym musi pozostać w pamięci RAM.

Powinieneś regularnie przeglądać statystyki zużycia pamięci jądra, aby odpowiednio wcześnie zauważyć braki pamięci. Więcej informacji na ten temat znajdziesz w części „Śledzenie użycia pamięci jądra” znajdującej się na końcu tego rozdziału.

Stronicowany obszar pamięci

Całkowita pamięć przypisana do obszaru stronicowanego jest oparta na dostępnej pamięci fizycznej. Bez względu na pamięć RAM, obszar posiada ograniczenie do 192 MB.

Jeżeli system wykroczy poza stronicowany obszar pamięci, jego praca może być niestabilna — w takiej sytuacji wyświetlony zostanie komunikat błędu Out Of Resources (Brak zasobów) albo błędu wywołania zdalnej procedury. Sytuacja taka może pojawić się nawet wtedy, gdy komputer posiada dużą ilość pamięci fizycznej. Najczęstszym powodem takiego zachowania jest duży rejestr systemowy. Gdy rejestr zabierze 80% pamięci obszaru stronicowanego, niewiele miejsca pozostanie dla innych procesów.

Rejestr systemowy w Windows 2000 nie zawiera już kont użytkowników i grup. Wszyst­kie tego typu informacje przechowywane są w usłudze Active Directory. Dlatego też ilość problemów związanych z rejestrem w dużym stopniu powinna zostać zredukowana po aktualizacji kontrolera domeny.

Nie stronicowany obszar pamięci

Całkowity rozmiar pamięci przypisanej do obszaru nie stronicowanego bazuje na wielkości obszaru stronicowanego. Bez względu na wielkość dostępnej pamięci fizycznej, obszar nie stronicowany posiada ograniczenie do 128 MB. Dwa obszary zajmują wspól­ną pamięć i razem nie mogą przekraczać 256 MB.

Istnieje możliwość przejrzenia stronicowanego i nie stronicowanego obszaru pamięci za pomocą narzędzia Task Manager (Menedżer zadań). Kliknij prawym przyciskiem myszy na pasku zadań, a następnie z wyświetlonego menu wybierz pozycję Task Manager (Menedżer zadań). Otwórz zakładkę Performance (Wydajność) i zwróć uwagę na część Kernel Memory (Pamięć jądra). Na rysunku 3.2 został przedstawiony przykład okna menedżera.

Rysunek 3.2.

Okno Task Manager (Menedżer zadań) przedstawiające zużycie pamięci jądra

Użycie nie stronicowanej pamięci jest stale monitorowane, gdyż pamięć ta nie może zostać przemieszczona na dysk — dlatego też jest bardzo kosztownym zasobem. Pamięć nie stronicowana jest zarezerwowana dla procesów, które nie mogą być narażone na awarie (jak np. obsługa przerwań — ISR).

Aplikacje mogą wymagać pamięci nie stronicowanej, jakkolwiek Microsoft bardzo niechętnie przygląda się temu wymogowi, gdyż rezultatem tego może być załamanie systemu operacyjnego. Nie jest to oczywiście powszechny problem, lecz może się przydarzyć podczas ładowania i usuwania aplikacji z pamięci. Tego typu wycieki pamięci zdarzają się niezmiernie rzadko, lecz w momencie pojawienia się mogą spowodować wiele poważnych problemów.

Wycieki pamięci

Przedstawiony zostanie teraz przykład wycieku niestronicowanej pamięci w systemie NT4. Gdy klient uzyskuje dostęp do serwera, serwer zatwierdza uwierzytelnienie użytkownika poprzez sprawdzenie tożsamości w kontrolerze domeny. Serwer nie jest jednak „uwalniany” z nazwy ostatniego kontrolera domeny, z którym się komunikował. Dlatego też wraz z upływem czasu dostępna pamięć serwera członkowskiego będzie malała, aż osiągnie rozmiar, który będzie istotnie wpływał na poprawność działania aplikacji i usług. Problem ten został rozwiązany w pakiecie Service pack 4.

Tuning 4 GB pamięci

Podział pamięci na dwa obszary po 2 GB jest całkowicie dowolny (podobnie jak w przy­padku ograniczeń 640 kB w systemie DOS). Linia pomiędzy obszarem pamięci jądra i użytkownika została narysowana w połowie, aby umożliwić używanie prostego algorytmu bitu przeznaczonego do oznaczania stron należących do użytkownika albo do jądra (patrz rysunek 3.3).

Rysunek 3.3.

Diagram opcji alokacji wirtualnej pamięci
dla różnych wersji Windows 2000 Server

W 1983 roku ograniczenie pamięci aplikacji DOS do 640 kB wydawało się być w zupełności wystarczające. Jednak wraz z pojawianiem się nowych produktów na rynku komputerowym, użytkownicy zaczęli powoli zauważać braki zasobów. Obecnie sytuacja wygląda bardzo podobnie z ograniczeniem pamięci do 2 GB. Problem nie dotyczy tylko rozmiarów pamięci fizycznej, lecz jest również ściśle związany z możliwościami płyt głównych. Wydaje się, że bardzo pomocnym rozwiązaniem mogłoby być znalezienie standardu produkcyjnego dla komputerów, które mogłyby zarządzać 4 GB pamięci.

Zważywszy na stosunkowo wysokie ceny pamięci, zakup 4 GB byłby bardzo kosztowny. Udostępnianie systemowi operacyjnemu pamięci powyżej 2 GB byłaby stratą pieniędzy, gdyż większość jej obszaru pozostałaby niewykorzystana. Jeżeli pracujesz w Windows 2000 nie ma sensu zaopatrywać komputer w więcej niż 2 GB pamięci, gdyż testy szybko uwidocznią, że korzyści są naprawdę znikome.

Z drugiej strony, jeżeli posiadasz aplikację zdolną do korzystania z pamięci przekraczającej 2 GB, Windows 2000 Advanced Server udostępnia opcję zwaną Tuning 4 GB pamięci (4 GB Memory Tuning), która kosztem pamięci systemu operacyjnego przeznacza dla aplikacji dodatkowy 1 GB pamięci fizycznej. Właściwość ta polega na implementacji innej metody znakowania stron. Aby móc korzystać z tuningu pamięci, niezbędny jest zakup ponad 2 GB pamięci. Dlatego też nie planuj zakupu systemu Advanced Server, zanim nie zdecydujesz się na wydanie dodatkowych pieniędzy na pamięć.

RAM i cache L2

Menedżer wirtualnej pamięci w Windows 2000 używa pamięci cache L2 procesora do przechowywania map pamięci. Jeżeli dodasz zbyt wiele pamięci fizycznej względem rozmiaru pamięci cache drugiego poziomu, wydajność komputera może się znacznie obniżyć.

Microsoft nie przedstawił jeszcze żadnych zasad dobierania współczynnika odzwierciedlającego stosunek wielkości pamięci RAM do pamięci cache. Nieoficjalnie przyjmuje się jednak, że na każde 256 MB pamięci fizycznej powinno przypadać 256 kB pamięci drugiego poziomu (cache L2). Nie jest zatem trudne do stwierdzenia, że komputer czerpiący korzyści z 4 GB pamięci powinien bazować na procesorach równoległych. Możesz rozważyć zakup czterech procesorów Xeon z 1 MB cache L2 albo dwóch z 2 MB pamięci cache.

Address Windowing Extensions

Podział pamięci na dwa obszary po 2 GB nie jest jedynym ograniczeniem. Otóż 32-bi­towa notacja adresowania zaczyna być powoli przestarzała. Ośmioprocesorowe serwery (Xeon) z 16 GB pamięci mieszczą się już powoli w rozsądnych granicach cenowych. Potężne korporacje, np. Data General, korzystają z systemów wyposażonych w 64 procesory i 64 GB pamięci RAM. Pracując na tego typu komputerach, 4 GB pamięci wyglądają nieco śmiesznie.

Procesory Pentium mogły zawsze adresować pamięć wykraczającą poza 4 GB za pomo­cą właściwości rozszerzenia adresu fizycznego (PAE — Physical Address Extensions). PAE udostępniała 36-bitowe adresowanie, umożliwiając utrzymanie 64 GB pamięci fizycznej. Intel przez bardzo długi czas udostępniał pakiet zawierający narzędzie PSE36, które umożliwiało czerpanie korzyści z właściwości PAE. Zadaniem PSE36 była konfiguracja całej pamięci powyżej 4 GB jako dużego dysku RAM, dzięki czemu system mógł używać pamięci jak pliku stronicowania.

Windows 2000 Advanced Server i DataCenter Server lepiej wykorzys...

Zgłoś jeśli naruszono regulamin