русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Страничное замещение в BSD


Дата добавления: 2014-11-28; просмотров: 567; Нарушение авторских прав


 

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

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

В системе поддерживается количество страниц не меньшее некоторого заданного параметра lotsfree(как правило ¼ памяти). Если становится меньше, начинается откачка страниц из памяти на диск. Если >=, то страничный демон ничего не делает – спит.

 

Страничный демон использует модификацию алгоритма часов.

Изначально использовался основной алгоритм с одной стрелкой.

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

При больших объемах ОП основной алгоритм работает медленно. Поэтому его заменили на алгоритм часов с двумя стрелками.

Первый проход делает первая стрелка и очищает биты использования блоков страниц. Вторая стрелка проверяет этот бит (как было при втором проходе). Если стрелки находятся очень близко, то только очень активно используемые страницы имеют шанс остаться в памяти. Если стрелки далеко (~ 3590), то получится основной алгоритм. Выбирается оптимальный вариант.

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

 



<== предыдущая лекция | следующая лекция ==>
Стратегия замещения страниц | Управление памятью в Linux


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 6.204 сек.