Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Страничный обмен.




Подкачка, или своппинг (swapping - обмен), - это процесс сброса редко используемых областей виртуального адресного пространства программы на диск или другое устройство внешней памяти. Такая внешняя память всегда намного дешевле оперативной, хотя и намного медленнее.

Своппинг становится возможен благодаря тому, что далеко не все, что хранится в памяти системы, используется одновременно. В каждый заданный момент исполняется только часть программного обеспечения, и оно работает только с частью данных.

Это приводит нас к идее многослойной или многоуровневой памяти, когда в быстрой памяти хранятся часто используемые код или данные, а редко используемые постепенно мигрируют на более медленные устройства. Естественно, для того чтобы автоматизировать данный процесс мы должны иметь какой-то легко формализуемый критерий, по которому определяется, какие данные считаются редко используемыми.

При этом алгоритм автомата должен быть как можно более простым. Один простой критерий выбора очевиден - при прочих равных условиях, в первую очередь, мы должны выбирать в качестве жертвы для удаления тот объект, который не был изменен за время жизни в быстрой памяти.

Самый простой алгоритм - выкидывать случайно выбранный объект. Можно также удалять то, что дольше всего находится в данном слое памяти, используя алгоритм FIFO. Видно, что это уже чуть сложнее случайного удаления - нужно запоминать, когда мы что загружали. Понятно также, что это лишь очень грубое приближение к тому, что нам требуется. Наиболее честным будет удалять тот объект, к которому дольше всего не было обращений в прошлом - LRU (Least Recently Used). Минус: в аппаратной реализации счётчика обращения для каждой страницы и сегмента памяти.

clock-алгоритм. Дескриптор каждой страницы содержит бит, указывающий, что к данной странице было обращение. При первом обращении к странице, в которой clock-бит был сброшен, диспетчер памяти устанавливает этот бит. Программа, занимающаяся поиском жертвы, циклически просматривает все дескрипторы страниц. Если clock-бит сброшен, данная страница объявляется жертвой, и просмотр заканчивается - до появления потребности в новой странице. Если clock-бит установлен, то программа сбрасывает его и продолжает поиск.

В случае, когда памяти не хватает, программе почти на каждой команде требуется новая страница, и производительность системы катастрофически - в тысячи раз - падает. Это называется оверсвоппинг (overswap) – очень большая ВП, а ОП маленькая – нехватка страниц, постоянно решаются задачи перемещения и замещения.

 

 

 

 

 


 

 

 

 

 

 


Поделиться:

Дата добавления: 2015-04-18; просмотров: 120; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты