Скачиваний:
13
Добавлен:
27.09.2019
Размер:
482.3 Кб
Скачать

14. Концепция виртуализации. Концепция прерывания.

Концепция виртуальности используется в ОС как средство для:

- уменьшения конфликтов при управлении процессами т распределении ресурсов;

- облегчения работы пользователя с системой;

освобождения пользователя от рутинных процедур при обращении к тем или иным ресурсам.

Виртуализация при централизованном распределении ресурсов обеспечивает две формы "обмана" пользователей на ЭВМ:

пользователь обеспечивается при обслуживании своего процесса ресурсом, который реально не существует, или существует с ухудшенными характеристиками;

для нескольких параллельных процессов создается иллюзия одновременного использования того, что одновременно в реальной системе существовать не может.

Принято считать, что "обман" первого рода впервые реализовывался оператором ЭВМ следующим образом. Пользовательские программы обращались к магнитной ленте с использованием не физических а логических адресов накопителей на магнитной ленте (НМЛ).

При запросе от программы, оператор устанавливал требуемую магнитную ленту на любой свободный НМЛ, а затем с помощью переключателей на коммутационной панели, связывал конкретные физические адреса накопителей с соответствующими логическими адресами.

В результате пользователь работал с виртуальным магнитофонами.

Виртуальность проявлялась в том, что пользователь мог не знать реальное количество НМЛ и их физических адресов каждого.

Примером "Обмана второго рода" является подход в распределении такого дорогого ресурса как канал.

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

Во время сеанса одного устройства, другие могут выполнять работу не требующую использования ресурсов канала. Для каждого устройства создается иллюзия использования собственного канала, но не реального а

виртуального. Каналы работающие подобным образом, называют мультиплексными.

Наиболее полным проявлением концепции виртуальности является понятие виртуальной машины. Любая ОС являясь средством распределения ресурсов и организуя по определенным правилам управление процессами

на базе скрытой аппаратной части, создает у пользователя видимость виртуальной машины.

Виртуальная машина, представляемая пользователю, воспроизводит архитектуру реальной машины, но ее архитектурные элементы в таком представлении выступают с новыми или улучшенными характеристиками.

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

Низшим уровнем иерархии являются аппаратные средства машины.

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

Далее, относительно виртуальной машины первого уровня разрабатывается новый программный слой, который представляет виртуальную машину второго уровня.

Такое последовательное абстрагирование от аппаратной части машины с расширением функциональных возможностей на каждом уровне позволяет построить виртуальную машину требуемого уровня.

Концепция виртуальности стала одной из ведущих при создании современных ОС.

КОНЦЕПЦИЯ ПРЕРЫВАНИЯ

Реализация многопрограммного режима работы ЭВМ основана на использовании прерывания.

Обобщенная временная диаграмма выполнения прерывания

При обработке прерывания обычно выполняется следующая последовательность действий:

1)t2 - t1 - восприятие запроса на прерывание в течение времени реакции. В общем случае величина этого времени случайна из-за следующих причин:

- в момент t1 была выключена система прерываний;

- в момент t1 данное прерывание было "замаскировано";

- в момент t1 возникло одновременно несколько запросов на прерывание и они последовательно обрабатываются в соответствии с их приоритетами.

2) сохранение состояния прерванного процесса, включающее, в общем случае:

- адрес команды, перед выполнение которой произошло прерывание;

- содержимое регистров общего назначения;

- режим процессора ( привилегированный или непривилегированный)

3) передача управления прерывающей программе, путем занесения в регистр адреса команд адреса первой исполняемой команды этой программы.

4) обработка прерывания , то есть выполнение обрабатывающей программы.

5) восстановление состояния прерванного процесса, то есть :

- запись в регистры общего назначения сохраненных ранее данных(см п.2)

- перевод процессора в ранее сохраненный режим (см.п.2);

- передача управления прерванной программе на команду , перед выполнением которой произошло прерывание .

В большинстве ЭВМ этапы 1-3 реализуются аппаратными средствами, а этапы 4 и 5 -средствами ОС.

В зависимости от источника запроса на прерывание выделяют следующие основные классы прерываний:

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

Прерывания от схем контроля процессора возникают при :

- при попытке выполнить несуществующую команду;

- нарушении защиты памяти;

- переполнение разрядной сетки или исчезновение порядка в арифметических командах;

- падение напряжения питания процессора ниже предельно допустимого.

Прерывания, возникшие по первым трем причинам иногда называют “программными", поскольку эти причины возникают в выполняемых программах.

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

Существует классификация прерываний, в которой различают:

прерывания первого и второго рода.

Системные причины прерывания первого рода возникают в случае,

когда у процесса, находящегося в активном состоянии, возникает потребность получить некоторый ресурс или отказаться от него, либо выполнить над ресурсом какие-либо действия. При таких прерываниях возникает необходимость в явной форме выразить требование на прерывание процесса самого себя.

Прерывания первого рода порождаются самой программой, исполняемой в данный момент процессором, в момент времени определяемый этой же программой.

Реализуются прерывания первого рода, с помощью команды "обращение к супервизору", которая находится в программе активного процесса.

При ее выполнении происходит переключение процессора с обработки программы процесса на работу ОС, которая обеспечивает выполнение требуемых процессу действий.

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

при возникновений каких либо важных событий при их выполнении вырабатывают сигнал прерывания(например: возникновение переполнения при выполнении арифметической операции, завершении операции ввода-вывода)

Основной особенностью прерываний второго рода является то, что прерывание выполняемой процессором программы происходит "без - ее ведома" , то есть асинхронно.

15. Дисциплины распределения ресурсов в ОС. Бесприоритетные дисплины.

Дисциплины распределения ресурсов мультипрограммной ЭВМ

Дисциплина с относительными приоритетами: если в момент работы процесса с приоритетом i, в систему приходит процесс с приоритетом i-1, то процесс с приоритетом i прерывается, становится в очередь , и на выполнение идёт процесс с приоритетом i-1.

Дисциплины распределения ресурсов ( ДРР ) - весьма важный показатель, влияющий на эффективность работы ЭВМ. Применение той или иной дисциплины распределения зависит от особенностей использования данного ресурса, критериев оценки эффективности работы системы, а также от сложности реализации данной ДРР [12]

Одноочередные дисциплины

FIFO ( First In - First Out ) - первый пришел - первый обслужен

Рис. 13.1.  Схема распределения ресурса по дисциплине FIFO

Схема доступа - очередь.

Время нахождения в очереди длинных (то есть требующих большого времени обслуживания) и коротких запросов зависит только от момента их поступления.

LIFO ( Last In - First Out ) - последний пришел - первый обслужен

Рис. 13.2.  Схема распределения ресурса по дисциплине LIFO

Схема доступа - стек.

Круговой циклический алгоритм

Рис. 13.3.  Схема распределения ресурса по круговому циклическому алгоритму

Запрос обслуживается в течение кванта времени tk. Если за это время обслуживание не завершено, то запрос передается в конец входной очереди на дообслуживание.

Здесь короткие запросы находятся в очереди меньшее время, чем длинные.

  1. Многоочередные дисциплины

  2. Базовый вариант многоочередной дисциплины обслуживания

Рис. 13.4.  Схема распределения ресурса при многоочередной дисциплине обслуживания

Основа дисциплины - круговой циклический алгоритм.

Все новые запросы поступают в очередь 1.

Время, выделяемое на обслуживание любого запроса, равно длительности кванта tk. Если запрос обслужен за это время, то он покидает систему, а если нет, то по истечении выделенного кванта времени он поступает в конец очереди i +1.

На обслуживание выбирается запрос из очереди i, только если очереди 1,…, i -1 пусты.

Таким образом, длинные запросы поступают сначала в очередь 1, затем постепенно доходят до очереди N и здесь обслуживаются до конца либо по дисциплине FIFO, либо по круговому циклическому алгоритму.

16. Дисциплины распределения ресурсов в ОС. Дисплины приориоритетного обслуживания.

Дисциплина с абсолютными приоритетами: если ресурсом пользуется процесс с уровнем приоритета i и в данный момент и в данный момент в систему поступает процесс с приоритетом i-1, то после окончания работы процесса с приоритетом i, ресурс захватывается процессом с приоритетом i-1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]