Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Особенности реализации в UNIX

Политика очистки страниц

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

Страничный демон - программа, периодически проверяющая состояние памяти, если занято много блоков, то производит выборочную выгрузку страниц.

 

 

В UNIX системах последовательность запуска процессов, следующая:

процесс 0 - это свопер

процесс 1 - это init

процесс 2 - это страничный демон

 

Страничный демон просыпается каждые 250мс, и проверяет количество свободных страничных блоков, если их меньше 1/4 памяти, то он начинает выгружать страницы на диск. Он использует модифицированный алгоритм часов, и он является глобальным (т.е. он не различает, какому процессу принадлежит страница).

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

 

В LUNIX системе нетпредварительной загрузки страниц и концепции рабочего набора.

Тексты программ и отображаемые файлы подгружаются прямо из файлов расположенных на диске.

Все остальное выгружается в раздел свопинга или файлы свопинга (их может быть от 0 до 8).

Алгоритм выгрузки страниц основан на страничном демоне (kswapd), он активизируется раз в секунда и проверяет достаточно ли свободных страниц. Демон может быть активизирован и принудительно, при не хватке памяти.

Демон состоит из трех процедур:

· В первой используется алгоритм часов, она ищет редко используемые страницы страничного кэша и буферного кэша файловой системы.

· Вторая процедура ищет совместно редко используемые страницы.

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

В LINUX есть еще один демон - bdflush. Он регулярно просыпается и проверяет, не превысило ли определенное значение количество измененных страниц, если да то он начинает их принудительно сохранять на диск.

 

7.4 Особенности реализации в Windows

В Windows системах сегментация (следующая лекция) не поддерживается. Поэтому каждому процессу выделяется виртуальное адресное пространство в 4 Гбайт (ограничение 32 разрядов). Нижние 2 Гбайт доступны для процесса, а верхние 2 Гбайт отображаются на память ядра. В Advanced server и Datacenter server процесс может использовать до 3 Гбайт.

Страницы имеют фиксированный размер (на процессорах Pentium 4 Кбайт, на Itanium 8 или 16 Кбайт) и подгружаются по требованию.

 

Конфигурация виртуального адресного пространства Windows

 

Белым цветом выделены области приватных данных процесса.

Затемнены области, совместно используемые всеми процессами.

Области в 64 Кбайт в начале и в конце, используются для защиты виртуального адресного пространства процесса, при попытке чтения или записи в эти области будет вызвано прерывание.

Системные данные содержат указатели и таймеры, доступные на чтение другим процессам.

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

У страниц есть три состояния:

· свободное - не используется

· фиксированное - данные отображены в странице

· зарезервированное - зарезервировано, но не занято данными (при создании потока)

Файлы свопинга может быть до 16, разделов свопинга нет. В файлах свопинга хранятся только изменяемые страницы.

Опережающая подкачка в Windows не используется.

В Windows используется понятие рабочий набор.

Страничный демон в Windows состоит из:

· менеджера балансового множества - проверяет, достаточно ли свободных страниц.

· менеджера рабочих наборов - который исследует рабочие наборы и освобождает страницы.

Также в Windows есть следующие демоны:

· свопер-демон

· демон записи отображенных страниц - запись в отображенные файлы

· демон записи модифицированных страниц

 

Сегментация памяти

Литература

  • Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., подробнее>>
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., подробнее>>
<== предыдущая лекция | следующая лекция ==>
Совместно используемые страницы | Основные понятия сегментации
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 281; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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