Главная » Просмотр файлов » Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления

Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169), страница 104

Файл №1087169 Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (Книга - Цифровые системы автоматизации и управления) 104 страницаГустав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169) страница 1042018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 104)

Необходимо должным образом подобрать приоритеты процессов, продолжитель ность квантов времени, размер страницы виртуальной памяти и другие параметры операционной системы. 10.3. ВЗаИМНЫЕ ИСКЛЮЧЕНИЯ и тупИКИ 10.3.1. Защита ресурсов При мультипрограммировании часто возникают ситуации, в которых прон~~ ессн соперничают за ресурсы. Если распределение таких ресурсов осуществляется ненР 1 а- вильно, это может привести к нарушению работы или даже к полной остановке сн сне темы. Под ресурсами подразумеваются не обязательно аппаратные компоненты принтеры, интерфейсы или доступ к сети, — это мокнут быть и области оператив" ной памяти (переменные), Классическим примером программной зашиты ресурсов яв ч ется бронирование авиабилетов. Перел полетом места в самолетах существуют толь к памяти системы бронирования.

Естественно, олно место не может быть предос- ва ,,рвл „ено двум клиентам, даже если они обращаются за билетом в разных кассах в одно ,ке время. Таким образом, информация о наличии мест является ресурсом, под- кто нашим защите, причем в данном случае этот ресурс сушестнует только в виде оо- ~ас гтн нами~и. Часть программы, в которой осуществляется доступ к тем или иныл1 образом за- и нн1енномУ РесУРсУ (Ргоэесэей гезоигсе), называетса кРитической секцией (спс(сн1 нгнон). СушествУет пРЯмаЯ аналогиЯ междУ защитой РесУРсов, РаспРеделением вРемени „уьцессора и арбитражем шины (раздел 8.2.10). Во всех этих случаях имеется огра- „„ченный ресурс — область памяти, процессорное время или шина, — который дол- хен распределяться между несколькими запрашивающими объектами безопасно, ~ффективно и справедливо.

Критерий распределения ресурсов, будь то простая цик- ккческая схема или более сложный алгоритм, основанный на приоритетах, должен ччелотвращать блокировки и тупики, предоставляя ресурс в течение обозримого кремени всем запрашивающим объектам, и обеспечивать максимальную производи- кхьность всей системы. Если различные процессы обрабатывают общие переменные, не придерживаясь ка- ый-либо определенной дисциплины, их взаимодействие может привести к нежела- гьчьным результатам, Это видно на примере двух процессов, работающих с одной пе- 1еменной, значение которой сначала считывается, а затем изменяется.

Если один цюцесс прерывается непосредственно после считывания и до изменения переменной, ю второй процесс может изменить ее значение за время ожидания первого процесса. Когда возобновляется исполнение первого процесса, он "не знает", что значение пере- кенной изменилось, и продолжает работать со старым. Кроме того, в многозадачной гкеде заранее не известно, когда процесс будет прерван и когда его исполнение возоб- ювнтся. Проблема состоит в том, что доступ обоих процессов к переменной никак не '"Раничеп.

При этом кон~роль формальной корректности различных программ не чемогает, если не принимаются во внимание эффекты возможного взаимодействия чрецессов. Ситуация, в которой результат зависит от случайного порядка выполне- к"я пРоцессов, называется ситуацией гонок (гасе сопйг(ои), Проблема защиты ресурсов (гг юигсе нгогесг1он) является центральной во всей те- чрнн и Р н мультипрограммирования.

В результате длительных серьезных исследований бмлн и ' н предложены различные стратегии ее решения, которые отличаются механиз- коми г 8 вы и главным образом по скорости доступа к защищаемому ресурсу. вышеприведенном примере переменная, доступная двум процессам, лолжна 1нссмат агриваться как ресурс, который необходимо защищать от конкурирующих из- менений енроизво ь й. Лля исключения ситуации гонок доступ процессов к ресурсам должен быть цм Р извольным и не дискриминационным, а соответстновать определенным правиМедленн пленные устройстна, которые могут использоваться процессом в течение лливремени (принтер, накопитель на магнитной ленте), обычно предоставля- ~льного в ся зап 'апрашивающему процессу исключительно в порядке очереди — кто раньше ~просил, ил, тот раньше и получает.

для обслуживания медленных устройств с после- 4ователь льным доступом иногда применяется механизм спулинга (цтоойл8), устрой- тво за чмх и крепляется монопольно за одним процессом — спулером (зроо1ег). для остал— — ь- ' пРоцессов операции с устройством имитируются с помощью временных файлов, 430 Глава 10. Программирование систем реального в Римини 1и Э юзппмпма поппяэяеппп и т~ппип из которых организуется очередь. Спулер последовательно выводит файлы из о очеэи ди на закрепленное за ним устройство . Сеть является довольно быстрым аппаратным ресурсом, который, с одной стор "ороин должен быть защищен от одновременного доступа, а с другой — доступен мво ноги,„ пользователям. Методы доступа к среде передачи в локальных сетях рассматри элисс в разделе 9.5.

Эти методы имеют много общего с методами защиты ресурсов, испод емыми в программировании. Однако для защиты ресурсов с очень малым врем „ менем доступа, к которым непрерывно обращаются различные процессы, — например, и менные в памяти, записи в файле иии интерфейсы ввода/вывода на общей шине — используются другие методы, которым в основном и посвящен этот раздел.

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

Для этого ЦП запрещается реагировать на сигналы прерывания с помощью операции маскирования прерываний (гпяеппрс тай1пй). Одновременно блокируется переключение процессов поскольку оно происходит по прерыванию. Таким образом гарантируется работэ процесса без прерываний, пока он обращается к общему ресурсу. Такое решение, оие видно, не является лучшим. Прерывания обычно должны быть разрешены постоя»' но, чтобы обеспечить быструю реакцию на особые условия, которые требуют нем~я ленного внимания.

В системе управления часть программных модулей работая~" ет ио вполне прерываниям, и если они запрещены, то процессор не оудет реагировать на впал обоснованные запросы. Если к тому же отсутствует механизм буферизации прервал ний, то они могут быть потеряны. Поэтому запрет прерываний должен использов ьзоватьешеиия. ся с большой осторожностью и только в случае, когда нег никакого другого реши ия очеис В любом случае запрещать прерывания можно только на время выполнения о короткой последовательности команд процесса. 10.3.2. Взаимное исключение тельны" Как отмечено выше, запрет прерываний может носить только исключител юч ения характер.

Другой подход к защите ресурсов основан на взаимном искл ока эти~ (тигиа1 ехс1ия)оп). Никакой процесс не может получить доступ к ресурсу, по ресурс пе будет явно освобожден процессом, который захватил его первым. дел 1 Слово эроо1 — это аббревиатура от яапийапеою рапрвета! аретнапэ оп йпе — парад пая работа с периферийными устройствами. Корректная защита ресурсов предполагает следующее: В лсобой момент времени доступ к защищенному ресурсу имеет только од~ процесс.

