|
|
|
|
|
|
|
|
rosly
rosly: "Pozwolę sobie skomentować ten artykuł: 'Otóż system podczas
uruchamiania jakiegoś programu (pliki .exe), kopiuje całą jego zawartość do
pamięci RAM' - nie jest to prawda. Windows mapuje części pliku ELF do
pamięci wirtualnej, to czy konkretna strona pliku znajdzie się w danej chwili
w RAM zależy od tego czy będzie do niej odwołanie. Generalnie strony pamięci
procesu nie znajdują się tylko w RAM lub pliku wymiany jak sugeruje artykuł.
'Drugi mój argument przemawiający za używaniem narzędzi tego typu to
fragmentacja pamięci RAM. Programy podczas swojej normalnej pracy rezerwują
sobie często jakiś kawałek pamięci (często są to pokaźne rozmiary kilku
MB). Ponieważ system musi gdzieś to wszystko upchnąć, często dane są
porozrzucane (nie są ułożone po kolei), i ich odczyt trwa dłużej. Natomiast
gdy system po 'czyszczeniu' RAM'u przez Fast Ram Cleaner'a kopiuje tylko
potrzebne mu dane z pliku wymiany, kopiuje je do pamięci po kolei.' - Po
pierwsze żaden proces z przestrzeni użytkownika nie możne ot tak sobie
modyfikować pamięci innego procesu, a już na pewno decydować o tym które
strony pamięci powędrują do SWAP. Aby coś takiego wykonać musiał by
istnieć jakiś kod dołączany dynamicznie do jadra , wykonywany w trybie
jadra, którego autor znal by budowę i zasadę działania jadra windows.
Podejrzewam ze firma Microsoft nie rozpowszechnia takich informacji a pisanie
takiego kodu bez dokumentacji jest niemożliwe. Na pewno tez nie istnieje
coś takiego jak defragmentacja pamięci procesu. Oczyszczanie pamięci proces
możne wykonać wyłącznie na sobie, takimi założeniami kierują się języki
programowania jak C# czy Java. Ich budowa opiera sie o allokowanie pamięci
przez specjalne elementy opakowujące które są modyfikowane przez odsmiecacz
pamięci. Na poziomie proces-jadro nie ma takiego mechanizmu. Jadro żongluje
stronami pamięci w miarę potrzeb przerzucając stare (dawno nie używane)
strony do SWAP w nadziei iz proces nie będzie ich w tej chwili potrzebował i
robi to tylko wtedy gdy musi przywrócić inna aktualnie potrzebna stronę (lub
inne przypadki allokacji nowych zasobów) Programy które opisałeś
działają w następujący sposób. Allokuja bardzo duzy obszar pamięci tak ze
jadro musi niemal wszystkie strony przenieść do SWAP następnie program
zwalnia ta pamięć. Wtedy system zaczyna znowu działać normalnie (pozwoliłem
sobie nazwać tak dalsze działanie systemu ... klikasz w programy które
używasz ... generalnie coś się dzieje) i jadro powolutku ściąga ze SWAP
tylko te strony pamięci które są w tym momencie potrzebne. Przez chwile masz
wrażenie ze system ma więcej wolnej pamięci bo wskaźnik w managerze zadań
mówi ci ze ilość stron oznaczonych jako nie używane jest wysoka. Nie ma to
żadnego znaczenia ponieważ ilekroć jakiś proces będzie odwoływał się do
strony która leży w tym momencie na SWAP tylekroć będzie zachodził odczyt i
wymiana strony." do artykułu Dlaczego opłaca się używać aplikacji zajmujących się zarządzaniem pamięcią RAM. (24/07/2008)
|
Akcje
Informacje podstawowe
Login: rosly
Ranga: 
Ost. logowanie: 24/07/2008
Zarejestrowano: 24/07/2008
Statystyki
| Punkty: |
6 |
|
|
|
|
| Odwiedziny profilu: |
146 |
| Przeczytane artykuły: |
3 |
| Ocenione artykuły: |
1 |
| Komentarze: |
2 |
|
|
© 2005-2010 grupa EIOBA. Wrocław, Polska
|