Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 26

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 26 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 262020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 26)

Однако это очень недорогая реализация,которая позволяет отказаться от многих функций операционной системы. В част­ности, такая сложная проблема, как защита памяти, здесь почти не стоит. Един­ственное, что желательно защищать — это программные модули и области памятисамой операционной системы.Если есть необходимость создать программу, логическое адресное пространствокоторой должно быть больше, чем свободная область памяти, или даже больше,чем весь возможный объем оперативной памяти, то используется распределениесперекрытием — так называемые оверлейные структуры (от overlay — перекры­тие, расположение поверх чего-то).

Этот метод распределения предполагает, чтовся программа может быть разбита на части — сегменты. Каждая оверлейная про­грамма имеет одну главную (main) часть и несколько сегментов (segments), при­чем в памяти машины одновременно могут находиться только ее главная часть и°Дин или несколько не перекрывающихся сегментов." о к а в оперативной памяти располагаются выполняющиеся сегменты, остальныенаходятся во внешней памяти. После того как текущий (выполняющийся) сегментзавершит свое выполнение, возможны два варианта: либо он сам (если данный сег-96Глава 3. Управление памятью в операционных системахДля абсолютного большинства современных операционных систем характернадисциплина замещения страниц LRU как самая эффективная.

Так, именно этадисциплина используется в OS/2 и в Linux. Однако в операционных системахWindows NT/2000/XP разработчики, желая сделать их максимально независимы­ми от аппаратных возможностей процессора, отказались от этой дисциплины и при­менили правило FIFO. А для того чтобы хоть как-то компенсировать неэффектив­ность правила FIFO, была введена «буферизация» тех страниц, которые должны1быть записаны в файл подкачки на диск или просто расформированы. Принципбуферизации прост.

Прежде чем замещаемая страница действительно окажется вовнешней памяти или просто расформированной, она помечается как кандидат навыгрузку. Если в следующий раз произойдет обращение к странице, находящейсяв таком «буфере», то страница никуда не выгружается и уходит в конец спискаFIFO. В противном случае страница действительно выгружается, а на ее местов «буфер» попадает следующий «кандидат».

Величина такого «буфера» не можетбыть большой, поэтому эффективность страничной реализации памяти в Win­dows NT/2000/XP намного ниже, чем в других операционных системах, и явлениепробуксовки начинается даже при существенно большем объеме оперативной па­мяти.В ряде операционных систем с пакетным режимом работы для борьбы с пробук­совкой используется метод «рабочего множества». Рабочее множество —- это мно­жество «активных» страниц задачи за некоторый интервал Т, то есть тех страниц,к которым было обращение за этот интервал времени. Реально количество актив­ных страниц задачи (за интервал Т) все время изменяется, и это естественно, но,тем не менее, для каждой задачи можно определить среднее количество ее актив­ных страниц.

Это количество и есть рабочее множество задачи. Наблюдения заисполнением множества различных программ показали [11,17, 22], что даже еслиинтервал Т равен времени выполнения всей работы, то размер рабочего множе­ства часто существенно меньше, чем общее число страниц программы. Таким об­разом, если операционная система может определить рабочие множества испол­няющихся задач, то для предотвращения пробуксовки достаточно планировать навыполнение только такое количество задач, чтобы сумма их рабочих множеств непревышала возможности системы.Как и в случае с сегментным способом организации виртуальной памяти, странич­ный механизм приводит к тому, что без специальных аппаратных средств он суще­ственно замедляет работу вычислительной системы.

Поэтому обычно использует­ся кэширование страничных дескрипторов. Наиболее эффективным механизмомкэширования является ассоциативный кэш. Именно такой ассоциативный кэши создан в 32-разрядных микропроцессорах i80x86. Начиная с i80386, который под­держивает страничный способ распределения памяти, в этих микропроцессорахимеется кэш на 32 страничных дескриптора.

Поскольку размер страницы в этих1В системе Windows NT файл с выгруженными виртуальными страницами носит название PageFile.sys.Таких файлов может быть несколько. Их совокупный размер должен быть не менее, чем объем физи­ческой памяти компьютера плюс 11 Мбайт, необходимых для самой Windows NT.

В системахWindows 2000 размер файла PageFile.sys намного превышает объем установленной физической па­мяти и часто достигает многих сотен мегабайтов.микропроцессорах равен 4 Кбайт, возможно быстрое обращение к памяти разме­ром 128 Кбайт.Итак, основным достоинством страничного способа распределения памяти явля­ется минимальная фрагментация.

Поскольку на каждую задачу может приходить­ся по одной незаполненной странице, очевидно, что память можно использоватьдостаточно эффективно; этот метод организации виртуальной памяти был бы од­ним из самых лучших, если бы не два следующих обстоятельства.Первое — это то, что страничная трансляция виртуальной памяти требует суще­ственных накладных расходов. В самом деле, таблицы страниц нужно тоже разме­щать в памяти. Кроме того, эти таблицы нужно обрабатывать; именно с ними рабо­тает диспетчер памяти.Второй существенный недостаток страничной адресации заключается в том, чтопрограммы разбиваются на страницы случайно, без учета логических взаимосвя­зей, имеющихся в коде.

