Uz jsem to popisoval. Nedojde k uvolneni pameti, pouze k presunu obsahu fyzicke pameti do swapu + uvolneni DLL knihoven.
Normalne to funguje tak (z pohledu systemu):
- dokud mam dostatek pameti, budu ji vyuzivat a nebudu zbytecne pouzivat odkladaci prostor na disku
- jakmile mi zacne fyzicka pamet dochazet, uvolnim si i tim, ze odlozim veci, ke kterym se uz delsi dobu nepristupovalo do odkladaciho prostoru
- sdilene DLL knihovny necham v pameti, protoze by je mohly vyuzivat i dalsi aplikace. Tim zrychlim jejich beh, protoze je nebudu muset hledat na disku a natahovat.
- pokud mi zacne dochazet pamet, uvolnim DLL knihovny, ke kterym uz jsem dlouho nepristupoval
Defragmentator udela to, ze vynuti odlozeni obsahu RAM do odkladaciho prostoru a uvolni DLL knihovny. Takze opticky udela to, ze ti uvolni pamet, ale v podstate nedela nic jineho nez sam operacni system.
Na Windows 98 sdilely aplikace pamet spolecne. Mohlo dochazet k jeji fragmentaci a postupnemu obsazovani aplikacemi, ktere neuvolnovaly, co si alokovaly. Tady ty programy mely smysl.
Na Windows NT (W2k, WinXP) ma kazda aplikace pridelen svuj vlastni pametovy prostor. Pri jejim ukonceni dojde k jeho uvolneni, mimo sdilene DLL knihovny.