Zarzadzanie pamiecia, systemy



Zarządzanie pamięcią

Poniżej przedstawiono informacje o różnych rodzajach wykorzystywanej w komputerze pamięci. Pamięć można dostosować, optymalizować oraz rozwiązywać problemy z konflik­tami pamięci, które mogą spowodować awarie systemu. Omówiono następujące tematy:

Rodzaje pamięci

System operacyjny działający w komputerze wykorzystuje pamięć fizyczną i pamięć wirtualną. Pamięć fizyczna, zwana RAM, jest również określana jako pamięć systemowa. Pamięć systemową w działającym systemie można podzielić na cztery kategorie; pamięć konwencjonalną, wyższą, górną i rozszerzoną.

Taki logiczny podział pamięci został oryginalnie stworzony, ponieważ MS-DOS i wczesne mikroprocesory IBM PC miały maksymalny rozmiar pamięci 1 MB. Pamięć ta była podzielona na dwie części. Pierwsze 640 kB było przeznaczone dla użytkownika i systemu operacyjnego, a następne (pamięć wyższa) 384 kB było przeznaczone dla BIOS-u i programów narzędziowych. Ponieważ system Windows 9x jest zbudowany na bazie MS-DOS-a, obsługuje on różne rodzaje specyfikacji pamięci fizycznej wywodzące się z IBM PC i jego wielu następców. W tym podrozdziale omówiono specyfikacje pamięci fizycznej, a w następnym omówiono pamięć wirtualną. Rysunek 4.13 ilustruje przydział (alokację) pamięci fizycznej.

Pamięć konwencjonalna

0x08 graphic
Pamięć konwencjonalna obejmuje wszystkie adresy pamięci pomiędzy 0 i 640 kB. Jest zwana również pamięcią podstawową. Jest to obszar, w którym normalnie działają programy MS-DOS. W starszych komputerach z systemem DOS jest to jedyny obszar pamięci dostępny do uruchomienia systemu operacyjnego, aplikacji, programów rezydent-nych i sterowników urządzeń. Programy rezydentne obejmują programy typu TSR (ang. tenninate-and-stay-resident - zakończ i pozostaw w pamięci), takie jak sterowniki myszy lub napędu CD-ROM. Rysunek 4.14 ilustruje przydział pamięci konwencjonalnej.

Rysunek 4.13. Przydział pamięci fizycznej

0x08 graphic

Rysunek 4.14. Przydział pamięci konwencjonalnej

Pamięć wyższa, czyli pamięć rozszerzona

Znana również jako pamięć zarezerwowana, pamięć wyższa obejmuje adresy z zakre­su 640 kB i 1024 kB (1 MB). Pamięć ta znajduje się za pamięcią podstawową, ma rozmiar 384 kB i jest dostępna w formie bloków pamięci wyższej UMB (Upper Memory Błock). Programy działające w tym zakresie pamięci to BIOS systemowy, BIOS PnP, BIOS karty graficznej i pamięć wideo. W zależności od systemu, od 96 kB do 160 kB przestrzeni pamięci nie jest używane przez sprzęt; adresy te są dostępne tylko wtedy, gdy występuje właściwy menedżer pamięci, taki jak EMM386.EXE, zainstalowany podczas procesu roz­ruchu. Rysunek 4.15 przedstawia przydział pamięci wyższej i pamięci rozszerzonej.

Pamięć rozszerzona jest kolejnym obszarem pamięci podobnym do pamięci wyższej. Pamięć ta jest również określana jako EMS (Expanded Memory Specification). Dostęp do niej odbywa się poprzez strony o wielkości 16 kB, zawarte w ramkach 64 kB. Strony te są ustanowione w niewykorzystanych blokach UMB. Podstawowym sterownikiem umożli­wiającym korzystanie z pamięci EMS jest program EMM386.EXE. Program ten uwalnia pamięć konwencjonalną pozwalając, aby niewykorzystane obszary pamięci zarezerwowa­nej były używane przez sterowniki DOS i programy rezydentne.

0x01 graphic

Rysunek 4.15. Przydział pamięci wyższej/ rozszerzonej

Pamięć rozszerzona

