русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лекция №10


Дата добавления: 2013-12-23; просмотров: 774; Нарушение авторских прав


Многоуровневые очереди

Можно процессы разделить на группы по своим приоритетам.

Механизм с обратной связью:

0 – высокоприоритетный, 1 – низкоприоритетный.

Всего 4 группы:

Сначала новый процесс идет в 0, получает квант времени. Если квант меньше отведенного, то завершается. Если нет, то поступает в первую очередь, где время в два раза больше. Если времени хватает, благополучно завершается. Нет – поступает во вторую группу.

Данные для реализации:

1. количество очередей

2. алгоритм планирования, действующий между очередями

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

4. правила появления нового процесса в очередь

5. правила перевода процесса из одной очереди в другую

 

Активность:

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

Условие Бейстрайна:

Для каждой атомарной операции берется набор входных (рейд) и выходных (райд) данных.

W

Q

1. Если W(p) и W(R) пересекаются пусто раз

2. Пересечение W(p) и W(Q) пусто

3. Пересечение R(p) и W(Q) также пусто

Следовательно, выполнение операций W(p) и W(Q) детерминировано.

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

1) Задача должна быть решена чисто программным способом, не используя специфических команд

2) Не должно существовать никаких предположений относительно скоростей выполнения процессов

3) Если какой-то i – процесс выполняется в критической секции, то не должны существовать процессы, выполняющие в свободной критической секции

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

5) Не должно возникать бесконечного ожидания для входа в критическую секцию



Должна существовать аппаратная команда: проверить и установить.

 

Про тупики:

 

Виды к тупикам:

1) ……

2) Использовать

3) Освобождение

4 условия возникновения тупиков:

1) Взаимоисключение: каждый ресурс выделен одному процессу (монопольное использование ресурсов)

2) Ожидание: процесс удерживает за собой ресурсы, уже выделенные им, может при этом ожидать выделение дополнительных ресурсов

3) Неперераспределяемость: ресурс, выделенный процессу, не может быть принудительно отдан, процесс отдает сам.

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

Для тупиковой ситуации необходимо все 4 условия.

Борьба с тупиками:

1. игнорирование (алгоритм Страуса)

2. обнаружение тупиков

3. восстановление после тупиков системы

4. предотвращение условий возникновения

Условия:

Процесс А удерживает ресурс R и ожидает ресурс S

Процесс B претендует на ресурс Т

Процесс С претендует на ресурс S

Процесс D удерживает ресурс U и ожидает ресурсы S и T

Процесс E удерживает ресурс T и ожидает ресурс V

Процесс F удерживает ресурс W и ожидает ресурс S

Процесс G удерживает ресурс V и ожидает ресурс U

Является ли ситуация тупиковой?

 

 
 

 


– процесс

 

D, E, G в тупиковой ситуации

– ресурс

 

Есть процессы, вовлеченные в тупиковую ситуацию.

 

3) 1 способ: принудительный вывод процесса из системы для последующего использования его ресурсов.

2 способ: восстановление через откат назад. В ряде систем существует средство RESTART с контрольной точки.

3 способ: восстановление через ликвидацию одного из процессов.

Можно избежать тупика, если рационально использовать распределение ресурсов.

Алгоритм банкира:

Пусть у системы n ресурсов.

1) ОС принимает запрос от пользовательского процесса, если его максимальная потребность не превышает n.

2) Пользователь гарантирует, если ОС в состоянии удовлетворить его запрос, то устройства будут возвращены системе в конечное время.

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

4) Выделение устройств возможно, только если состояние системы остается надежным.

Ненадежное состояние не означает, что возникнет тупик.

 

Пусть 12 устройств, 3 процесса, 3 пользователя.

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

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

3 пользователь получил 5 устройств, максимально может потребоваться восемь.

Состояние системы надежно.

 

Недостатки:

1. Алгоритм исходит из конечного числа устройств.

2. Число пользователей должно быть постоянно.

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

4. Алгоритм требует, чтобы клиенты возвращали……………

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

Нарушение условия ожидания дополнительных ресурсов:

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

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

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

Про виртуальную память:

Время фиктивного доступа для присутствия страницы складывается:

1. Из времени обслуживания

2. Из времени чтения страницы из вторичной (внешней) памяти

3. Времени рестарта процесса

Все алгоритмы замещения страниц: локальные (отв. стр. у свободного процесса); глобальные (всех страниц).

 

 



<== предыдущая лекция | следующая лекция ==>
Планирование процесса | Архитектура Windows NT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.174 сек.