В. Столлингс - Операционные системы (1114679), страница 84
Текст из файла (страница 84)
Диспетчер памяти 'онструирован для работы на множестве пла о м и латформ и использует страницы разсоставляе от до байт. На пла м б " . тфор. ах 1п1е1, РоиегРС и М?РЗ размер странипы : авляет 4096 байт, а у ВЕС А1РЬа — 8192 байт. Ка т Р а виртуальных адресов Яг2К Каждый пользовательский п о адресное роцесс ЪУ2К получает отдельное 32-битовое умолча сное пространство, и едоставля р д ляющее процессу до 4 Гбайт памяти. По знанию часть памяти за езе в р ервирована для операционной системы, так 1)ее и сути — часпзотм исполаэоеания.
— П вЂ” рим. ред. . булав ва 8. Виртуальная память Недолттпиал лользователтз область размером 64 Кбайт длл'герехвата присвоеиий тказателкз К";~ЬЬ Пользовательское адреоиое лроотраиотво размером 2 Гбайт Защитиая область размером 64 Кбайт длл проверки выхода за пределы злачекмл указателе Недостулнзл пользователю облаотьпамлтиоперадиоииой системы размером 2 Гбайт Рис.
8.33. Виртуа тьное адресное пространство П'тадоиа 2ООО но у.молчанию ;:,- ~лана 8. Виртуальная память Часть 3. П что каждому пользователю на самом деле доступны 2 Гбайт виртуал адресного пространства, и все процессы совместно используют одни и т~' 2 Гбайт системного пространства. ттГ2К предоставляет возможность увел~к' ния пользовательского адресного пространства до 3 Гбайт, оставляя сис~~ ' только 1 Гбайт. В документации %'2К указано, что эта возможность прв ' знл тена для поддержки интенсивно использующих большое количество;:: мяти приложений, работающих на серверах со многими гигабайтами опт тпь.,ой памяти, и что использование большего адресного пространства м ""-" сущестзенно повысить производительность таких приложений, как сисзе'" поддержки принятия решений или огромных баз данных.
На рис. 8.23 показано виртуальное адресное пространство по умол видимое пользовательскому процессу. Оно состоит из четырех областей. е От Ох00000000 до Ох0000Г РГГ предназначено для помощи програмМи ." перехвате присвоений указателю М~йт . в ~' е От Ох00010000 до Ох7ГРЕ:.'Рту: адресное пространство, доступное пол телю. Это пространство разделяется на страницы, которые могут бы' гружены в основную память. е От Ох7РГУ00000 до Ох7РРГЕГс'Гт защитная страница, недоступная по " вателю.
Эта страница облегчает операционной системе проверку и указателя за границы блока памяти. ° От Ох00000000 до Ох0000т 6ГГ.. системное адресное пространство, Гбайтовый процесс предназначен для исполняющей системы %'2Е, ядра и драйверов устройств. нч Страничная организации Ж2К При создании процесса в принципе ему полностью доступно пользоввм ское пространство размером 2 Гбайт (минус 128 Кбайт). Это пространство р ляется на страницы фиксированного размера, каждая из которых может загружена в основную память. На практике для простоты учета страница м.
находиться в одном из трех состояний. 1. Доступна, Страница в настоящее время не используется процессом. 2. Зарезервирована, Множество смежных страниц, которые диспетчер взз альной памяти предназначает процессу, но которые не учитываются в к"' памяти процесса до их использования. Когда процесс требует записи а',.
мять, часть зарезервированной памяти передается процессу. 3. Размещена. Страницы, для которых диспетчер виртуальной памяти ляет память в страничном файле (т.е. дисковом файле, в который за ваются страницы при удалении их из основной памяти). Различие между зарезервированной и размещенной памятью (1) позвойФ- минимизировать дисковое пространство, предназначенное определенному цессу, тем самым сохраняя это пространство для других процессов, и (2) Решает потоку или процессу объявить объем памяти, который будет бы „ выделен при необходимости.
Схема управления резидентным множеством, используемая в Ж2К, — пеРеменное распределение с локальной областью видимости (см. табл. 8.4). При первой активации процесса ему в качестве рабочего множества передается некоторое количество кадров основной памяти. Когда процесс обращается к странице, отсутствующей в памяти, одна из резидентных страниц этого процесса вы"Ружается и на ее место загружается требующаяся страница, Рабочие множества активных процессов настраиваются во время работы с использованием следуюЩих общих соглашений При большом размере основной памяти диспетчер виртуальной памяти позволяет расти резидентным множествам активных процессов.
Для этого при генерации прерывания из-за отсутствия страницы новая страница загружается в память, но старая при этом не выгружается. При малом размере основной памяти диспетчер виртуальной памяти возвращает память системе, удаляя давно не использовавшие)ся страницы из Рабочих множеств активных процессов, снижая тем самым их размеры.
8.8. ЗАДАЧИ Номер Бит модификации Бит обращений Номер виртуальной страницы Бит присутствия в памяти 0 0 О О 0 ' ~яРтуальная память 'Часть 3. 446 Всю сложность проблемы демонстрирует работа 11ВМ86), которая пос " за детальному описанию оптимизации стратегий виртуальной памяти МЪ'Б. Одна из лучших характеристик различных схем управления памятцо,: тользованных в разных реализациях 1ЛЯ1Х, содержится в 1УАНА96). САВБ84 Сагг В. Р(ггиа! Метогу Мапауетепг — Апп АгЬог, М1; 1)М1 Б', Ргезз„1984. Ф" 1)ЕЬ Х70 депп)щ, Р. У1г1па1 Мепюгу. — Сотри(та Яигосуз, Бер1ешЬег 1970 1)О'й~о93 Воиду 1., 1оиегу С.
Р.Я. го Орегайпя Яузгетз. — 1)ррег БасЫ1е Жуег,. РгеЫ(се На11, 1993. 1ВМ86 1ВМ Ма11опа) ТесЬшса1 Биррой, 1,агре Буа(ешз. Мп111Р1е 'Ч1г$па1 (МУБ) У1г1па1 Б~огаае Тпп1пя СооИюо)с. — ВаИаз Ядз(етз Сеп(ег Тесни(ай1ейп 0320.0597, Липе 1986.
,ХАСО98а ЛасоЬ В., Мибде Т. У1гФца! Мепюгу: 1ззпез о1 1шр1ешепЬа ' . Сотри гег, Липе 1998. ЛАСО98ЬЛасоЬ В., Мцдяе Т. ~'"иФиа( Метогу (п СопФетрогагу М(сгоргосезз" 1ЕЕЕ М(его, Ащпв$ 1998 МП.Е92 М11еп)соус М. Орега(тпа Ярз1етз: Сопсергз апй Х)еи~п. — 51ещ'"',, Мейгс-Н111, 1992. УАНА96 УаЬа11а 1). (1Ф1Х 1пгетпа(з: 7Ъе Феи Ггопйегз. — 1)ррег Байо1е Ж ""' Ргеп$1се На11, 1996.::,:.';$' 8.1, Предположим, что таблица страниц текущего процесса выглядит так, к ' '= казано ниже.
Все числа в таблице — десятичные, вся нумерация начиня нуля, а все адреса представляют собой адреса отдельных байтов памяти," мер страницы равен 1024 байт. а. Опишите, как именно виртуальный адрес транслируется в физический . основной памяти.
б. Какой физический адрес (если таковой имеется) соответствует каждо приведенных виртуальных адресов? (Вы не должны пытаться абра '„, прерывание из-за отсутствия страницы). ф( 1) 1052 1: 11) 2221 п() 5499 8.2. (В этой задаче, как и в предыдущей, все числа — десятичные и вс я нумерация начинается с нуля). Процессу выделены четыре кадра. Приведенная ниже таблица содержит время последней загрузки страницы в каждый к адр, время последнего обращения к странице в каждом кадре а тчкже биты об ° * Ращений (В) и модификации (М). Все временные отрезки приведены относительно нача ла работы процесса (т.е.
указаны промежутки времени от начала раб а оты процесса до осуществления события, а не от события до момента рассмотрения). В настоящий момент генерируется пРеРывание обращения к странице номер 4, Содержимое какого кадра будет замещено в случае использования квжд й аждо из перечисленных стратегий? Поясните ваш ответ. а. Алгоритм "первым вошел — первым вышел". б. Алгоритм дольше всех неиспользовавшегося.
в. Часовой алгоритм,. г. Оптимальный алгЬритм (при использовании указанной далее последовательности обращений к страницам). д. Рассмотрите последовательность обращений к виртуальным страницам: 4, О, 0„0242 , 1, О, 3, 2. Считая, что приведенное в таблице состояние памяти соответствует моменту непосредственно перед генерацией прерывания из-за отсутствия страницы, определите количество сгенерированных прерываний при использовании стратегии рабочего множества с размером окна, равным 4. Укажите все возникшие при этом прерывания. Роцесс обращаетсЯ к стРаницам А, В, С, П н Е в следующем порядке: А В С П А В Е А В С 1) Е П имени р мените алгоритм замещения "первым вошел -- первым вышел" и определите количество пересылок страниц в процессе выполнения указанных обращ ий, если работа процесса выполняется с тремя изначально пустыми кадрашений если мн основной памяти.