Планирование с переключением и без переклячения — Лекция N2: Система прерывания программ

  • От :
  • Категории : Без рубрики

 

Планирование с переключением и без переклячения
Планирование с переключением (ПСП) имеет место, если у процесса может быть отобран ЦП. Если ЦП отобрать нельзя, то это планирование без переключения (ПБП).ПСП необходимо в системах, в которых процессы высокого приоритета требуют немедленного внимания, например, в системах реального времени. ПСП необходимо и в интерактивных системах для того, чтобы гарантировать приемлемое время ответа. ПСП характеризуется по сравнению с ПБП повышенным уровнем накладных расходов времени ЦП, в том числе на выполнение процедур прерывания и восстановления прерванных процессов, на большее количество подкачек программ и данных из внешней памяти в оперативную память. Вторая составляющая дополнительных потерь может быть уменьшена путем размещения программ большего числа пользователей в оперативной памяти, что требует увеличения объема этой памяти в ВС, используемых в интерактивном режиме. Существует еще один путь уменьшения накладных расходов времени ЦП в тех интерактивных системах, в которых пользователи используют одни и те же программы и/или данные — создание механизмов совместного использования программ и данных, например, совместно используемые программы должны быть реентерабельными, т.е. повторно входимыми.

^

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

^

Использование несколькими параллельно существующими в ВС процессами того или иного ресурса, который в любой момент времени может обслуживать лишь один процесс, осуществляется с помощью дисциплин распределения ресурса. Их основой являются:дисциплины формирования очередей на ресурс;дисциплины обслуживания очередей.В ВС используются ряд дисциплин обслуживания очередей, ставших классическими. Наиболее часто используются следующие одноочередные дисциплины:1. Дисциплина обслуживания в порядке поступления: первый пришедший обслуживается первым (FIFO : first in — first out); все заявки при этом поступают в конец очереди, а первыми обслуживаются заявки из начала очереди; один из главных его недостатков — короткие процессы должны ждать полного выполнения длинных процессов, поэтому эту дисциплину не рекомендуется использовать в интерактивных системах, таккак она не может обеспечить приемлемые времена ответа; обычно эта дисциплина применяется в комбинации с другими методами, например, в многоуровневых очередях с обратными связями;2. Дисциплина обслуживания в порядке, обратном порядку поступления (LIFO : last in — first out); широко используется на практике, в частности, при использовании стеков в оперативной памяти;3. Круговой циклический алгоритм, основанный на принципе FIFO, но в данном случае время обслуживания ограничено и меньше или равно значения кванта времени Т; если запрос не успевает быть обслуженным за время Т, то он прерывается и становится в хвост очереди; эта дисциплина достаточно эффективна в интерактивных системах, обеспечивая приемлемые времена ответа для каждого пользователя.Более сложными являются дисциплины обслуживания, использующие более одной очереди и называемые многоочередными; среди этих дисциплин обслуживания могут быть дисциплины с абсолютными и относительными приоритетами. Выбор той или иной дисциплины обслуживания должен производиться на основе количественного анализа на основе теории систем массового обслуживания. При дисциплине обслуживания с абсолютными приоритетами процесс обслуживания прерывается при появлении заявки с более высоким приоритетом. При дисциплине обслуживания с относительными приоритетами заявка, поступившая в систему при условии, что она является самой приоритетной, начинает обслуживаться сразу после завершения обслуживания текущей заявки.

^

Программно-аппаратная реализация выделения процессу кванта времени Т обеспечивается аппаратными (таймером и СПП) и программными (обработчик прерывания от таймера и соответствующими блоками ядра ОС) средствами. Выбор величины Т для нахождения процесса в состоянии выполнения имеет критическое значение для эффективной работы ВС, работающей в режиме разделения времени. Обозначим через t время ответа системы, т.е. время от момента ввода задания с терминала до выдачи ответа на соответствующий дисплей. Рассмотрим характерные точки примерного графика зависимости t=f(Т). Обозначим через Т(пер) время, затрачиваемое ЦП на переключение из одного процесса в другой. При выполнении условия Т < T(пер) очевидно, что величина t будет бесконечно велика, так как все время работы ЦП будет затрачиваться только на переключение из процесса в процесс. Далее по мере роста Т величина t будет сначала уменьшаться и достигнет своего минимального значения min t; это значение Т обозначим opt Т. При дальнейшем росте Т величина t снова начнет возрастать, так как процессы с малым временем ответа будут сравнительно долго ждать, пока будет идти выполнение процессов с относительно большими временами ответа; при этом величина t будет стремиться снизу к некоторому предельному значению max t, характерному для ВС с дисциплиной обслуживания FIFO. Конечно, величина opt T меняется внутри системы в зависимости от ее нагрузки и тем более при переходе на другую систему.

Лекция N 4

Управление памятью