Mikroprocesory 80286 i ich tryb pracy chronionej pozwalały na dostęp do fizycznej pamięci powyżej ograniczenia 1 MB dla mikroprocesorów 8088 i 8086. Pamięć powyżej tego adresu jest ogólnie określana jako pamięć rozszerzona. Jest ona również określana jako pamięć XMS (Extended Memory Specification). XMS jest podstawowym obszarem pamięci używanym przez Windows 9x. Obszar tej pamięci jest kontrolowany przez ste­rownik XMS o nazwie HIMEM.SYS, ładowany przez system Windows 9x. Udostępnia on ten rodzaj pamięci dla systemu Windows 9x oraz innych kompatybilnych z MS-DOS pro­gramów. Na rysunku 4.16 przedstawiono przydział pamięci rozszerzonej.

Pamięć górna

Po wczytaniu sterownika XMS i udostępnieniu pamięci rozszerzalnej systemowi ope­racyjnemu, pierwsze 64 kB tej pamięci nazywane jest obszarem pamięci górnej HMA (High Memory Area). HIMEM.SYS zazwyczaj aktywuje opcję DOS=HIGH, która umoż­liwia załadowanie jądra MS-DOS używanego przez Windows 9x do pamięci HMA. DOS używa pamięci HMA, co uwalnia pamięć konwencjonalną dla aplikacji.

0x01 graphic

Rysunek 4.17. Przydział pamięci górnej

Narzędzia zarządzania pamięcią: dostosowanie i optymalizacja pamięci systemowej

Do zarządzania i optymalizacji pamięci wykorzystuje się kilka narzędzi. Opis tych na­rzędzi oraz sposób, w jaki są używane, wyjaśniony jest w tym podrozdziale.

EMM386.EXE

Menedżer pamięci EMM386.EXE emuluje pamięć rozszerzoną i udostępnia pamięć wyższą do wykorzystania przez system operacyjny. Menedżer pamięci może być użyty w następujący sposób:

• Aby wczytać narzędzia TSR do pamięci wyższej, należy w pliku CONFIG.SYS dołączyć poniższy wiersz:

DEVICE=c:\WINDOWS\EMM386.EXE NOEMS

Opcja NOEMS mówi systemowi operacyjnemu, aby nie konwertował pamięci rozszerzonej na pamięć rozszerzalną. Jest to pokazane na rysunku 4.18.

0x08 graphic
0x01 graphic

Rysunek 4.18. Ładowanie programów TSR do bloków UMB

Aby udostępnić obszar UMB dla programów TSR, plik IO.SYS dodaje następujący zapis do konfiguracji pamięci:

DOS=UMB

• Aby wczytać aplikacje MS-DOS, które potrzebują dostępu do pamięci EMS, należy dodać następujący wiersz w pliku CONFIG.SYS:

DEVICE=C:\WINDOWS\EMM386.EXE RAM

Zapis ten, przedstawiony na rysunku 4.9, konwertuje obszar pamięci XMS na wspólną pulę pamięci XMS/EMS dostępną zarówno dla aplikacji Windows, jak i DOS. Zauważ również, że dodany został zapis DOS=UMB przez IO.SYS, aby nieużywane bloki UMB dostępne były dla programów TSR.

0x01 graphic

Rysunek 4.19. Ładowanie aplikacji MS-DOS z dostępem do pamięci EMS

HIMEM.SYS

Wczytaj sterownik HIMEM.SYS, aby skonwertować pamięć rozpoczynającą się od 1 MB, która jest dostępna jako pamięć XMS albo pamięć rozszerzona. Sterownik ten jest wczytywany z pliku CONFIG.SYS. Składnia tego polecenia jest następująca:

DEVICE=C:\DOS\HIMEM.SYS

DOS=HIGH

Opcja DOS=HIGH, dodawana do pliku CONFIG.SYS, mówi systemowi operacyjne­mu, aby przesunął swoją część (jądro MS-DOS) do obszaru pamięci górnej. Opcja DOS=HIGH jest często łączona z opcją DOS=UMB, mówiącą systemowi, aby utworzył blok pamięci wyższej. Polecenie to używa poniższej składni:

DOS=HIGH, UMB

DEVICEHIGH/LOADHIGH

Opcja DEVICEHIGH (używana w pliku CONFIG.SYS) oraz opcja LOADHIGH (używana w pliku AUTOEXEC.BAT) umożliwiają korzystanie z utworzonych w pamięci wyższej bloków zaraz po tym, jak zostaną wczytane pliki HIMEM.SYS oraz EMM386.EXE. Aby wczytać sterownik myszy do pamięci wyższej, użyj poniższej składni:

