Знайте, Intuit, лекция, функционираща мениджър памет

Писане, съставянето и изпълнението на информацията за обмен програма, чрез споделено буферна памет с помощта на областта на разтоварване система

Препоръчително е да се измени предишната програма за предаване на информация чрез споделена памет фрагмент прогнозира, че няма нормален файл, както и района на система за разтоварване. За да направите това, като параметър на функция ЕВРОВОК CreateFileMapping файл трябва да се посочи INVALID_HANDLE_VALUE.

физическата памет

Физическа (в този случай RAM) памет и външна памет са описани като съответните структури от данни.

Windows OS поддържа до 4 GB (някои версии и повече) на физическата памет. Memory над 32 MB се счита за "висока". Размерът на паметта може да бъде видяна на "Ефективност" Task Manager. Информация за състоянието на физически страници на паметта и процесите са съучастници в PFN (брой рамка страница) на база данни, както и използването на външна памет чрез повиканата файлове или да качвате файлове.

Файл за виртуална памет за разлика от файлове прогнозираните в съхранение, дръжте само променените страници, които по някакви причини, зачервена на диск. Страници, които съдържат програмен код, показани в паметта директно от изпълними файлове и не се съхраняват в цялата система на файлове качване.

Структурата на системата пейджъра без документи файлове. Известно е, че системата може да бъде до 16 файловете за виртуална памет. Информация за файла за виртуална памет се намира под HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager за управление на \ Memory \ PagingFiles регистър, но ръководството на файла за виртуална препоръчва да аплета чрез "система" административна конзола. Всеки файл за виртуална памет е първоначална и максимален размер. За да се намали вероятността от фрагментация създаде максимален размер.

Полезна информация за използването на файл в страницата може да бъде получена чрез наблюдение на гишетата в "Ефективност", както и с помощта на диспечера на задачите. Например, "Bytes Page файла" контра показва общия брой на страниците, предавани.

Работните процеси комплекти

Според документацията за Microsoft Windows, работния набор от процес е съвкупност от физически страници. избрания процес. работи определен размер трябва да е в определени граници, определени константи на системата в зависимост от общата сума на физическата памет. Например, ако физическата памет е достатъчно, работния процес трябва да се намира в диапазона от 50 до 345 страници. Като привилегията да се увеличи Scheduling приоритет (за привилегиите виждат. Част V), тези стойности могат да се променят функция SetProcessWorkingSet.

Ако има неизправност страница и работната снимачната площадка на процеса не е превишил лимита (с е разрешено слабо натоварване на системата, дори и при надхвърляне на лимита), системата го идентифицира друг кадър във физическа памет. В противен случай, операционната система се опитва да замени страниците в работния набор от процеса (местен алгоритъм подмяна).

Развитието на работния набор от процеса може да се "види", като гледате броячи работна Set и др., Snap "Ефективност", както и с помощта на мениджъра и Pview комунални услуги задача Pviewer и др. Важно е да се разбере, че промяната е резултат от работните набори от нарушения на страници. които се случват в реалните страници за достъп до паметта. Обикновено селекция и предаване на паметта не е достатъчно.

Стартирайте програмата, илюстрираща увеличението на работната набор от процеса

Помислете лесна програма модификация DemoVM, като към операция за запис на един байт за всяка изпратена страница на паметта (DemoPageFaults.c програма).

Натрупването на работа настроен памет предава и размера се извършва чрез натискане на "Enter" ключ. Нека да разгледаме поведението на тезгяха "работен комплект" за процеси и DemoVM DemoPageFaults. Въпреки същото количество физическа памет се прехвърля, работещи в наборите се различават. В DemoVM той остава близо до нулата, докато процесът върви DemoPageFaults отбелязани поетапно увеличение на работната настроен (вж. Фиг. 10.5)

Знайте, Intuit, лекция, функционираща мениджър памет


Фиг. 10.5. Мониторинг на работните процеси комплекта

Замяната на страниците в работен набор от процеса - един от най-важните операции. Фактът, че намаляване на страницата честота fault`ov е един от системата за управление на основните задачи на паметта (например, е известно, че fault'a страницата вероятност 5 х 10 -7 е достатъчно, за да се разгради схема за ефективност пейджъра управление на паметта от 10%). , Решението на този проблем се дължи на замяната страница алгоритъм предпазлив избор. Ако стратегията за замяна е вярна, тогава паметта е само най-важната информация, която може да бъде необходима в близко бъдеще, и че не се нуждае от подмяна (по този въпрос, написани много книги, вижте. Например, [Карпов]).

В Windows използва алгоритми, FIFO (първи вход първия изход) във версията на мулти-процесор и LRU - в един процесор. В действителност не се прилага LRU. и неговото прилагане NFU (не се използва често), според която на страницата не се характеризира с рецепта, както и честотата на използване. Въпреки това, според документацията за Microsoft Windows, алгоритъмът извършва промяна на размера на работната снимачната площадка на този процес, той се нарича LRU. По отношение на алгоритъма FIFO, въпреки известни недостатъци, неговата употреба опростява обработката на връзки към страница от няколко процесора.

База данни PFN. пейджъра демони

По време на работа на операционната система се намира в физическа памет на работните набори от процеси, системи, работещи освободени фрагменти и др. За да се отчете състоянието на физическата памет се поддържа база данни PFN (номера на рамата страница). Това е таблица на записи с фиксирана дължина. Броят на записите в нея съвпада с броя на кадрите на страници.

Известно е, че подсистемата за виртуална памет работи продуктивно в присъствието на резерв от свободни рамки на страниците. След това, в случай на повреда на страница изисква само един диск операция (четене), както и безплатен страница може да се намери веднага. Алгоритми, които поддържат система в оптимално състояние, реализирани като част от фонови процеси (често наричани Демони или услуги), които периодично се "събуди" и да проверява състоянието на паметта. Тяхната задача - да се осигури достатъчен брой свободни страници, поддържане на системата в състояние на оптимална производителност.

Формално, всяка страница на физическата памет трябва да бъде част от работния набор или въведете един от поддържаните от базата данни, свързани списъци страници. Преместването на страници между списъци и групи от операционната система се осъществява демон потоци, които съставляват управителя на памет (вж. [Russinovitch]). демони настройки се съхраняват в HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management вписванията

Общото управление и изпълнение на общи правила извършва контрол памет мениджър работи комплекти (работни определен управител), който се нарича нишка система ядрото - корекция диспечер баланс - веднъж в секунда, или спад от свободна памет е под прага.