Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Алгоритмы замещения страниц виртуальной памяти
Идеальный алгоритм заключается в том, чтобы выгружать страницу, которая будет запрошена позже всех. Но этот алгоритм не осуществим, т.к. нельзя знать какую страницу, когда запросят. Можно лишь набрать статистику использования. 7.1.1 Алгоритм NRU (Not Recently Used - не использовавшаяся в последнее время страница) Используются биты обращения (R-Referenced) и изменения (M-Modified) в таблице страниц. При обращении бит R выставляется в 1, через некоторое время ОС не переведет его в 0. M переводится в 0, только после записи на диск. Благодаря этим битам можно получить 4-ре класса страниц: 1. не было обращений и изменений (R=0, M=0) 2. не было обращений, было изменение (R=0, M=1) 3. было обращение, не было изменений (R=1, M=0) 4. было обращений и изменений (R=1, M=1) 7.1.2 Алгоритм FIFO (первая прибыла - первая выгружена) Недостаток заключается в том, что наиболее часто запрашиваемая страница может быть выгружена. 7.1.3 Алгоритм "вторая попытка" Подобен FIFO, но если R=1, то страница переводится в конец очереди, если R=0, то страница выгружается. - часто перемещать страницы по списку. 7.1.5 Алгоритм LRU (Least Recently Used - использовавшаяся реже всего) Первый метод: Чтобы реализовать этот алгоритм, можно поддерживать список, в котором выстраивать страницы по количеству использования. Эта реализация очень дорога. Второй метод: В таблице страниц добавляется запись - счетчик обращений к странице. Чем меньше значение счетчика, тем реже она использовалась. Также можно использовать: Замещение страниц по запросу - когда страницы загружаются по требованию, а не заранее, т.е. процесс прерывается и ждет загрузки страницы. Буксование - когда каждую следующую страницу приходится процессу загружать в память. Чтобы не происходило частых прерываний, желательно чтобы часто запрашиваемые страницы загружались заранее, а остальные подгружались по необходимости.
10. Адресное пространство процесса Win32 и Win64. Регионы в адресном пространстве. Передача физической памяти региону. Гранулярность выделения ресурсов В Win32 каждому процессу предоставляется max адресное одного процесса 4 Гб. В WIN64 max 16Tб, но наделе значительно меньше и зависит от OC, на практике, оно значительно меньше. Адресное пространство каждого процесса скрыто от других процессов. Каждый процесс получает доступ только к той памяти, которая принадлежит ему. Память других процессов скрыта. И процесс А, и процесс В обращаются к ячейкам, которые находятся по различным физическим адресам. С помощью страничной организации одинаковые линейные адреса преобразуются в различные физические. Это достигается за счёт того, что у них разная таблица страниц и отображение страниц. ОЗУ в виртуальном адресном пространстве выделяется разделами. Выделения разделов различны для различных разделов. Например, в Win32 2 Гб программе, а 2 Гб ОС, Win64 8Tб программе. В Win32(64) Windows Server xxxx теоретически можно выделить и другие объемы памяти программе. Далее идет описание в WIN32, в WIN64 все приблизительно так же может адресоваться значительно большее пространство памяти. Разбиение адресного пространства на разделы в Windows NT. Разделы 1 и 3 предназначены для выявления указателей с неправильным значением. При выявлении неправильного значения ОС генерирует нарушение доступа. Эти разделы "охраняют" разделы 2 и 4. Раздел 2 - это область размером 2 Гб-128 Кб. Это личное адресное пространство конкретного процесса, причем эта область доступна данному процессу. В этой же области находятся все системные библиотеки пользовательского режима kernel32.dll и user32.dll. Если какой-либо процесс искажает системную dll, то эта ошибка скажется только на этом процессе. Если посмотреть любое exe приложение под Windows NT, Windows 2000, то начальный адрес будет 0001:0000. Раздел 4. В него загружаются ядро Windows NT и драйверы устройств. Этот раздел защищен и по чтению, и по записи. Date: 2015-08-15; view: 1243; Нарушение авторских прав |