Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Лекции по предмету Операционные системы

 в оперативную  память  (при
этом  для  каждого  из  этих  сегментов  операционная  система   подыскивает
подходящий участок  свободной  памяти),  а  часть  сегментов  размещается  в
дисковой памяти. Сегменты  одной  программы  могут  занимать  в  оперативной
памяти  несмежные  участки.  Во  время  загрузки  система  создает   таблицу
сегментов процесса (аналогичную таблице  страниц),  в  которой  для  каждого
сегмента указывается  начальный  физический  адрес  сегмента  в  оперативной
памяти, размер  сегмента,  правила  доступа,  признак  модификации,  признак
обращения к данному сегменту  за  последний  интервал  времени  и  некоторая
другая  информация.  Если  виртуальные  адресные   пространства   нескольких
процессов включают один и тот же  сегмент,  то  в  таблицах  сегментов  этих
процессов делаются ссылки на один и тот же  участок  оперативной  памяти,  в
который данный сегмент загружается в единственном экземпляре.
[pic]
Рис. 2.14. Распределение памяти сегментами
Система  с  сегментной  организацией  функционирует  аналогично  системе  со
страничной организацией: время от времени происходят  прерывания,  связанные
с отсутствием нужных сегментов  в  памяти,  при  необходимости  освобождения
памяти некоторые сегменты выгружаются, при каждом  обращении  к  оперативной
памяти выполняется преобразование виртуального адреса  в  физический.  Кроме
того, при обращении к памяти  проверяется,  разрешен  ли  доступ  требуемого
типа к данному сегменту.
Виртуальный адрес при сегментной организации памяти может  быть  представлен
парой (g, s), где g - номер сегмента, а s - смещение в сегменте.  Физический
адрес получается путем  сложения  начального  физического  адреса  сегмента,
найденного в таблице сегментов по номеру g, и смещения s.
Недостатком данного метода распределения  памяти  является  фрагментация  на
уровне сегментов и более медленное по сравнению со  страничной  организацией
преобразование адреса.

Странично-сегментное распределение

Как  видно  из  названия,  данный  метод   представляет   собой   комбинацию
страничного  и  сегментного  распределения  памяти  и,   вследствие   этого,
сочетает  в  себе  достоинства  обоих  подходов.  Виртуальное   пространство
процесса делится на сегменты, а каждый сегмент в  свою  очередь  делится  на
виртуальные страницы, которые нумеруются в  пределах  сегмента.  Оперативная
память  делится  на  физические  страницы.  Загрузка  процесса   выполняется
операционной системой постранично, при  этом  часть  страниц  размещается  в
оперативной памяти, а часть на диске. Для каждого  сегмента  создается  своя
таблица  страниц,  структура  которой  полностью  совпадает  со   структурой
таблицы страниц, используемой  при  страничном  распределении.  Для  каждого
процесса создается таблица сегментов, в которой  указываются  адреса  таблиц
страниц  для  всех  сегментов  данного  процесса.  Адрес  таблицы  сегментов
загружается  в  специальный   регистр   процессора,   когда   активизируется
соответствующий процесс.  На  рисунке  2.15  показана  схема  преобразования
виртуального адреса в физический для данного метода.
[pic]
Рис. 2.15. Схема преобразования виртуального адреса в физический для

сегментно-страничной организации памяти

Свопинг

Разновидностью виртуальной памяти является свопинг.
На рисунке 2.16 показан график зависимости коэффициента загрузки  процессора
в зависимости от числа одновременно выполняемых процессов  и  доли  времени,
проводимого этими процессами в состоянии ожидания ввода-вывода.
[pic]
Рис. 2.16. Зависимость загрузки процессора от числа  задач  и  интенсивности
ввода-вывода
Из рисунка видно, что для загрузки процессора на 90% достаточно  всего  трех
счетных  задач.  Однако  для  того,  чтобы  обеспечить  такую  же   загрузку
интерактивными задачами, выполняющими  интенсивный  ввод-вывод,  потребуются
десятки таких задач. Необходимым условием  для  выполнения  задачи  является
загрузка ее в оперативную память, объем которой ограничен. В  этих  условиях
был  предложен  метод  организации  вычислительного   процесса,   называемый
свопингом.  В  соответствии  с  этим  методом  некоторые  процессы   (обычно
находящиеся в состоянии ожидания) временно выгружаются на диск.  Планировщик
операционной  системы  не  исключает  их  из  своего  рассмотрения,  и   при
наступлении условий активизации некоторого процесса, находящегося в  области
свопинга на диске, этот процесс  перемещается  в  оперативную  память.  Если
свободного места в оперативной памяти  не  хватает,  то  выгружается  другой
процесс.
При  свопинге,  в  отличие  от  рассмотренных   ранее   методов   реализации
виртуальной памяти, процесс перемещается между памятью и диском целиком,  то
есть в течение некоторого времени процесс может  полностью  отсутствовать  в
оперативной памяти.  Существуют  различные  алгоритмы  выбора  процессов  на
загрузку и выгрузку, а  также  различные  способы  выделения  оперативной  и
дисковой памяти загружаемому процессу.