э, Процессы остаются взаимно независимыми. Остановка одного из процессов1 должна препятствовать продолжению других. Сформулированные требования соответствуют двум характеристикам — безопиости и живучести. Безопасность (яаЕегу) означает, что доступ к защищенному и рсу в люоои момент времени возможен только со стороны одного из процесс! )Кивучесть (йпепеяя) означает, что программа когда-нибудь обязательно будет в~ иолнена, инымн словами, что она не остановится и не будет ждать бесконечно. Бе". изсность — это статическое свойство, а живучесть — динамическое. Безопасное нежно добиться за счет частичного или полного отказа от параллельного исполнен процессов. В действительности наиболее надежными являются строго последо| тельные программы, поскольку в этом случае вообще невозможен параллельный я ступ к ресурсу из различных частей программы.

Распространенный метод управления доступом к ресурсам — применение пе1 пенных зашиты. Простейший метод защиты основан на одной двоичной перемени 11, Эта переменная изменяется обоими процессами таким образом, что один из н имеет доступ к защищенному ресурсу, когда Е1 = сгпе, а другой — когда Е1 = Еа1зе. ргоягаш ргосесс ехашр1е (' защита ресурса ') уаг Е1: Ьоо!еап; Ьея!и Е1:= сгце; соЬея!и тиЬ!!е 1гце с!о (' бесконечный цикл ') Ьея!и (' процесс А ") гереас ппС!! Е1 = Фгце; (" защищенный ресурс ") Е1:= Еа!яе; епс1; (* процесс А ') сиЬ!!е сгце с!о (' бесконечный цикл *) Ьей!и (" процесс В ") гереас цпБ! Е1 - Еа1яе; (' защищенный ресурс ') Е1;= стае; епс1;(* процесс В *) соепс1; епс! ( Ргосесс ехашр1е я) 433 лмм» ~ о. ~ ~рю Раммирсвание систем Реального вр ем пп Взаимные исключениЯ и тУпики 10.3 Это решение удовлетворяет принципу взаимного исключения — два про, оцессц проверяют переменную С1 и входят в критическую секцию только тогда, когда Й имеет разные значения.

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

Характеристики

Тип файла
DJVU-файл
Размер
5,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6559
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее