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

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

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

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

10.4.2. События ным В некоторых случаях несколько процессов, имеющих д у ост п к обшим дан ельно должны работать с ними только при выполнении некоторых у ых словий, необязатель может '. у вием, нап имер, мох связанных с данными и разных для каждого процесса. Услов, р бьггь поступление новых данных на входной порт Все процессы имеют следую"'" структуру Ьея!и я а!С цп61 сонг)!гсов; шогЫу г!ага; епг! Программа делится на две основные части.

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

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

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

зегпарЬоге, с(галде; ечепс; Ьея!п ч Ь!1е пос санс!!с!ап г(о ачга!с(с!запде)' чга!С( тигех); (* обработка общих переменных *) з!йпа1(тигех); савве(сйипяе); епд; П ик. " """ переменной епепс все процессы проверяют оп щоп, 'олька о те из них, для которых сопйгсап выполнено, могут продолжаться Лоступ Глаг, гол Го игла!с имеет значение не только ждать", но н "предстоять", т. с, конструкцию зьа!с гдз (д) можно трактовать, как "прелст"и" о"ь'тне А", Глагол т саизе означает "бьггь врн- т соб ~ннов", б ' ", побудительным мотивом, "вызнат ~о" т. е. конструкция савве (А) интерпре- ть что-либ ", Руется кзк "вызвать событие А" (в литературе н з операционнгях системах иногда вслоль- йнзтся н другве названия). — примем. Лзэ 440 Глава 10. Программирование систем реального врем мвни ~!) б, Обмен инФормацией между процессами 441 к общему ресурсу защищен с помощью семафора пзигех, при этом продолжае .

ается только один процесс. Это решение проще, чем основанное только на семафа, фарах Оно также более эффективно, поскольку процессы проверяют условия только т о тат. да кагьга"'имее!'смысл 'е п'сне изь!спецназначения соответствующих пер. переменных. Важный тип события в системах реального времени связан с внешними преры ываниями. Программа обработки — обработчик прерываний — ждет прерывания )(о„ оно происходит, исполнение обработчика возобновляется. 10.5. Обмен информацией между процессами 10.5.1.

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

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

10.5.2. Почтовые ящики Другой метод, позволяющий одновременно осуществлять обмен данными и ся" и сянх ронизацию процессов, — это почтовые ящики. Почтовый ящик представляет со собой структуру данных, предназначенную для приема и хранения сооошений (рис 1 чтовык Для обмена сообщениями различного типа можно определить несколько почто ящиков. ваимка гвобшгнмя отправка сообщения Рис. !0.8.

Работа почтового ящика Во многих операционных системах почтовые ящики реализованы в виде л „„„ ких файлов, доступ к которым аналогичен доступу к физическим файлам. С почтовыми якциками разрешены следующие операции: создание, открытие, запись/чтение шобшения, закрытие, удаление. В некоторых системах подде" "живаются дополниеяьные служебные функции, например счетчик сообщений в поч о почтовом ящике или гение сообщения без удаления его из ящика. Почтовые ящики размещаются в оперативной памяти или на диске и существуют явшь до выключения питания или перезагрузки. Если они ". з и ".изически расположены „„Лиске, то считаются временными файлам!и, уничтожаемым * .

и после выключения системы. Почтовые ящики не имекот имен подобно реальным " ьным "'аилам — при создании яи присваиваются логические идентификаторы, которые и.польз сп льзуются процессами яри обращении. Для создания почтового ящика операционная система опред ' определяет указатели на область памяти для операций чтения/записи и соответствующ е ие переменные для защиты доступа. Основными метолами реализации являются л б б яютсяли о у ер,размеркоторого задается при создании ящика, либо связнный список, кото , которыи, в принципе, не накладывает никаких ограничений нз число сообщений в почтовом ящике. В наиболее распространенных реализациях процесс, посылающий сообщение, записывает его в почтовый ящик с помощью оператора, похожего на оператор записи в файл рцс ша11Ъох (Ф1, шсзэаяе) Лналогично, ля пол , д учения сообщения процесс считывает его из почтового яп!ики с помощью оператора вила йес шак1Ъох (41 шеэзаяе) Запись сааб ени ш я в почтовый якцик означает, что оно просто копируется в какянный почтовый я ик.

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

е. почтовый ящик — это примеР мзюшую стачктчп анных яасснческойоче ели,о гани р д, р анизованнои по принципу Е)ЕО. Операция чтения из цуср р зличным результатам в зависимости от способа реализавго ящика приводит к азли блоки либо возвпащается п с р щ ся пустая строка (нулевой длины), либо операция чтения теяьн окируется до полччения соо У ообщения. В последнем случае, чтобы избежать нежелаьной остановки и оцесса, н Р ц ' а, необходимо предварительно проверить число сообщеимеющихся в данный момент в ящике. 10, 5 3 Каналы Канал! сани из аз (РРе) прелставляе т собой средство обмена данными между двумя процес- ывает, а другой считывает символы.

Этот механ б из которых олин запись оначально аз аоот а изм ыл ямх ола процесса. В разраоотан лля срелы О)ч1Х как срелство перенаправ ОС (кь!1)( физические Устройства ввода/ к! 1Х е РавлениЯ входа и к файл ввода/вывода рассматривают к ф йлы, а кажлая программа имеет станлаРтиое е устройство ввода (вход) и стан- 0 русской литературе также используется тепм" н Гкон ".

— П онвсйер". — Примеч. рвд. 442 Глава 10. Программирование систем реального вр време ни дартнос устройство вывода (выход), клавиатуру и экран монитора — можно о переоп. рсделить, например, с помощью файлов. Когда выход одной программы пере Ренапрап- ляется на вход другои, создается механизм, называемый каналом (в операл Рацион„ц системах для обозначения канала используется символ 1"). Каналы приме имевяются и операционных системах (31ч'1Х, 09/9 и лЪ'1пе(олуз г(Т в качестве средства связ связи меж процессами (программами). жлу Каналы можно рассматривать как частный случай почтового ящика, Р азлвчне между ними заключается в организации потока данных — почтовые ящики раб и Р отают с сообщениями, т. е. данными, для которых известны формат и длина, а канэл палы прин. ципиально ориентированы на неструктурированные потоки символов.

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

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

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

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

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