В. Столлингс - Операционные системы (1114679), страница 70
Текст из файла (страница 70)
7.11. Здесь используется 16-битовый адрес и страницы размером 1 Кбайт = 1024 байт. Относительный адрес 1502 в бинарном виде записывается как 0000010111011110. П ри размере страницы в а т поле смещения требует 10 бнт, оставляя 6 бит для номера страницы. р р ма может состоять максимум из 2 = 64 страниц по е 1 Кбайт каждая. Как показано на рис. 7.11, относительный адрес 1502 соответ- ствует смещению 478 (0111011110) на странице 1 (000001), что дает то же би- "арное число 0000010111011110, р ц размером, равным степени двойки, приводит к таИспользование ст ани с им ° рвых, схема логическои адресации пРозРачна для проим следствиям. Во-пе вы ам р поновщика.
Каждый логический адрес (номер страаммиста, ассембле а и ком атом О цы и смещение) и г ам ро р ммы идентичен относительному адресу Во вторых п и ОМ Относительно и осто е ° * Р Ресов в р о реализуется аппаратная функция преобразования ад- предста Ов во время работы. Рассмо ассмотрим адрес из и+т бит, где крайние слева и бит ватпем дставляют собой номе ст р страницы, а крайние справа т бит — смещение. В ДИМО выпо ем ~римере (рис. 7.11 б) и = ,б) и = 6 и т = 10.
Для преобразования адреса необховыполнить следующие шаги. Выла т ск делить номер ст ани ы р ц, который представлен и левыми битами логиче-'ого адреса. Испол на" льзуя номер с ани ы в тр ц качестве индекса в таблице страниц процесса, 'тти номер кадра й. Часть $ 7. Упр ение „тью внутреннюю Фрагментацию, однако, как и динамическое распреде .т от ФР ч агментации внешней. Тем не менее ее степень снижается, в с щесс есс разбивается на ряд небольших частей. то время как страничная организация невидима для программ ~ия, как к правило видима и обычно используется при размещении " Ф х в рази зных сегментах.
При использовании принципов модульногь"' арования ния как код так и данные могут быть дополнительно раз э ты. . Главным недостатком при работе с сегментами является н заботиться о том, чтобы размер сегмента не превысил максимальный,: ще одно следствие того, что сегменты имеют разные размеры, состоит Е простого соотношения между логическими и Физическими адресами.
' страничной организации, схема простой сегментации использует та ~ для каждого процесса и список свободных блоков основной памяти. таблицы сегментов должна содержать стартовый адрес сегмента в ~ и его длину, чтобы обезопасить систему от использования некорре ' ', ' П работе процесса адрес его таблицы сегментов заносится в спе ри ра р, используемый аппаратным обеспечением. Рассмотрим адрес из и+ги ие слева и бит являются номером сегмента, а правые ги бит — сме , примере, помещенном на рис.
7.11,в, и = 4 н т = 12. Таким образом, ый размер сегмента составляет 2" = 4096. Для трансляции адреса н нение следующих действий. ~ыделить из логического адреса и крайних слева битов, получив т аэом номер сегмента. используя номер сегмента в качестве индекса в таблице сегментов ~айти физический адрес начала сегмента. :равнить смещение, представляющее собой крайние справа т бит, с .егмента. Если смещение больше длины, адрес некорректен. Гребуемый физический адрес представляет собой сумму физического': гачала сегмента и смещения. 3 нашем примере имеется логический адрес 0001001011110000~в, яющий собой сегмент номер 1, смещение 752. Предположим, ч нт располагается в основной памяти начиная с Физического ... 300000100000.
Тогда интересующий нас физический адрес =. ЭОООО0100000+001011110000 = 0010001100010000 (см. Рис. 7.12. Итак, в случае простой сегментации процесс разделяется на ряд се .*р которых может быть разным. При загрузке процесса все его .'щаются в свободных областях памяти, и соответствующая инфо ~тся в таблицу сегментов. 1'." РЕЗЮМЕ, КЛЮЧЕВЪП'-'МЧ~'МИ~, !::,,",:И КОНТРОЛЬНЫЕ =ВОПРОСЫ:;-',." .'м-' Одной из наиболее важных и сложных задач операционной систе правление памятью. Основная память может рассматриваться к рый распределяется и совместно используется рядом активных Часть 3',, эффективного использования процессора и устройств ввода-вывода жела- но размещение в основной памяти максимально возможного количества , ссов. Кроме того, желательно дать программисту воэможность раэрабаты„„программы без ограничений их размера.
Основными инструментами управления памятью являются страничная органиия и сегментация. При страничной органиэации каждый процесс разделяется на осптельно малые страницы фиксированного размера; сегментация позволяет исчьэовать части разного размера. Кроме того, возможно комбинирование сегмента, г и страничной организации в единой схеме управления памятью. Ключевые термины Контрольные вопросы 7.1. К ..
Каким требованиям должно удовлетворять управление памятью? 7.2. Почем ему желательно обеспечить возможность переноса процессов? 7.3. Почем у невозможно обеспечить защиту памяти во время компиляции пРограммы? 7.4. По к ° аким причинам может потребоваться обеспечение доступа к одной области памяти нескольким процессам? 7.5. В чем сост состоит преимущество использования разделов разного размера при использовании схемы фиксированного распределения? 7-0. В чем с состоит отличие между внутренней и внешней Фрагментацией? 77.
В чем зак лю гается различие между логическим,. относительным и Физи- ческим адресами? 78 В чем ем разница между страницей и кадром? 79.В чем м разница между страницей и сегментом? '„а РекОмендуемАЯ.';Зпп'еРАтуРА-::,:,',;::-':::,:::::-:,,;:.'::~ Кн д нные для чтения в разделе 2,9, включают материал пниги, рекомен ова гценный ° 1 $ о вопросам управления памятью. Поскольку асп у Р с ределение вытесняется технологиями виртуальной памяти, шинство книг и е л р длагают только поверхностный обзор рассматриваемых в 7 Управление памятью Лбсолютная загрузка Логическая организация Внешняя Фрагментация Логический адрес Внутренняя Фрагментация Относительный адрес динамическая загрузка Перенос времени исполнения Переносимая загрузка динамическое распределениеРаспределен ие динамическое связывание Редактор связей Загрузка Связывание Защита Сегментация Кадр Система двойников Совместное использование Страница Страничная организация Таблица страниц Уплотнение Управление памятью Физическая организация Физический адрес Фиксированное распределение юй главе м методов.
Одной из наиболее полных и интересных работ я Е92); обсуждение стратегий распределения памяти имеется и в ~КО Вопросы компоновки и загрузки рассматриваются во многих книгах, ' ных разра отк ботке программ архитектуре компьютеров и операционным си 1 ;ь можно порекомендовать обратиться к книгам (ВЕСК901 и 1С1.АВ981. СК90 Вес)с Х..
Яуз(ет Ба~маге. — Веад)пн, МА: АдйЬоп-%ез1еу, 1990. АВ98 С1аг)се Х)., Мерз! П. Яуз1ет Яо~1шаге Ргаугатт(пу Тйе й' ИЪг)г. — 1)ррег БасЫ1е В1чег, Нд: Ргеп$1се На11, 1998. д)Т97 Кнут Д.Э. Искусство программирования Том 1. Основные алга' е изд.
— М.: Издательский дом "Вильямс", 2000. 1„Е92 М11еп)ила(с М. Орегаг(пд яуз(етз; Сопсертз апд 1)ез(уп. — 'Ж ' Мс0гач~-Н111, 1992. 7. ЗАДАЧИ ...,,,.р. В разделе 2.3 были перечислены пять целей управления памятью, а ф' ле 7.1 — пять требований. Обоснуйте взаимосвязанность этих списков, ...; Рассмотрите схему динамического распределения. Покажите, что в й' количество свободных блоков памяти ("дыр") в два раза меньше ка выделенных процессам разделов. Для реализации различных алгоритмов распределения, обсуждав рассмотрении динамического распределения (раздел .
), 7. 2), не обход держка списка свободных блоков памяти. Какова средняя продолжите поиска для каждого из рассмотренных методов (наилучшего, первого; дующего подходящего)? Рассмотрите еще один алгоритм размещения при динамическом ра, ннн -- метод наихудшего подходящего, при котором для размещения используется наибольший свободный блок памяти. Каковы его досго недостатки по сравнению с другими рассмотренными мет д о ами? няя длина поиска при этом методе? Система двойников используется для распределения блока р р б -а азме ом 1 а. Изобразите в виде, подобном приведенному на рис, 7.6, ре у з льтат ния такой последовательности запросов: запрос А— А = 70 Кбайт, В = 35 Кбайт, запрос С = 80 Кбайт, освобождение А, запрос 1') ~ 6,;,' освобождение В, освобождение П, освобождение С.