Организация оперативной памяти (ОП) и управление ей — одна из главных задач, решаемых ОС. Под организацией ОП понимают, каким образом представляется и используется эта память. При мультипрограммной работе ЭВМ можно поместить в ОП, например, программу только одного пользователя или несколько программ одновременно. Каждая из этих программ может занимать связные и фиксированные участки ОП или же может быть размещена в несвязных участках и при необходимости перемещаться. Вне зависимости от схемы организации ОП существуют различные стратегии управления этой памятью (СУП) с целью достижения оптимальных характеристик при функционировании ЭВМ. СУП делятся на следующие категории:

  • Стратегии выборки, которые ставят своей целью определение момента, когда следует "втолкнуть" очередной блок данных или программы в ОП;
  • Стратегии размещения — в какое место ОП следует разместить поступающую программу;
  • Стратегии замещения — определяют, какой блок программы или данных следует вывести (вытолкнуть) из ОП, чтобы освободить место для записи вновь поступающих программ или данных.

^

В настоящее время в ЭВМ сложилась трехуровневая организация памяти. На нижнем уровне находится внешняя память, которая чаще всего сейчас размещается на магнитных дисках. На следующем уровне находится оперативная память и, наконец, на третьем, самом высоком уровне находится так называемая кэш-память. По мере увеличения уровня памяти весьма существенным образом уменьшается время доступа к хранимым в ней данным и объем самой памяти, а стоимость памяти в расчете на один бит информации сильно возрастает. Центральный процессор (ЦП) может непосредственно обращаться к ОП и кэш-памяти, при этом в случае отсутствия данных в кэш-памяти, но их наличии в ОП, перепись их из ОП в кэш-память происходит автоматически только с помощью аппаратных средств, без участия программы. К данным, находящимся во внешней памяти, ЦП может обратиться только после их переписи из внешней памяти в ОП, для чего программа должна организовать обмен для считывания нужного массива данных из этой внешней памяти в ОП.

^

При связном распределении памяти вся программа должна занимать один сплошной, т.е. непрерывно адресуемый блок ячеек ОП. Аппаратные и программные средства, имевшиеся в ЭВМ 1-го поколения, давали возможность использовать только связное распределение памяти. При несвязном распределении памяти программа разбивается на ряд блоков, которые могут размещаться в ОП в участках, не обязательно соседствующих друг с другом. Это распределение должно поддерживаться соответствующими аппаратными и программными средствами, появившимися уже в ЭВМ 2-го поколения. Несвязное распределение памяти обладает существенным преимуществом перед связным распределением при функцио нировании мультипрограммных ОС: если в ОП не существует одного большого свободного связного участка памяти для размещения подготавливаемой к выполнению программы, то эту программу можно, как правило, разместить в нескольких участках меньшего объема, суммарный объем которых должен быть не менее требуемого объема связного участка ОП.

^

В настоящее время в большинстве случаев используют блочную организацию оперативной памяти, суть которой состоит в разбиении всего пространства адресов этой памяти на блоки. Если блоки могут иметь только одинаковый размер, то они называются страницами, а сама организация — страничной. Если блоки могут быть различных размеров, то они называются сегментами, а сама организация — сегментной. В некоторых системах оба эти подхода комбинируются, т.е. сегменты реализуются как объекты переменных размеров, формируемые из страниц фиксированного размера.Адреса в системе поблочного отображения при отсутствии комбинированной организации памяти являются двухкомпонентными("двумерными").Чтобы обратиться к конкретному элементу данных, программа указывает блок, в котором этот элемент располагается, и смещение этого элемента относительно начала блока, т.е. в упорядоченной паре (b, d) b является номером блока, в котором размещается соответствующий элемент, а d — смещением относительно начального адреса этого блока. Подобная организация внутренней памяти используется, например, в так называемом реальном режиме функционирования ЭВМ типа IBM PC с микропроцессором 80х86, при этом обе величины — b и d — содержат по 4 шестнадцатеричных цифры; для получения физического адреса, соответствующего паре (b, d), величина b сдвигается в сторону старших разрядов на четыре двоичных разряда, а затем к младшим шестнадцати двоичным разрядам b добавляется d и в результате сложения получается физический адрес элемента.

^

