Архитектура вычислительного процесса

Сервисные и инструментальные системы

Сервисные системы

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

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

Рис. 3.5 Роль операционной среды

Оболочка [shell] – система, изменяющая пользовательский интерфейс. Оболочка создаёт для пользователя интерфейс, отличный от такового самой операционной системы. Задача оболочки – упрощение некоторых общеупотребительных действий с операционной системой. Однако оболочка не заменит ОС, и потому пользователь-профессионал должен изучать также командный интерфейс самой ОС.

Утилита [utility] – это система, дополняющая пользовательский интерфейс. Утилиты реализуют важные функции по управлению ЭВМ, которые, как правило, недостаточно полно представлены в программах, поставляемых с операционной системой.

Наиболее важными функциями утилит являются:

§ обслуживание жёсткого диска: форматирование, восстановление удалённых файлов, дефрагментация, низкоуровневое редактирования дисков и др.;

§ обслуживание файлов и каталогов: поиск, сортировка, копирование по определённому условию и т.д.;

§ работа с архивами: создание архивов и их обновление, сжатие файлов;

§ защита от компьютерных вирусов: обнаружение вирусов, лечение файлов;

§ предоставление пользователю расширенной информации и ПЭВМ и ОС;

§ шифрование информации.

Пример

Наиболее известные операционные среды - Windows3.11 и DESQview, которые предназначались для расширения возможностей ОС MS-DOS. Для пользователя работа с этими оболочками выглядела подобно работе в многозадачной ОС с графическим интерфейсом, поэтому многие зачастую ошибочно называли Windows3.11 операционной системой.

ОС Unix имеет в своём составе, как правило, несколько оболочек, которые отличаются друг от друга в основном форматом и набором команд. Самой популярной оболочкой для MS-DOS являлась программа Norton Commander, которая стала прообразом для многих других подобных программ для ОС Windows95: Windows Commander, FAR-Manager и др.

В своём составе Windows95 имеет некоторые утилиты: для проверки диска Scandisk, для дефрагментации диска Defrag, планировщик заданий Scheduler, которые устанавливаются на ПЭВМ по желанию пользователя. Наиболее известными утилитами как для MS-DOS, так и для Windows95 остаётся комплекс программ Norton Utilities.

Широко используемыми утилитами являются архиваторы. К ним относятся, например, WinZip, WinRar, WinArj, которые отличаются по сути только используемым алгоритмом сжатия.

Инструментальные системы

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

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

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

В её состав включаются:

§ компилятор и/или интерпретатор;

§ редактор связей;

§ среда разработки;

§ библиотека стандартных подпрограмм;

§ документация.

Компилятор [compiler] – это программа, выполняющая преобразование исходной программы в объектный модуль, то есть файл, состоящий из машинных команд. Интерпретатор [interpreter] – программа, непосредственно выполняющая инструкции языка программирования.

Редактор связей [linker] – это программа, которая собирает несколько объектных файлов в один исполняемый файл.

Интегрированная среда разработки [integrated development environment - IDE] – совокупность программ, включающая в себя текстовый редактор, средства управления файлами программного проекта, отладчик [debugger] программ, которая автоматизирует весь процесс разработки программ (см. рис. 3.8).

Библиотека стандартных подпрограмм [standard library] – набор объектных модулей, организованных в специальные файлы, которые предоставляются производителем системы программирования. В таких библиотеках имеются обычно подпрограммы ввода-вывода текста, стандартные математические функции, программы управления файлами. Объектные модули из стандартной библиотеки обычно автоматически подключаются редактором связей к пользовательским объектным модулям.

Рис. 3.8 Этапы разработки программ

Системы быстрой разработки приложений [rapid application development - RAD] представляют собой развитие обычных систем программирования. В RAD-системах во многом автоматизирован сам процесс программирования. Программист не пишет сам текст программы, а с помощью некоторых наглядных манипуляций указывает системе, какие задачи должны выполняться программой. После чего RAD-система сама генерирует текст программы.

Архитектура вычислительного процесса

Архитектура приложения

Все компьютерные программы по логике их работы можно представить в виде, показанном на рис. 4.6.

Рис. 4.6 Архитектура приложения

Интерфейс пользователя – это набор программ, которые обеспечивают взаимодействие приложения с пользователем: графический интерфейс, система сообщений об ошибках и т.д.

Прикладная программа – это ядро приложения, которое выполняет основные функции данного приложения: перевод текста, математические расчёты и т.д.

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

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

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

Различают четыре способа организации вычислительного процесса:

§ централизованная архитектура;

§ распределённая архитектура;

§ архитектура клиент-сервер;

§ многозвенная архитектура.

Централизованная архитектура

Классическое представление централизованной архитектуры показано на рис. 4.7.

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

Рис. 4. 7 Централизованная архитектура вычислительной системы

Все приложения, работающие в такой архитектуре, полностью находятся в основной памяти хост-ЭВМ. Терминалы являются лишь устройствами ввода-вывода и таким образом в минимальной степени поддерживают интерфейс пользователя рис 4.8.

Рис. 4.8 Архитектура централизованного приложения

Такая архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. Их работой управляет хост-ЭВМ. Достоинства такой архитектуры состоят в том, что пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства. Кроме того, централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы. Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – всё используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая, например, супер-ЭВМ.

Распределённая архитектура

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

Рис. 4. 9 Распределённая архитектура вычислительной системы

Как видно из рис. 4.10, основная обработка данных происходит на клиентных ЭВМ, то есть клиенты в отличие от терминалов должны обладать некоторыми ресурсами, поэтому их называют «толстыми» клиентами.

Распределённая архитектура лишена недостатков централизованной архитектуры, к тому же дорогие периферийные устройства (принтеры, RAID-массивы) в такой архитектуре также могут использоваться совместно.

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

Пример

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

Рис. 4.10 Архитектура распределённого приложения

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

Архитектура клиент-сервер

Вычислительная система, соответствующая архитектуре клиент-сервер состоит из трёх компонентов:

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

§ клиента, предоставляющего интерфейс пользователя, проверяющего допустимость данных, посылающего запросы к серверу;

§ сети и коммуникационного оборудования.

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

Пример

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

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

Рис. 4. 11 Архитектура приложения типа клиент-сервер

В случае архитектуры клиент-сервер сервер баз данных должен обладать высокой производительностью.

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

Многозвенная архитектура

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

Рис. 4.12 Многозвенная архитектура

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

Рис. 4.13 Архитектура многозвенного приложения

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

 


Дата добавления: 2020-01-07; просмотров: 367; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!