DEVICEHIGH=C:\DOS\MOUSE.SYS

Inne narzędzia pamięci systemowej obejmują np. program MemMaker, włączony do systemu MS-DOS 6.0, aby uprościć zadanie umieszczenia programów TSR w pamięci wyższej. Użyj tego narzędzia, aby utworzyć potrzebne wpisy w plikach CONFIG.SYS i AUTOEXEC.BAT.

Pozostałe rodzaje pamięci

Dysk RAM oraz pamięć wirtualna to dwa pozostałe, ważne rodzaje pamięci. Utwo­rzenie dysku RAM i korzystanie z pamięci wirtualnej może podnieść ogólną wydajność systemu, ale zmniejsza dostępną przestrzeń fizyczną.

Pamięć wirtualna: plik wymiany oraz plik stronicowania

Pamięć wirtualna to pamięć, która nie jest tym, czym wydaje się być. Przestrzeń na twardym dysku jest w tym wypadku używana, tak jakby była pamięcią RAM. Połączenie pamięci wirtualnej i fizycznej daje złudzenie, że dostępne jest więcej pamięci niż w rze­czywistości jest zainstalowane. Pamięć wirtualna jest podstawą wielozadaniowości w Win­dows 9x. Bez pamięci wirtualnej trudno byłoby używać wielu współczesnych wersji opro­gramowania. Windows 3.x i 9x implementują pamięć wirtualną w plikach zwanych plika­mi wymiany. Oprogramowanie zwane menedżerem pamięci albo jednostką zarządzania pamięcią (MMU - Memory Management Unit) tworzy pamięć wirtualną przez wymianę plików pomiędzy pamięcią RAM a twardym dyskiem (patrz rysunek 4.20). Technika ta two­rzy większą ilość pamięci całkowitej, dostępnej do wykorzystania przez programy.

0x08 graphic
Uwaga

Ponieważ twardy dysk jest wolniejszy od pamięci RAM, występuje całkowity spadek wydajności systemu z powodu wykonywania operacji z pamięcią wirtualną. Pamięć ta jest najwolniejszym rodzajem pamięci.

0x08 graphic
Większość systemów operacyjnych od czasu Windows 3.x używa jakiejś formy dzia­łań na pamięci wirtualnej. Dotyczy to Windows 9x, NT, 2000 i XP, a także UNIX-a i Linuksa. Wiele starszych systemów operacyjnych korzystało ze stałego pliku wymiany z rozszerzeniem PAR. Obecne systemy operacyjne używają tymczasowego pliku wymiany o rozszerzeniu SWP. Stały plik wymiany jest zawsze obecny i posiada stały rozmiar.
Tymczasowy plik wymiany ma zmienny rozmiar i jest tworzony, gdy system Windows
jest uruchamiany. Kontrola operacji na pamięci wirtualnej w systemie Windows 95, 98 i Me jest ustanowiona w menu Start, Ustawienia, Panel sterowania, poprzez wybranie
ikony System i karty Wydajność, jak na rysunku 4.21.

0x01 graphic

Rysunek 4.20. Pamięć wirtualna

0x01 graphic

Rysunek 4.21. Karta Wydajność Systemu w Panelu Sterowania

Po kliknicciu przycisku „pamięć wirtualna" zostanie otwarte okno „Opcje pamięci wirtualnej". Ustawieniem domyślnym jest „Pozwól systemowi Windows zarządzać usta­wieniami pamięci wirtualnej (zalecane) ", jak na rysunku 4.22.

0x08 graphic
Ostrzeżenie

Lepiej pozwolić systemowi Windows zarządzać pamięcią wirtualną, ponieważ błędne ustawienia mogą szkodliwie wpłynąć na wydajność systemu.

0x08 graphic
Plik wymiany w Windows 95 jest nazwany WIN386.SWP. Plik ten jest automatycznie przypisywany, a jego rozmiar jest zmienny. Plik wymiany lub plik stronicowania Win­dows 2000 nosi nazwę PAGEFILE.SYS. Jest on tworzony podczas instalacji systemu Windows jest instalowany. Jego domyślny rozmiar jest półtora razy większy od dostępnej pamięci RAM zainstalowanej w systemie.

0x01 graphic

Rysunek 4.22. Kontrolowanie pamięci wirtualnej w systemie Windows

Dyski RAM

Wyznaczenie części pamięci RAM do emulowania napędu powoduje utworzenie tzw. dysku RAM. Na przykład na maszynie, która posiada dysk twardy podzielony na dwie partycje C i D, można utworzyć dysk RAM o wielkości 4MB (4096 kB), oznaczony jako napęd E, za pomocą następującego polecenia:

DEVICE=C:\DOS\RAMDRIVE.SYS 4096

Polecenie to zapisuje się w pliku CONFIG.SYS. Dysk RAM staje się następnym do­stępnym napędem i może mieć dowolny rozmiar, ograniczony przez zainstalowaną w systemie pamięć RAM. Ponieważ dane są przechowywane wyłącznie w pamięci RAM są one tracone podczas każdego restartu systemu. Wypływa stąd wniosek, aby nie prze­chowywać plików danych na dysku RAM.

Konflikty pamięci: ogólne błędy ochrony

Konflikt pamięci może być spowodowany przez kilka czynników. Powodem mogą być dwa menedżery pamięci, działające równocześnie, np. menedżery producentów ze­wnętrznych i z MS-DOS. Narzędzia diagnostyczne, takie jak Microsoft Diagnostics (MSD), mogą zdiagnozować tego typu problemy.

Konflikty pamięci mogą prowadzić do ogólnych błędów ochrony (ang. General Pro-tection Fault, GPF). Rysunek 4.23 przedstawia przykład błędu GPF, zwanego również „błękitnym ekranem śmierci" (ang. blue screen ofdeath). Oznajmia on, że zdarzył się błąd i przedstawia listę opcji dostępnych użytkownikowi. Najczęściej najlepszym wyborem jest ponowne uruchomienie systemu.

0x01 graphic

Rysunek 4.23. Ogólny błąd ochrony

Błędy GPF zostały wprowadzone w 16 bitowym systemie Windows 3.x, wykorzysty­wanym przez aplikacje 16 bitowe. Do błędu ochrony dochodzi najczęściej, gdy aplikacja próbuje naruszyć integralność systemu w jeden z poniższych sposobów:

0x01 graphic

Rysunek 4.24. Przykładowy komunikat ogólnego błędu ochrony

Pozostałe sytuacje konfliktowe występują, gdy wiele programów rezydentnych, takich jak TSR, próbuje uzyskać w tym samym momencie dostęp do tego samego adresu lub przestrzeni adresowej w pamięci wyższej. GPF najczęściej przejawia się zawieszeniem systemu lub programu. Rysunek 4.24 pokazuje komunikat błędu generowany, gdy po­wstanie błąd ochrony. Narzędzia diagnostyczne mogą dostarczyć diagnozy tych konflik­tów. Po określeniu konfliktowej aplikacji problem może zostać rozwiązany przez ponow­ne przypisanie różnych obszarów pamięci za pomocą różnych narzędzi zarządzania i optymalizacji pamięci, opisanych wcześniej w tym rozdziale.

1



Wyszukiwarka

Podobne podstrony:
2006 08 Zarządzanie pamięcią w systemach operacyjnych [Inzynieria Oprogramowania]
SO Zarządzanie pamięcią w systemach operacyjnych
8 Systemy Operacyjne 21 12 2010 Zarządzanie Pamięcią Operacyjną
9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2
Zarządzanie procesowe i systemowe
Analiza Ryzyka w zarządzaniu projektami systemów
zarządznie pamięcią
ściąga zarządzanie jakością, Systemy Zarządzania Jakością
Zestaw D Zarządznie?nymi infomacyjnymi?zy?nych Systemy informatyczne Zarządznie Projektami (2)
Rola i miejsce zarządzania strategicznego w systemie zarządzania Jednostek Samorządu Terytorialnegox
ZARZĄDZANIE PROCESOWE I SYSTEMOWE
Zarządzanie informacją - systemy CRM, ŚCIĄGI Z RÓŻNYCH DZIEDZIN, zarzadzanie
Rachunkowość zarządcza - ściąga , Rachunkowość zarządcza to system gromadzenia, klasyfikacji, agrega
C Wyklady, Zarzadzanie Pamiecia
C Wyklady Zarzadzanie Pamiecia

więcej podobnych podstron