В настоящее время именно концепция виртуальной памяти получила наибольшее распространение при организации внутренней памяти современных ЭВМ. Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющийся процесс, отделяются от адресов, реально существующих в первичной памяти. Те адреса, на которые делает ссылки выполняющийся процесс, называются виртуальными адресами, а те адреса, которые существуют в первичной памяти, называются реальными (или физическими) адресами. Диапазон виртуальных адресов, к которым может обращаться выполняющийся процесс, называется пространством V виртуальных адресов этого процесса. Диапазон реальных адресов, существующих в конкретной ЭВМ, называется пространством R реальных адресов этой ЭВМ.Несмотря на то, что процессы обращаются только к виртуальным адресам, в действительности они должны работать с реальной физической памятью. Для этого во время выполнения процесса виртуальные адреса необходимо с помощью соответствующих аппаратных средств преобразовывать в реальные, причем это преобразование должно быть достаточно быстрым, так как в противном случае производительность ЭВМ будет существенно снижаться и тем самым сведутся на нет те преимущества, которые призвана обеспечить прежде всего концепция виртуальной памяти.В процессе написания программы пользователь освобождается от необходимости учитывать размещение частей своей программы и данных для нее в реальной памяти. Решение этих вопросов берут на себя соответствующие программы, относящиеся к общему программному обеспечению: трасляторы, компоновщики, загрузчики, операционные системы. Для реализации указанного размещения и быстрого преобразования адресов в совре менных ЭВМ используются соответствующие аппаратурные средства, загрузка данных в которые производится ОС при подготовке процесса к выполнению.В случае, когда используется только сегментная или только страничная адресация, виртуальный адрес, как уже указывалось, состоит из двух компонент: номера блока и смещения в рамках этого блока. Если же используется комбинированная сегментно-страничная организация, то применяется трехкомпонентная (трехмерная) организация, т.е. для элемента виртуальной памяти адрес определяется как упорядоченная трой ка v = (s, p, d), где s — номер сегмента, p — номер страницы, а d — смещение в рамках страницы; по этой тройке находится нужный физический элемент.В блочных системах могут быть использованы различные способы преобразования виртуального адреса в реальный физический: прямого, ассоциативного или комбинированного (ассоциативно-прямого) преобразования. В качестве примера рассмотрим общий вид схемы прямого преобразования виртуального адреса (b,d) в реальный (b’+ d), представленной на рис.1.

Рис.1. Схема прямого преобразования виртуального адреса в реальный

Программно-аппаратные средства защиты виртуальной памяти

Для иллюстрации возможности этих средств рассмотрим вид типичной строки таблицы блоков (сегментов или страниц), хотя в различных ЭВМ вид этих строк может различаться; для одной и той же ЭВМ вид строки таблицы сегментов также может отличаться от вида строки таблицы строк. Рис.2. Строка таблицы блоковНа этом рисунке использованы следующие обозначения:р — бит присутствия;а — адрес внешней памяти для случая, когда р=0, т.е. блока нет в физической внутренней памяти;L — длина блока;R — бит разрешения только чтения данных;W — бит разрешения записи и чтения данных;Е — бит разрешения выполнения команд, содержащихся в этом блоке;А — бит разрешения дополнения данного блока данных новыми данными, записываемыми в конец этого блока;b’ — базовый адрес блока, если он уже находится в реальной ОП.Работа программных средств по считыванию блока из внешней памяти в случае, если бит р=0, инициируется с помощью прерывания, программа обработки которого относится к программным средствам поддержки реализации виртуальной памяти, а сами эти средства принадлежат ОС.После загрузки блока продолжается обработка виртуального адреса, при этом в первую очередь смещение d сравнивается с длиной блока L.

При d > L вырабатывается прерывание по выходу за пределы блока и затем ОС прекращает выполнение данного процесса. Если d < L или d=L, то происходит контроль по битам защиты R, W, Е и А, чтобы удостовериться, что соответствующая операция доступа разрешена. Если такое разрешение имеется, то с помощью аппаратных средств вычисляется физический адрес, соответствующий поступившему виртуальному адресу. Если же соответствующий вид доступа запрещен, то происходит прерывание по защите блока и затем ОС прекращает выполнение текущего процесса.

Комментариев нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Планы мероприятий
Игра викторина по ЭКОЛОГИИ-10 класс

  Цель игры «Викторина по экологии» : углубить экологические знания Весь класс разбит на четыре команды по 6 человек. Время обдумывания ответа -1 минута. Ведущий читает высказывания великих людей с паузами , там , где пропущены слова. Команды должны вставить эти слова «Оценивать … только по стоимости её материальных богатств- …

Задания
Хирургия и Реаниматология. Тесты. Методическое пособие

Тестовые задания. Хирургия и Реаниматология.   Профилактика хирургической инфекции. Инфекционная безопасность в работе фельдшера   Обезболивание   Кровотечение и гемостаз   Переливание крови и кровозаменителей, инфузионная терапия   Десмургия   Ведение больных в полеоперационном периоде   Синдром повреждения. Открытые повреждения мягких тканей. Механические повреждения костей, суставов и внутренних органов   …

Планы занятий
Профориентационный тест Л.А. Йовайши на определение склонности человека к тому или иному роду деятельности

ПРОФЕССИЯ – это вид трудовой деятельности человека, который требует определенного уровня знаний, специальных умений, подготовки человека и при этом служит источником дохода. Профессиональная принадлежность – одна из важнейших социальных ролей человека так как, выбирая профессию, человек выбирает себе не только работу, но и определенные нормы, жизненные ценности и образ жизни, …