Файл: Технология «клиент-сервер» (Определение сервера и клиента ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 40

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Основные принципы построения распределённых информационных систем

    1. Основные принципы структурного подхода

В основу функционально-модульного подхода положен принцип алгоритмической декомпозиции, в соответствии с которым производится разделение функций ИС на модули по функциональной принадлежности, когда каждый модуль системы реализует один из этапов общего процесса. Традиционный функционально-модульный подход к разработке ИС предусматривает строго последовательный порядок действий (так называемая "модель водопада"). По мнению Страуструпа[1], главный недостаток модели "водопада" заключается в склонности информации течь только в одну сторону. Если проблема оказывается "внизу по течению", то часто возникает сильный организационный и методический нажим с целью проводить лишь ограниченные исправления и разрешить проблему без воздействия на предыдущие стадии проекта. Такая недостаточная обратная связь приводит к проектированию, ущербному во многих отношениях, а ограниченные исправления ведут к деформированным реализациям[9]. Изменение требований к системе может привести к ее полному перепроектированию, поэтому ошибки, заложенные на ранних этапах, сильно сказываются на времени и конечной цене разработки. Ориентация на такую последовательную модель увеличивает вероятность того, что будет утрачен контроль над решением возникающих проблем.


    1. Неоднородность ресурсов в распределенных системах

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

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

    1. Концепции и принципы объектного подхода (Классы и объекты)

Основные понятия объектно-ориентированного подхода - объект, класс и экземпляр.

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

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

Таким образом, объект - это типичный представитель класса, а термины "экземпляр объекта" и "элемент класса" равнозначны.

С точки зрения объектного моделирования понятия "описание класса" и "описание объекта" эквивалентны, так как для определения множества схожих элементов, образующих класс, достаточно описать его типичного представителя, то есть объект.


Следующую группу важнейших понятий объектного подхода составляют инкапсуляция, наследование и полиморфизм.

Объектный подход предполагает, что собственные ресурсы, которыми могут манипулировать только методы самого объекта, скрыты от внешних компонентов. Сокрытие данных и методов в качестве собственных ресурсов объекта получило название инкапсуляции.

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

Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.

    1. Особенности применения объектного подхода

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

Класс объектов, кроме структур данных, определяет функции (методы), применимые к этим структурам.

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

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


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

Сетевые операционные системы

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

Выбор серверных ОС для корпоративных сетей на базе ПК весьма широк: Windows NT, OS/2, Novell NetWare, UNIX и Mac OS с сетевыми службами AppleShare и AppleTalk. Как правило, эти ОС способны функционировать и в качестве ПО клиента, и в качестве ПО сервера. Более того, часто существует «младшая» версия для настольных ПК. Такие программные продукты как Windows NT Workstation, OS/2 Workstation, и ПО рабочей станции от NetWare, по существу, представляют собой несколько упрощенные версии своих «старших братьев», работающих на серверах.

Раз у сетевой операционной системы так много обязанностей, то она должна работать с максимально возможной скоростью. Добиться этого удаётся с помощью «трёх М»: многопоточности, многозадачности и многопроцессорности.

    1. Многопоточность

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


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

    1. Многозадачность

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

Многозадачность в любом виде выгодна, как средство повышения производительности. На сильно загруженном сервере, например, преимущества очевидны. Ясно, что выигрыш будет ещё более, если многозадачность реализована на компьютере-клиенте - это позволяет ещё лучше координировать взаимодействие сервера с клиентом и управлять им с ещё большей эффективностью, нежели в случае, когда клиент и сервер в определённый момент времени решают вместе или порознь одну единственную задачу.

    1. Многопроцессорная обработка информации

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

Многопроцессорная обработка может быть симметричной и асимметричной[3]. При симметричной обработке любой процесс может быть поручен любому, в данный момент свободному процессору.

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

В силу больше гибкости симметричной обработки, система с ее поддержкой обеспечивает два важных преимущества.

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

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