КАТЕГОРИИ: Архитектура-(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 есть следующие демоны: · свопер-демон · демон записи отображенных страниц - запись в отображенные файлы · демон записи модифицированных страниц
Сегментация памяти Литература
Дата добавления: 2014-01-06; Просмотров: 313; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |