close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Тема лекции: «Понятие ресурса. Распределение ресурсов. Алгоритмы распределения ресурсов
на основе очередей».
Ход урока:
1. Орг. Момент ( 1-2 мин.)
2. Опрос по пройденному материалу. Ответы на вопросы.
- Дать определение мультипрограммированию
- Дать определение планированию заданий
3. Изучение нового материала.
В компьютерных системах существует большое количество ресурсов, каждый из которых в
конкретный момент времени может использоваться только одним процессором. Примеры
ресурсов: накопители на магнитной ленте, элементы внутренних таблиц системы. Появление
двух процессов, одновременно передающих данные на принтер, приводит к печати
бессмысленного набора слов. Наличие двух процессов, использующих один и тот же элемент
таблицы ФС, обязательно станет причиной разрушения ФС. Поэтому все ОС обладают
способностью предоставлять процессу доступ к определенным ресурсам.
Система может зайти в тупик, когда процессам предоставляются исключительные права
доступа к устройствам, файлам и т. п.
Ресурсом является средство вычислительной системы, которое может быть выделено
процессу на определенный интервал времени. Под управлением ресурсами в ОС понимается
распределение ресурсов системы между различными задачами и процессами, одновременно
функционирующими в ней. Ресурсом может быть аппаратное устройство или часть
информации ( например, закрытая запись в базе данных). В компьютере существует масса
различных ресурсов, к которым может происходить обращение. Ресурс- это все, что может
использоваться только одним процессом в любой момент времени.
В ОС, как правило, отсутствует отдельный супервизор ресурсов, поскольку функции
распределения ресурсов реализуются как на уровне внешнего планирования, так и на уровне
внутреннего планирования.
Ресурсы бывают двух типов: выгружаемые и невыгружаемые. Выгружаемый ресурс можно
безболезненно забирать у владеющего им процесса. Образцом такого ресурса является память.
Невыгружаемый ресурс- это такой ресурс, который нельзя забрать от текущего процесса, не
уничтожив результаты вычислений. Если в момент записи компакт- диска внезапно отнять у
процесса устройство для записи и передать его другому процессу, то в результате мы получим
испорченный компакт- диск. Устройство для записи компакт- дисков не является выгружаемым
в произвольный момент времени ресурсом.
Основными функциями управления ресурсами являются:
− учет наличия и состояния ресурсов;
− прием и учет заявок на ресурсы от задач и процессов;
− распределение ресурсов между задачами и процессами;
− организация использования ресурсов, выделенных каждой задаче или процессу;
− возврат ресурса в систему по мере его освобождения потребителем.
Для реализации функций управления ресурсами в ОС формируются информационные
таблицы, в которых отражаются следующие основные данные для ресурсов:
− учетная информация о ресурсе (идентификатор, класс, количество каналов и т.п.);
− код состояния ресурса;
− идентификатор процесса-владельца и т.п.;
для заявок на ресурсы:
− идентификатор процесса-заявителя;
− приоритет процесса;
− идентификатор и требуемый объем ресурса и т.п.
В ходе организации использования ресурсов формируются таблицы, в которых
указываются списки распределенных и свободных ресурсов, связи между ресурсами и
процессами.
Наряду с проблемой рационального распределения ресурсов между процессами существует
также проблема синхронизации протекания параллельных процессов и исключение
возникновения тупиков в вычислительной системе.
Процесс в мультипрограммной системе находится в состоянии тупика, если он ожидает
некоторого события, которое никогда не произойдет.
В операционных системах тупики возникают в большинстве случаев как результат
конкуренции процессов за обладание монопольно используемыми ресурсами.
В проблеме тупиков выделяют следующие четыре основных направления: предотвращение
тупиков, обход тупиков, обнаружение тупиков, восстановление после тупиков.
Методы обнаружения тупиков применяются в системах, которые допускают возможность
возникновения тупиковой ситуации как следствие умышленных или неумышленных действий
программистов. Целью средств обнаружения тупиков является установить сам факт
возникновения тупиковой ситуации и точно определить те процессы и ресурсы, которые
оказались вовлеченными в эту тупиковую ситуацию.
Алгоритмы распределения ресурсов на основе очередей.
Алгоритм распределения ресурсов - весьма важный показатель, влияющий на
эффективность работы ЭВМ. Применение того или иного алгоритма распределения зависит от
особенностей использования данного ресурса, критериев оценки эффективности работы
системы, а также от сложности реализации данного алгоритма.
Основным элементом при реализации алгоритма является очередь, в которую по
определенным правилам заносятся и извлекаются запросы.
Алгоритмы формирования очередей разделяются на два класса:
1. статический, где приоритеты назначаются до выполнения пакета заданий
2. динамический, при котором приоритеты определяются в процессе выполнения пакета
Оба класса широко используются в практике организации вычислительного процесса в ЭВМ.
Рассмотрим наиболее часто встречающиеся на практике алгоритмы обслуживания.
Одноочередные дисциплины.
1.
Алгоритм обслуживания в порядке поступления- первый пришел - первый обслужен
Все заявки поступают в конец очереди. Первыми обслуживаются заявки, находящиеся в начале
очереди. Самая простая и широко используемая на практике.
Время нахождения в очереди длинных (то есть требующих большого времени обслуживания) и
коротких запросов зависит только от момента их поступления.
2.
Алгоритм обслуживания в порядке, обратном порядку поступления- последний пришел первый обслужен . Данная дисциплина является основой построения стековой памяти.
Схема доступа - стек.
Общим для названных дисциплин является простота их реализации и определенная
"справедливость" в обслуживании всего потока запросов, поступающих в систему.
3.
Круговой циклический алгоритм
Запрос обслуживается в течение кванта времени tk. Если за это время обслуживание не
завершено, то запрос передается в конец входной очереди на дообслуживание.
Здесь короткие запросы находятся в очереди меньшее время, чем длинные.
Многоочередные дисциплины
Основа алгоритма - круговой циклический алгоритм. Все новые запросы поступают в очередь 1.
Время, выделяемое на обслуживание любого запроса, равно длительности кванта tk. Если
запрос обслужен за это время, то он покидает систему, а если нет, то по истечении выделенного
кванта времени он поступает в конец очереди i+1.На обслуживание выбирается запрос из
очереди i, только если очереди 1,…, i-1 пусты.
Таким образом, длинные запросы поступают сначала в очередь 1, затем постепенно доходят до
очереди N и здесь обслуживаются до конца либо по круговому циклическому алгоритму.
Определение семафоров. Реализация семафоров.
В 1965 году Дейкстра предложил использовать целую переменную для подсчета сигналов
запуска. Им был предложен новый тип переменных, так называемые семафоры, значения
которых может быть нулем или некоторым положительным числом, соответствующим
количеству отложенных активизирующих сигналов.
Подобные переменные-семафоры могут с успехом применяться для решения различных задач
организации взаимодействия процессов. В ряде языков программирования они были
непосредственно введены в синтаксис языка (например, в ALGOL-68), в других случаях
реализуются с помощью специальных системных вызовов. Соответствующая целая переменная
располагается внутри адресного пространства ядра операционной системы.
1/--страниц
Пожаловаться на содержимое документа