Главная » Просмотр файлов » ПОД (пособие)

ПОД (пособие) (1184372), страница 45

Файл №1184372 ПОД (пособие) (ПОД (пособие) - Ельцин) 45 страницаПОД (пособие) (1184372) страница 452020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

п.7.). В других ситуациях ее использование не допускается.Дополнительная спецификацияДополнительная спецификация ss и rs , как видно из синтаксиса, являетсянеобязательной.ss есть ERR = lи / или SRSTAT = iosгдеl - специфицирует метку, которой передается управление в случае ошибки припередаче сообщения;145ios - имя переменной или элемента массива целого типа; специфицирует статуссостояния (аналог спецификации IOSTAT в операторах ввода/вывода).В результате выполнения оператора, переменной ios присваиваетсязначение O , если не было обнаружено ошибки, и положительное значение,если обнаружена ошибка.

Классификация видов ошибок определяется реализацией языка.Если спецификация SRSTAT отсутствует, то значение статуса состояния присваиваетсясистемной переменной.Если спецификация ERR отсутствует, то в случае ошибки, задача (и вся программа)завершается выполнением стандартной процедуры ABORT.В качестве дополнительной спецификации rs для оператора RECEIVE, помимоаналогичных спецификаций ERR и SRSTAT, можно также использовать необязательнуюспецификацию SENDER, т.е.rs есть ERR = lи / или SRSTAT = iи / или SENDER = tгде t - переменная типа TASKID.Cпецификацию SENDER полезно использовать, если отсутствует имя процессаотправителя. Переменной t после выполнения оператора RECEIVE присваивается значениеимени процесса-отправителя.Замечание.1.Способ передачи сообщения и число элементов в списках оператора SEND исоответствующего оператора RECEIVE должны совпадать; для каждого элемента - тип, адля массивов также размерность и конфигурация должны соответствовать друг другу.Конфигурация массива - это одномерный массив целого типа, размер которого равенразмерности исходного массива, а элементы равны размерам соответствующих измерений.Несоответствие структуры данных при синхронной передаче считается ошибкой вобоих процессах , при других способах передачи - ошибкой в задаче-отправителе.2.

Если значение переменной адресата есть .NOTASKID. или ссылка на завершенныйпроцесс, оператор обмена для этого процесса не выполняется, а спецификация SENDERполучает значение .NOTASKID. .3.Не считается ошибкой наличие в почтовом ящике невостребованных сообщений призавершении процесса.Использование операторов передачи сообщенийСинхронный режим передачи сообщенийПо определению, синхронный режим передачи сообщений требует одновременноговыполнения в процессах соответствующих операторов, что при расслогласовании работыпроцессов может быть источником "зависания" программы. Достоинством данного методапередачи сообщений является принципиальная возможность проводить обмен данными безиспользования системных буферов, что может ускорить время обмена.Операторы передачи сообщений с пустым списком данных могут использоваться длясинхронизации вычислений программы.Для этого в процессе, управляющем синхронизацией, следует выполнить оператор:SEND(ALL), во всех процессах программы - RECEIVE (T1),где Т1 должен ссылаться науправляющую задачу.

Управляющий процесс продолжиться только после выполнения вовсех задачах оператора RECEIVE. Оператор SEND(А) требует синхронизации только отпроцессов, образованных по программе-задаче А, а SEND(ТМ) - от процессов, на которыессылаются элементы массива ТМ. Если процессам известно, что рандеву будет требоватьначальный процесс, то их синхронизирующий оператор может быть записан: RECEIVE(МАSТЕR()). Точная синтаксическая запись: Т1=МАSTER()RECEIVE (T1)146так как в параметрах операторов передачи сообщений не разрешается использованиявыражений.

Реализации могут иметь расширенное толкование семантики, в частности,допускать использование функций типа TASKID в позициях переменных этого типа.Некоторые реализации могут запрещать в операторах приема сообщений неявные циклы,управляемые параметром, находящимся в этом же списке ввода. Так, в Фортране МВКзапрещены такие конструкции: RECEIVE (<..>) N, (KM(I),I=1,N)Асинхронный режим передачи сообщенийИспользование данного способа обмена сообщениями делает программу еще менеекритичной к согласованию операторов обмена сообщениями, так как процесс-отправительпродолжает работу после передачи сообщения, не дожидаясь конца фактической передачисообщения (и даже начала, так как система интерпретации "должна" сразу же, скопировавпередаваемые данные в буфер, "отпустить" процесс) .

Получатель сообщений этого типаможет выдавать директиву приема сообщения, только удостоверившись в наличии нужногосообщениявпочтовомящикепроцессаприпомощифункций:TESTMSG,TESTTAG,PROBE. Выполнение оператора RECEIVE без проверки наличиясообщения в почтовом ящике процесса, по аналогии с синхронным способом обмена,приводит к задержки выполнения процесса до приема сообщения с заказанным тегом и,возможно, с заданным именем отправителя. Но в отличие от синхронного способа,асинхронный способ позволяют проводить селекцию поступающих сообщений при помощиконструкций выбора.

Пусть процесс может получать сообщения с тегом 1, но от процесса TI- скаляр целого типа, а от процесса TM(1) - массив из 100 целых чисел. Тогда,прием такихсообщений может быть запрограммированно так:IF (TESTTAG(1)) THENSELECT MESSAGECASE(1,TI)RECEIVE (1) KCASE(1,TM(1))RECEIVE (1) KMEND SELECTEND IF или:SELECT MESSAGECASE(1,TI)RECEIVE (1) KCASE(1,TM(1))RECEIVE (1) KMCASE DEFAULTGO TO 2END SELECT 2 CONTINUEОжидание этих сообщений, то есть, по аналогии с синхронной передачей сообщений,прерывание работы процесса до получения сообщения (в данном случае любого изожидаемого) записывается так:SELECT MESSAGECASE(1,TI)RECEIVE (1) KCASE(1,TM(1))RECEIVE (1) KMEND SELECTЕсли сообщения различаются тегами, то конструкция их ожидания может иметь вид:SELECT MESSAGECASE(1)RECEIVE (1) K147CASE(2,TM(1))RECEIVE (2) KMEND SELECTРежим передачи сообщений без ожиданияПередачи сообщений этого типа рекомендуется использовать для передачи данных"впрок", заблаговременно.

Если после операторов SEND / RECEIVE без ожидания,поместить операторы: CALL MSDONE(L),семантика операторов будет совпадать с семантикой асинхронных операторов. Следуетиметь ввиду, что при использовании операторов данного вида в цикле без использованияпроцедур ожидания фактической передачи сообщений возможно искажение передаваемыхданных; семантика функции TESTFLAG при этом будет двусмысленной.Структура элементов списка передаваемых сообщенийСтруктура элементов списка передаваемых (принимаемых) сообщений, как объявлено,совпадает с списком ввода вывода операторов обмена Фортрана. Широкие возможностипредоставляет аппарат неявных циклов.Пусть имеются описания: REAL A(10),B(5,5). Тогда оператор:SEND(ALL)A,(B(I),I=1,5),(B(I,1),I=1,5),(B(I,I),I=1,5) перешлет всем процессампрограммы следующие объекты: - массив А целиком, - первый столбец массива В, диагональные элементы массива В.Этим способом можно организовать не только передачу (прием) любых вырезок ихмассивов, но и множества одинаковых данных, например, переслать пять копий массива В:SEND(ALL)(B,I=1,5)Идентификация абонентов при передачи сообщений в языке ФортранGNS.Идентификация абонентовИдентификация абонентов при организации передачи сообщений может производится поимени процесса (массиву имен) или идентификатору задачи, по описанию которойобразован процесс.

Есть способы безадресных (широковещательных) посылок сообщений "всем", и приема от произвольного отправителя сообщений с заказанной "маркой" - тегом.Идентификация абонентов может быть произведена:а) По имени процессаОсновным способом идентификации абонентов при передаче сообщений являетсязадание имени процесса (системного идентификатора) переменными типа TASKID истандартными функциями этого типа MYTASKID, РАRENT и МАSTER. Использованиеэтих стандартных функций является единственным первоначальным способом сослаться изпорождаемых процессов на имена порождающих процессов, так как начальный диалогмежду процессами возможен только на уровне порожденный-порождаемый. Путем обменасообщениями можно организовать передачу имен процессов для организации произвольнойабонентской сети.Переменные типа TASKID - параметры операторов передачи сообщений могут:- ссылаться на функционирующий процесс,- ссылаться на завершенный процесс,- иметь значение .NOTASKID.,- быть не инициализированными.148Реакция программы на три последних случая не оговаривается в языке и определяетсяреализацией.

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

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

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

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

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

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

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