Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 146

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 146 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 1462019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

По сс завершении второй процессор сигнализирует, что он готов к вы полнению следующей задачи. В равноправной системе олин процессор может послать 526 Глава 11. Распределенная обработка данных широковещательное сообгцение всем процессорам о том, что требуется выполнить некоторую задачу, и какой-нибудь свободный в данный момент процессор может ответить сообщением: «Я ее выполню».

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

В начале 80-х гг. использование терминалов являлось типичным методом взаимодействия с большой универсальной машиной. Когда персональные компьютеры (ПК) стали появляться на рабочих столах, для них были разработаны программы, имитирующие работу терминала. Таким образом, ПКмоглиработатьлокальнокакотдельныекомпьютеры,атакже могли служить терминалом для больших универсальных машин.

По мере того как П К становились более быстродействую вши и, выяснялось, что они могли бы решать вычислительные задачи, которые до сих пор выполнялись только на больших универсальных машинах. Для этого данные из большой машины можно было бы передавать на ПК и обрабатывать локально. Например, финансовая база данных большой компаниыи могла храниться на болыпой универсальной машине, а программа табличных вычислений для получения локальных статистических данных могла выполняться на ПК.

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

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

Основное влияние этой концепции на разработку языков программирования проявилось в отказе от хранения глобальных данных для программы. И сервер, и клиент имеют лишь ограниченный доступ к информационному содержимому программыы. Для эффективного вычисления результата программы необходимо разбить на отдельные части. Некоторые методы решения этих проблем уже обсуждались в нашей книге. Задачи в языке Аоа представ.чают одну из форм разделения программ на независимые части. Другим методом является вызов удаленных процедур' Вылов удаленных про пслу р был первым способом реализации распределенных приложений, позволявший псрспашпь в качестве параметров процедур и возврашать результаты в ниЛе основных элемептари ых ти пов лм вы х. В|~астояшее время в связи с иш рок им распространением объектно-ориентированного подхола разработаны специ алы пас технологии вызова металов улалсппых объектов и возвраьцеиия результатов в ниле объектов: ПСОМ, ВМВ СОВВА — Примем.

науч.ред. 11.6. Задачи н упражнения 527 (Вепюге Ргосес)иге Са[1, ВРС). Синтаксически вызов удаленной процедуры выглядит так же, как обычный вызов т>роцсдуры, за исключением того, что операционная система будет осуществлять вызов программы, выполняемой, возможно, другим процессором.

Вызовы удаленных процедур связаны с передачей сообщений и часто реализуются с помощью методики сообщений о>лп)>авив>ь-получил>ь (зепг]- гесе1уе), при которой клиент посылает сообщение о вызове удаленной процедуры на сервер, ожидающий иолумепил сообщения и затем отвечающий клиенту аналогичным способом. Широкоераспространениетехнологии >у">у">т'вызвалоинтсрес кразновидности клиент-серверной архитектуры шн>числений с промежуточным звеном'. Промежуточное звено — зто программный модуль, который использует закодированную информацию о множествах данных и создаст информацию, необходимую для класса приложения более высоко~о уровня. При такой организации пользователь взаимодействует с программным обеспечением клиента (например, уксЬ-браузсром), который, в свою очередь, взаимодействует с сервером.

У сервера имеется доступ к многочисленным ресурсам данных, и он извлекает информацию из некоторых ресурсов, чтобы создать новую информации> для пользователя. Более подробно мы обсудим зти вопросы в разделе 12.2. Вообще говоря, клиент-серверное программирование не требует внесения больших изменений в используемый язык программирования, если в него добавлен какой-либо механизм сообщений, например вызов удаленных процедур или какой-либо другой. Но структура самой программы становится более сложной. Программа должна быть разделена на фрагменты таким образом, чтобы минимизировать передачу сообщений по сети. Например, можно перемножать матрицы в программе-клиенте, каждый раз запрашивая с сервера очередную строку или столбец, но результирующий трафик сообп>ений может перегрузить сеть и сделать систему полностью непригодной к работе.

11.5. Рекомендуемая литература Параллельные системы обсуждаются в [26, 121]. Устройство ЫБС-машин рассматривается в статьях [24, 60 и 102], а в [111] описано несколько примеров В18С- архитектуры. В статье [73] описана разработка параллельных алгоритмов для М1М()-манинь Общий обзор вариантов организации параллельной архитектуры дается в [38].

Компьютеры с массовым параллелизмом обсуждаются в [42, 112]. Языки, нолдсрживаюгинс сохраняемые данные, представлены в [13], 11.6. Задачи и упражнения 1. Возможно лн реализовать опсрации на>1 и з>ояа1 семафора с помощью сообшсннй зеяй и гесе1ме? Напишите две процедуры з>Чяз1(Р) и нз>1(Р), Лрхмтектура системы канент-ссраср с промежуточаьач аксиом аатыаастса также трехсаойной.— 11римеч.

науч. ред. 528 Глава 11. Распределенная обработка данных которые взаимодейству1от с помощью сообщений, но семантически имеют тот же смысл, что и операции семафора на1л и з1дпа1. Какие проблемы с атомарностью возникают при таком решении? Операции нз1г и з1цпа1 могут использоваться множеством задач, применяющих один и тот же семафор. Как можно обобщить сообщения зепо и гесе1 че, чтобы они могли использоваться более чем одной посылающей и одной принимающсй задачей? 2. Одной из наиболес трудных задач в параллельных приложениях является получение ответа на вопрос «который час?».

Синхронизация часов в сети компьютеров может оказаться сложным делом, так как мы хотим, чтобы отсчитываемое на разных компьютерах сети время было бы абсолютно одинаковым, но сама передача точного времени на все компьютеры требует некоторого конечного промежутка времени. а) Предложитс метод сообщения значения времени всем процессорам в мультипроцессорной системе, так чтобы в результате на всех машинах время было в точности одлшаковым. б) Если в некоторой системе имеются отдельные функции для определения текущих значений времени и даты, к каким проблемам это может привести? (Рассмотрите проблему функциональной атомарности при определении времени близ полуночи. По этой причине в большинстве систем в настоящее время используется одна функция 7шеАпббзсе для определения текущих времени и даты.) 3.

Перслача параметров по ссылке и по значению-результату обычно дает один и тот жс эффект (с точки зрения программиста). Но если подпрограмма завершается в результате возникновения исключительной ситуапии и это исключение псрслается обработчику, расположенному вне данной подпрограммы (или оператором 5осо осуьчествляется переход к помеченному нелокальному оператору), два метода передачи параметров могут приводить к различным эффектам. Предположим, что в подпрограмме 5оо) параметр У имеет значение 5, затем этот параметр передается в подпрограмму 5аЬ2, в ней этому параметру присваивается значение 7 и затем генерируется исключение, которое передается обработчику из подпрограммы 5оЫ.

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

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

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