ПредишенСледващото

В предишната си статия споменах, че областите, VAS веднага може да бъде свързана с физическата памет, или след употребата на VirtualAlloc API. Подобно на повечето операционни системи, Windows свързва физическата памет на търсенето, за първи път на страница от областта VAS (това поведение се различава малко от тези случаи, когато не използвате суап файла и VAS страница веднага вързани към страницата физическа памет). В същото време се свързва само една страница. Когато за пръв път достъп до паметта идва от хардуер, по изключение се нарича липса на страницата. Изключение се обработват от Windows и операционната система проверява дали текущата секция на алармената система е фиксирана, с помощта на съответния раздел на тази структура - Virtual Адрес Descriptor (VAD). Ако определеното място, а то се провежда първото обаждане, операционната система ще намерите на физическата страница в паметта, която може да бъде за тази употреба (тя трябва да се има предвид, че тази страница ще бъдат предварително напълнена с нули преди той ще се използва, поради съображения за сигурност) , Най-накрая, след което той ще се свърже VAS сайт към страница, която е изпълнена с подходящи структури от данни, и тази информация ще бъде зареден в процесора, което ще продължи да работи с времето, когато повредата на страницата е била открита.

Поради недостатъчно RAM Windows може да реши да отнеме физическите страници в процеса. С помощта на политиката на самостоятелно корекция, операционната система ще търси празни страници. За да направите това, той проверява дали настоящата дата изображение на страницата на файла за виртуална памет на диска, и ако е необходимо, да започне издирване на хора за страниците, които ще го местят към файла за виртуална памет. След като страницата става на диска, така че операционната система може да бъдат създадени необходимите структури от данни, така че следващия адреса на страницата, той е бил известен от къде да я намеря. След това, физическата страница се запълва с нули и е маркирана в списъка на безплатните страници, за да бъдат използвани за бъдещи заявки за памет.

Използва се в Windows виртуална памет ви позволява да показвате по различно време на едни и същи физически страници на различна VAS на различни места. Физически страници, които могат да бъдат показани само на само на алармената система, наречени частни (частни физически страници), тъй като те не могат да бъдат разделени между множествена VAS. Физически страници, които са едновременно показани на номера на ВАС, наречени споделените физически страници (споделени физически страници).

Всички залегнало използване VirtualAlloc интерфейси * VAS парцели обвързани с физически страници, които не могат да бъдат разделени между различните алармената система. Те могат да се разглеждат частни физически страници. Сумата от всички частни физически страници в паметта и на диска се нарича частните байта (частни байта), ако се използва терминологията на Системният монитор, или размера на виртуална (или разпределят) памет, според терминологията на диспечера на задачите. Сумата от всички частни физически страници, които са в паметта, се нарича работа набор, който се показва като стойност на "заделяне на памет" (Памет) в лентата на състоянието на диспечера на задачите.

Както споменах по-рано, Windows зависимост от изискванията за физическа памет води до факта, че операционната система може да се оттегли от физическите страници от работния набор от процеса. Обикновено това се проявява под формата на виртуална памет. Операционната система е в състояние да предотврати обръщане на секциите на ВАС. По време на този заключващ механизъм, отговорен порции VAS във физически RAM. Както можете да предположите, приложението, което се опитва да блокира своите парцели на алармената система, може да дестабилизира цялата система. За изглаждане на този ефект, в Windows, привилегията по подразбиране "Заключване на страници в паметта" е изключен, поради което само онези приложения, които администраторът е дадено разрешение за това, може да блокира страниците в паметта. В допълнение, операционната система има способността да се, ако е необходимо, да се подложи на определени процеса на работа пейджинг изцяло.

Някои потребителски приложения трябва да имат VAS на повече от 2 GB. В Windows, е възможно да се увеличи на алармената система за прилагане на потребителското до 3 GB. Този режим е сериозен недостатък. В този режим ще бъде ограничено до 1 GB на разположение ядрото обем VAS. Увеличаване на размера на VAS за потребителя, можете да добавяте ключа / 3GB в boot.ini файл. След извършването на тези промени, трябва да рестартирате системата.

Ограничаване на алармената система за ядрото до 1 GB се отразява на целия компютър, а не просто приложение, което ви е необходимо голямо количество VAS. Например, определянето на ключ / 3GB се отразява на размера на наличната памет на операционната система, ако е разрешена режим ППР, а след това се намалява от 64 GB до 16 GB. Ключ / 3GB засяга всички компоненти на ядрото, включително всички шофьори. Включване / 3 GB може да предизвика отрицателни ефекти като намаляване на ефективността и памет недостатъчност разпределение с ограничител на системата. Моето мнение - трябва да се избягва употребата на ключ / 3GB, ако е абсолютно наложително.

AWE API може да се използва дори и на компютри с памет малък обем VAS процес. В действителност, AWE може да се използва, за да се отърве от всякакъв вид виртуална памет (не забравяйте, че когато се заключва на страници в паметта посредством механизми VirtualLock, Windows все още остава възможността да изложи цялата обръщане на целия процес). При използване на механизма за AWE, операционната система няма да може да се намесва по никакъв начин. Тази гъвкавост създава някои трудности. Неправилното използване механизъм AWE може да доведе до спиране на целия компютър, който може да бъде преодоляна само чрез ще се рестартира.

Всеки процес има своя собствена област на ВАС.

Разработчиците често не вземат под внимание особеностите на ВАС.

VAS е ограничен ресурс, дори и на 64 - битова платформа.

Windows управлява VAS точно както контролиран хип (динамична памет).

Подкрепете проекта - споделете линка, благодаря!