Это приводит к тому, что межстраничные переходы, какправило, осуществляются чаще, нежели межсегментные, и к тому, что становитсятрудно организовать разделение программных модулей между выполняющимисяпроцессами.Для того чтобы избежать второго недостатка, постаравшись сохранить достоин­ства страничного способа распределения памяти, был предложен еще один спо­соб — сегментно-страиичный. Правда, за счет увеличения накладных расходов наего реализацию.Сегментно-страничный способ организациивиртуальной памятиКак и в сегментном способе распределения памяти, программа разбивается налогически законченные части — сегменты — и виртуальный адрес содержит ука­зание на номер соответствующего сегмента.

Вторая составляющая виртуаль­ного адреса — смещение относительно начала сегмента — в свою очередь мо­жет быть представлено состоящим из двух полей: виртуальной страницы ииндекса. Другими словами, получается, что виртуальный адрес теперь состоитиз трех компонентов: сегмента, страницы и индекса. Получение физическогоадреса и извлечение из памяти необходимого элемента для этого способа ил­люстрирует рис.

3.6.Из рисунка сразу видно, что этот способ организации виртуальной памяти вноситеще большую задержку доступа к памяти. Необходимо сначала вычислить адресДескриптора сегмента и прочитать его, затем определить адрес элемента таблицыстраниц этого сегмента и извлечь из памяти необходимый элемент и уже толькопосле этого можно к номеру физической страницы приписать номер ячейки в стра­нице (индекс).

Задержка доступа к искомой ячейке получается, по крайней мере, вТРИ раза больше, чем при простой прямой адресации. Чтобы избежать этой непри­ятности, вводится кэширование, причем кэш, как правило, строится по ассоциа­тивному принципу. Другими словами, просмотры двух таблиц в памяти могут бытьзаменены одним обращением к ассоциативной памяти.98Гл ава 3. Управление памятью в операционных систем ахРегистр таблицы сегментов(таблицы дескрипторовсегментов)Виртуальный адрес320001711S (Segment) P (Page)612i (index)+ иТаблица сегментов текущей задачиРАдрес началасегментаДлинасегментаПравадоступа1100020R-X1320177J//'Таблица страниц сегмента задачиРНомерфизическойстраницы1/1101123ПравадоступаR-X//2_//23000г -Страница 2323612Рис. 3.6.

Сегментно-страничный способ организации виртуальной памятиНапомним, что принцип действия ассоциативного запоминающего устройствепредполагает, что каждой ячейке памяти такого устройства ставится в соответ-|/пнтсюльные вопросы и задачи99твие ячейка, в которой записывается некий ключ (признак, адрес), позволяющийоднозначно идентифицировать содержимое ячейки памяти. Сопутствующую ячей<у с информацией, позволяющей идентифицировать основные данные, обычноназывают полем тега. Просмотр полей тега всех ячеек ассоциативного устройствапамяти осуществляется одновременно, то есть в каждой ячейке тега есть необхо­димая логика, позволяющая посредством побитовой конъюнкции найти данныепо их признаку за одно обращение к памяти (если они там, конечно, присутству­ют).

Часто поле тегов называют аргументом, а поле с данными — функцией. В дан­ном случае в качестве аргумента при доступе к ассоциативной памяти выступаютномер сегмента и номер виртуальной страницы, а в качестве функции от этих ар­гументов получаем номер физической страницы. Остается приписать номер ячей­ки в странице к полученному номеру, и мы получаем адрес искомой команды илиоперанда.Оценим достоинства сегментно-страничного способа.

Разбиение программы насегменты позволяет размещать сегменты в памяти целиком. Сегменты разбиты настраницы, все страницы сегмента загружаются в память. Это позволяет сократитьчисло обращений к отсутствующим страницам, поскольку вероятность выхода запределы сегмента меньше вероятности выхода за пределы страницы. Страницыисполняемого сегмента находятся в памяти, но при этом они могут находиться нерядом друг с другом, а «россыпью», поскольку диспетчер памяти манипулируетстраницами. Наличие сегментов облегчает разделение программных модулей меж­ду параллельными процессами.

Возможна и динамическая компоновка задачи.А выделение памяти страницами позволяет минимизировать фрагментацию.Однако поскольку этот способ распределения памяти требует очень значитель­ных затрат вычислительных ресурсов и его не так просто реализовать, использует­ся он редко, причем в дорогих мощных вычислительных системах. Возможностьреализовать сегментно-страничное распределение памяти заложена и в семействомикропроцессоров i80x86, однако вследствие слабой аппаратной поддержки, труд­ностей при создании систем программирования и операционной системы практи­чески в персональных компьютерах эта возможность не используется.Контрольные вопросы и задачи1. Что такое «виртуальный адрес», «виртуальное адресное пространство»? Чем(в общем случае) определяется максимально возможный объем виртуальногоадресного пространства программы?*• Имеются ли виртуальные адреса в программах, написанных для работы в средеDOS? Приведите примеры абсолютной двоичной программы для таких опера­ционных систем, как MS DOS и Windows NT/2000/XP.• Изложите способ распределения памяти в MS DOS.• Что дает использование оверлеев при разработке DOS-приложений?• ^оъясните и сравните алгоритмы «первый подходящий», «самый подходящий»и «самый неподходящий», используемые при поиске и выделении фрагментапамяти.100Глава 3.

Управление памятью в операционных системах6. Что такое «фрагментация памяти»? Какой метод распределения памяти по­зволяет добиться минимальной фрагментации и почему?7. Что такое «уплотнение памяти»? Когда оно применяется?8.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее