Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Структура памяти процесса в ОС LinuxСодержание книги Поиск на нашем сайте
10.Управление памятью в ОС Linux. Карта памяти. Алгоритмы выделения памяти в ОС Linux. Виртуальное адресное пространство в ОС Linux. Виртуальные адресные пространства делятся на однородные, непрерывные, выровненные по границам области. Каждая область состоит из участка смежных страниц с одинаковой защитой и страничной организацией. Между областями виртуального адресного пространства могут быть пустые промежутки. Ссылка на такой промежуток приводит к фатальной страничной ошибке. Каждая область описывается в ядре, структурой vm_area_struct. Все эти элементы связываются вместе в список, отсортированный по виртуальным адресам. Когда список становится слишком длинным (более, чем 32 элемента), для ускорения поиска по нему создается дерево. В элементе vm_area_struct перечислены свойства области, например режим защиты, направление роста сегмента, информация о том, закреплен (не подкачивается) ли он в памяти, является ли данная область приватной для какого-либо процесса, имеет ли область резервное хранение на диске, и, если имеет, то где.
Подкачка в ОС Linux. Единицей управления памятью в linux является страница. и почти весь компонент управления памятью работает с точностью до страницы. основная идея подкачки страниц очень проста и тесна связана с алгоритмом PFRA (page frame algorithm) идея подкачки в linux: процессу не обязательно находиться целиком в памяти, для того, чтобы выполняться. все, что нужно, это пользовательская структура (необходимая страница) и таблица страниц. если они подкачаны в память, процесс считается находящимся в памяти, и может планироваться для выполнения. Страницы сегментов текста, данных, стека, подкачиваются динамически по мере появления ссылок на них. если пользовательская структура страниц не находится в памяти, то процесс не может выполняться до тех пор, пока таблица страниц и необходимые страницы не будут загружены в память. подкачка частично реализована ядром и частично процессом. называется Page Daemon. его приоритет равен 2.
Работа данного процесса можно представить следующим образом: В большинстве случаев, процесс работает в фоновом режиме, периодически просыпаясь и совершая необходимые действия. Если системе срочно необходима работа данного процесса, то он запускается принудительно. После пробуждения, процесс анализирует ситуацию, и если он видит, что количество страниц слишком мало, то он начинает освобождать страницы. Операционная система linux является системой с подкачкой страниц по требованию без упреждающей подкачки. Текстовые сегменты и отображаемые на адресное пространства файлы подгружаются из соответствующих им файлов на диске. Все остальное подгружается либо в раздел подкачки, либо один из файлов подкачки. Файлы подкачки могут добавляться и удаляться динамически и у каждого свой приоритет. подкачка страниц из отдельного раздела диска, доступ к которому осуществляется как к отдельному устройству, не содержащему файловую систему, более эффективно по нескольким причинам: 1. не требуются отображения блоков файлов в блоки диска. (Не нужен лишний перевод из физического уровня в логический) 2. физическая запись может иметь любой размер, а не только размер блока файлов. 3. страница всегда пишется на диск в виде единого непрерывного участка. (В файле подкачки это может быть не так)
страницы на устройстве подкачки не выделяется до тех пор, пока они не потребуются. каждый файл подкачки начинается с битового массива, в котором сообщается, какие страницы свободны. когда страница, у которой нет резервного хранения на диске, должна быть удалена из памяти, то из разделов или файлов подкачки, в котором еще есть свободное место, выбирается раздел или файл с наивысшим приоритетом и в нем выделяется страница. как правило, любой раздел подкачки, имеет более высокий приоритет, чем любой файл подкачки. далее, таблица страниц обновляется, чтобы отобразить тот факт, что страница отсутствует в памяти.
|
||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 606; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.119.191 (0.011 с.) |