Иерархия запоминающих устройств. Принцип кэширования данных

Память  вычислительной  машины  представляет  собой  иерархию   запоминающих
устройств (внутренние регистры процессора, различные  типы  сверхоперативной
и оперативной памяти, диски, ленты), отличающихся средним  временем  доступа
и  стоимостью  хранения  данных  в  расчете  на  один  бит  (рисунок  2.17).
Пользователю хотелось бы иметь и  недорогую  и  быструю  память.  Кэш-память
представляет некоторое компромиссное решение этой проблемы.
[pic]
Рис. 2.17. Иерархия ЗУ
Кэш-память - это способ организации совместного функционирования двух  типов
запоминающих устройств, отличающихся временем доступа и стоимостью  хранения
данных, который позволяет уменьшить среднее время доступа к данным  за  счет
динамического  копирования  в  "быстрое"  ЗУ  наиболее  часто   используемой
информации из "медленного" ЗУ.
Кэш-памятью часто называют не только способ организации  работы  двух  типов
запоминающих устройств, но и одно из устройств -  "быстрое"  ЗУ.  Оно  стоит
дороже и, как  правило,  имеет  сравнительно  небольшой  объем.  Важно,  что
механизм кэш-памяти является прозрачным для пользователя, который не  должен
сообщать никакой информации  об  интенсивности  использования  данных  и  не
должен никак участвовать в  перемещении  данных  из  ЗУ  одного  типа  в  ЗУ
другого типа, все это делается автоматически системными средствами.
Рассмотрим частный случай использования кэш-памяти для  уменьшения  среднего
времени доступа к данным, хранящимся в оперативной памяти. Для  этого  между
процессором и оперативной памятью помещается быстрое ЗУ,  называемое  просто
кэш-памятью (рисунок 2.18). В качестве  такового  может  быть  использована,
например, ассоциативная память.  Содержимое  кэш-памяти  представляет  собой
совокупность записей обо всех загруженных в  нее  элементах  данных.  Каждая
запись об элементе данных  включает  в  себя  адрес,  который  этот  элемент
данных  имеет  в  оперативной  памяти,  и  управляющую  информацию:  признак
модификации и признак обращения  к  данным  за  некоторый  последний  период
времени.
[pic]
Рис. 2.18. Кэш-память
В системах, оснащенных  кэш-памятью,  каждый  запрос  к  оперативной  памяти
выполняется в соответствии со следующим алгоритмом:
   1.  Просматривается  содержимое  кэш-памяти  с  целью   определения,   не
      находятся ли  нужные  данные  в  кэш-памяти;  кэш-память  не  является
      адресуемой, поэтому поиск нужных данных осуществляется по  содержимому
      - значению поля "адрес в оперативной памяти", взятому из запроса.
   2. Если данные обнаруживаются в кэш-памяти, то они считываются из нее,  и
      результат передается в процессор.
   3. Если нужных данных нет, то они вместе со своим адресом  копируются  из
      оперативной  памяти  в  кэш-память,  и  результат  выполнения  запроса
      передается в процессор. При копировании данных может оказаться, что  в
      кэш-памяти нет свободного места, тогда выбираются данные, к которым  в
      последний период было меньше всего обращений, для вытеснения  из  кэш-
      памяти.  Если  вытесняемые  данные  были   модифицированы   за   время
      нахождения в кэш-памяти, то они переписываются в  оперативную  память.
      Если же эти данные не были модифицированы, то их  место  в  кэш-памяти
      объявляется свободным.
На практике в кэш-память считывается не  один  элемент  данных,  к  которому
произошло обращение, а целый блок данных, это  увеличивает  вероятность  так
называемого "попадания в кэш", то  есть  нахождения  нужных  данных  в  кэш-
памяти.
Покажем,  как  среднее  время  доступа  к  данным  зависит  от   вероятности
попадания в кэш. Пусть имеется основное запоминающие устройство  со  средним
временем доступа к  данным  t1  и  кэш-память,  имеющая  время  доступа  t2,
очевидно, что t2
Пред.111213
скачать работу

Лекции по предмету Операционные системы

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