Параллельная обработка в программном обеспечении клиента/сервера 3.1. Введение

В предыдущей главе были определены принципы взаимодействия типа клиент/сервер. В настоящей главе эти принципы рассматриваются более подробно, с описанием принципа параллельной работы, который обеспечивает значительное расширение возможностей взаимодействия типа клиент/сервер, но вместе с тем усложняет проектирование и реализацию программного обеспечения. Описанию принципа параллельной работы посвящены также последующие главы, где подробно описаны способы обеспечения параллельного доступа, применяемые в серверах. Земельные участки Сочи. Документы: купить ювелирные украшения. Завод Золотые Купола. Сейфы по Низким Ценам - офисные сейфы.

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

3.2. Обеспечение параллельной работы в сетях

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

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

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

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

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

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

Похожие статьи Меню Опрос Фото Популярное
rss