Компьютерные сети и телекоммуникации: различия между версиями
Vovan (обсуждение | вклад) (→Профили стандартов Открытых Систем) |
Vovan (обсуждение | вклад) (→Заключение) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 433: | Строка 433: | ||
Во-вторых, требуется выработать и согласовать стандарты интерфейсов на разработку или приобретение аппаратных и программных средств. | Во-вторых, требуется выработать и согласовать стандарты интерфейсов на разработку или приобретение аппаратных и программных средств. | ||
+ | |||
+ | ===Иерархия представления архитектуры системы обработки данных=== | ||
+ | |||
+ | <table border="1"> | ||
+ | |||
+ | <tr valign="top"><th rowspan="2"> Уровень архитектуры системы обработки данных </th><th colspan="4"> Компоненты системы обработки данных </th></tr> | ||
+ | |||
+ | <tr valign="top"><td> Интерфейсы </td> | ||
+ | |||
+ | <td> Средства обработки данных </td> | ||
+ | |||
+ | <td> Представление и хранение данных </td> | ||
+ | |||
+ | <td> Коммуникации </td></tr> | ||
+ | |||
+ | <tr valign="top"><th rowspan="2"> Среда для конечного пользователя и инструментарий прикладного программиста </th> | ||
+ | |||
+ | <td>Генераторы форм и отчетов</td> | ||
+ | |||
+ | <td>Утилиты и библиотеки</td> | ||
+ | |||
+ | <td>Языки программирования 4GL</td> | ||
+ | |||
+ | <td>OSI. Прикладной уровень</td></tr> | ||
+ | |||
+ | <tr valign="top"><td>Языки программные и командные языки (оболочки)</td> | ||
+ | |||
+ | <td>Прикладные программы</td> | ||
+ | |||
+ | <td>Языки запросов СУБД</td> | ||
+ | |||
+ | <td>OSI. Уровни сессий и представительный</td></tr> | ||
+ | |||
+ | <tr valign="top"><th rowspan="2">Операционная система</th> | ||
+ | |||
+ | <td>Средства оконного интерфейса</td> | ||
+ | |||
+ | <td>Верхний уровень ОС (организация процесса обработки)</td> | ||
+ | |||
+ | <td>Средства доступа к среде хранения</td> | ||
+ | |||
+ | <td>OSI. Транспортный уровень</td></tr> | ||
+ | |||
+ | <tr valign="top"><td>Драйверы</td> | ||
+ | |||
+ | <td>Ядро операционной системы</td> | ||
+ | |||
+ | <td>Файловая система</td> | ||
+ | |||
+ | <td>OSI. Сетевой уровень</td></tr> | ||
+ | |||
+ | <tr valign="top"><th rowspan="2">Оборудование</th> | ||
+ | |||
+ | <td>Системные интерфейсы (в т.ч. организация ввода-вывода)</td> | ||
+ | |||
+ | <td>Процессоры (система команд)</td> | ||
+ | |||
+ | <td>Организация памяти</td> | ||
+ | |||
+ | <td>OSI. Уровень передачи данных</td></tr> | ||
+ | |||
+ | <tr valign="top"><td>Периферийные устройства</td> | ||
+ | |||
+ | <td>Системная шина</td> | ||
+ | |||
+ | <td>Шины (интерфейс) массовой памяти</td> | ||
+ | |||
+ | <td>OSI. Физический уровень</td></tr> | ||
+ | |||
+ | </table> |
Текущая версия на 06:43, 16 октября 2009
Содержание
- 1 Лекция I
- 2 Лекция X
- 2.1 Открытые системы, процессы стандартизации и профили стандартов
- 2.1.1 Введение: понятие подхода Открытых Систем
- 2.1.2 Архитектура Открытых Систем
- 2.1.3 Преимущества идеологии открытых систем
- 2.1.4 Открытые Системы и объектно-ориентированный подход
- 2.1.5 Стандарты Открытых Систем
- 2.1.6 Профили стандартов Открытых Систем
- 2.1.7 Заключение
- 2.1.8 Иерархия представления архитектуры системы обработки данных
- 2.1 Открытые системы, процессы стандартизации и профили стандартов
Лекция I
Типы сетей
Типы среды передачи данных
Типы сетей по географическому признаку
Проводные сети (максимальное расстояние между сегментами, тип несущей)
Телефонные аналоговые
Коммутируемый удалённый доступ (англ. dial-up)[1] — сервис, позволяющий компьютеру, используя модем и телефонную сеть общего пользования, подключаться к другому компьютеру (серверу доступа) для инициализации сеанса передачи данных (например, для доступа в сеть Интернет, или для связи с узлом Фидонет).
Стандартные протоколы утверждены Международным телекоммуникационным союзом (ITU).
Эти данные являются максимальными значениями, и фактическими значениями, может быть медленнее при определенных условиях (например, шумные телефонные линии).
Соединение | Битрейт | ||||
---|---|---|---|---|---|
Модем 110 бод | 0.1 кбит/c | ||||
Модем 300 (300 бод) (Bell 103 или V.21) | 0.3 кбит/c | ||||
Модем 1200 (600 бод) (Bell 212A или V.22) | 1.2 кбит/c | ||||
Модем 2400 (600 бод) (V.22bis) | 2.4 кбит/c | ||||
Модем 2400 (1200 бод) (V.26bis) | 2.4 кбит/c | ||||
Модем 4800 (1600 бод) (V.27ter) | 4.8 кбит/c | ||||
Модем 9600 (2400 бод) (V.32) | 9.6 кбит/c | ||||
Модем 14.4 (2400 бод) (V.32bis) | 14.4 кбит/c | ||||
Модем 28.8 (3200 бод) (V.34) | 28.8 кбит/c | ||||
Модем 33.6 (3429 бод) (V.34) | 33.8 кбит/c | ||||
Модем 56k (8000/3429 бод) (V.90) | 56.0/33.6 кбит/c | ||||
Modem 56k (8000/8000 бод) (V.92) | 56.0/48.0 кбит/c | ||||
Аппаратная компрессия (переменная) (V.90/V.42bis) | 56.0-220.0 кбит/c | ||||
Аппаратная компрессия (переменная) (V.92/V.44) | 56.0-320.0 кбит/c | ||||
Веб-компрессия на стороне сервера (переменная) | 100.0-1000.0 кбит/c |
ADSL
ADSL (Шаблон:Lang-en — асимметричная цифровая абонентская линия) — модемная технология, превращающая стандартные телефонные аналоговые линии в линии высокоскоростного доступа.
Передача данных по технологии ADSL реализуется через обычную аналоговую телефонную линию при помощи абонентского устройства — модема ADSL и мультиплексора доступа (Шаблон:Lang-en, DSLAM), находящегося на той же АТС, к которой подключается телефонная линия пользователя, причём включается DSLAM до оборудования самой АТС. В результате между ними оказывается фактически простой кусок провода, без каких-либо присущих телефонной сети ограничений. DSLAM мультиплексирует множество абонентских линий DSL в одну высокоскоростную магистральную сеть. Также они обычно подключаются к сети ATM по каналам PVC (постоянный виртуальный канал Шаблон:Lang-en) с провайдерами услуг Internet и другими сетями. Стоит заметить, что два ADSL-модема не смогут соединиться друг с другом, в отличие от модемов Dial-Up. Разумеется, из-за необходимости установки оборудования на каждой АТС затраты на постройку и поддержание сети были заметно выше, чем в случае классического коммутируемого доступа, когда все модемы провайдера устанавливались на одной АТС, однако по сравнению со стоимостью других способов предоставления высокоскоростного доступа к сети Интернет технология DSL оказалась очень дешёвой.
Технология ADSL представляет собой вариант DSL, в котором доступная полоса пропускания канала распределена между исходящим и входящим трафиком несимметрично — для большинства пользователей входящий трафик значительно более существенен, чем исходящий, поэтому предоставление для него большей части полосы пропускания вполне оправдано.
Обычная телефонная линия использует для передачи голоса полосу частот 0…4 кГц. Чтобы не мешать использованию телефонной сети по её прямому назначению, в ADSL нижняя граница диапазона частот находится на уровне 26 кГц. Верхняя же граница, исходя из требований к скорости передачи данных и возможностей телефонного кабеля, составляет 1,1 МГц. Эта полоса пропускания делится на две части — частоты от 26 кГц до 138 кГц отведены исходящему потоку данных, а частоты от 138 кГц до 1,1 МГц — входящему. Полоса частот от 26 кГц до 1,1 МГц была выбрана не случайно. Начиная с частоты 20кГц и выше, затухание имеет линейную зависимость от частоты.
Передача к абоненту ведётся на скоростях от 1,5 до 8 Мбит/с, хотя сегодня существуют устройства, передающие данные со скоростью до 25 Мбит/с (VDSL), однако в стандарте такая скорость не определена. Скорость служебного канала может варьироваться от 15 до 640 Кбит/с. Причём каждый канал может быть разделён на несколько логических низкоскоростных каналов. Максимальная скорость линии зависит от ряда факторов, таких как длина линии, сечение и удельное сопротивление кабеля. Также существенный вклад в снижение скорости вносит тот факт, что для ADSL линии требуется витая пара (а не лапша) причём экранированная, а если это многопарный кабель, то и с соблюдением направления и шага повива.
Стандарт | Название технологии | Скорость исходящего потока, Мбит/с |
Скорость входящего потока, Мбит/с |
---|---|---|---|
ANSI T1.413-1998 Issue 2 | ADSL | 1,0 | 8 |
ITU G.992.1 | ADSL (G.DMT) | 1,0 | 8 |
ITU G.992.2 | ADSL Lite (G.Lite) | 0,5 | 1,5 |
Annex A
Annex A — разновидность стандарта ADSL для передачи высокоскоростных данных совместно с аналоговой телефонией.
При работе по аналоговой телефонной линии ADSL-модем использует каналы начиная с 6-го (частота 25.875 кГц). При этом каналы с 6 по 31 используются для передачи данных, а каналы с 38 по 255 — для приема данных. Annex A предусматривает возможность работы по протоколу G.lite, в этом случае для приема используются только каналы с 38 по 127.
Annex B
Annex B — разновидность стандарта ADSL для передачи высокоскоростных данных совместно с ISDN-телефонией или охранной сигнализацией.
Для работы ADSL-модема Annex B совместно с охранной сигнализацией необходима поддержка этого режима со стороны провайдера или оператора, предоставляющего услугу Интернет.
В соответствии со стандартом Annex B имеет следующее частотное распределение ADSL/ISDN:
В случае использования ISDN-телефонной линии (или линии с установленной охранной сигнализацией) первые 27 каналов не могут быть использованы, так как их занимает сигнал ISDN. Поэтому ADSL Annex B использует каналы с 33 по 57 для передачи данных и каналы с 63 по 255 – для приема данных, что сделало возможным его применение и на линиях POTS с охранной сигнализацией.
Сплиттеры для каждого из этих стандартов различные.
Коаксиальный кабель (IEEE 10Base2)
10BASE2 — вариант Ethernet, использующий в качестве среды передачи данных тонкий коаксиальный кабель типа RG-58(в противоположность кабелю 10BASE5), оканчивающийся BNC коннекторами. Каждый сегмент кабеля подключён к рабочей станции (компьютеру) при помощи BNC T-коннектора. На физическом конце сети Т-коннектор, присоединённый к рабочей станции также требует установки терминатора на 50 Ом.
При монтаже сети 10BASE2 необходимо уделить особое внимание прочности соединения кабелей с Т-коннекторами, и правильной установке нужных терминаторов. Некачественные контакты и короткие замыкания сложно диагностируемы, даже при помощи дорогих специальных устройств. Неполадки в любом сегменте приводят к полной нефункциональности сети целиком. По этой причине сети типа 10BASE2 было сложно поддерживать и чаще всего они заменялись сетями типа 10BASE-T, которые также представляли отличные возможности для апгрейда до типа 100BASE-TX.
Название 10BASE2 происходит от некоторых физических свойств передающей среды. Число 10 означает максимальную скорость передачи данных в 10 Мбит/с. Слово BASE является сокращением от baseband (принцип передачи данных без модуляции), а двойка является первой цифрой числа 200 — округлённой максимальной длины сегмента сети (точное значение — 185 метров).
Тип кабеля | Топология | Скорость | Максимальное расстояние |
---|---|---|---|
Коаксиальный (антенный), с волновым сопротивлением 50 Ом |
Шина (на концах шины устанавливаются терминаторы - резисторы 50 Ом) |
10 Мб/c (скорость по общей шине используется всеми подключенными узлами сразу) |
185 м (между концами шины) |
Витая пара (IEEE 802.3) 10BaseT, 100BaseTx
10BASE-T — физический интерфейс Ethernet, позволяющий компьютерам связываться при помощи кабеля типа «витая пара» (twisted pair). Название 10BASE-T происходит от некоторых свойств физической основы (кабеля). «10» ссылается на скорость передачи данных в 10 Мбит/с. Слово «BASE» — сокращение от «baseband» signalling (метод передачи данных без модуляции). Это значит, что только один Ethernet-сигнал может находиться на линии в конкретный момент времени. Другими словами, не используется мультиплексирование (multiplexing), как в широкополосных каналах. Буква «T» происходит от слова «twisted pair» (витая пара), обозначая используемый тип кабеля.
10BASE-T использует разъёмы типа 8P8C, обжатые согласно таблицам T568A или T568B, определённым в стандарте TIA/EIA-568-B. Используются только вторая и третья пара (оранжевая и зелёная). Если тип обжима на обоих концах сегмента одинаков, то такой сегмент подходит для передачи данных между концентратором (hub)/коммутатором (switch) и узлом сети (компьютером, например). Такой кабель обычно называют пачкордом (patch-cord, patch cable). Если тип обжима на разных концах кабеля противоположенный, такой кабель подходит для передачи данных между двумя узлами (компьютерами), или двумя шинами/коммутаторами. Такой кабель обычно называют кроссовером (crossover cable)
Оптоволоконный кабель FTTB
Оптоволоконная связь — средство связи на больших расстояниях, построенное на основе волоконно-оптических линий связи. Представляет собой связь между источником оптического излучения (полупроводниковым лазером или светодиодом) и приёмником (фотодиодом) через оптическое волокно. Скорость передачи данных может измеряться сотнями гигабит в секунду.
FTTB (Fiber To The Building / Block) -- предусматривает заведение волокна непосредственно в здание (многоквартирный дом, офисный центр и т.п.). Этод подход облегчает решение задачи с электропитанием активного сетевого оборудования и позволяет повысить скорость передачи данных засчет меньшей протяженности медного участка кабеля (по сравнению с FTTN/FTTC).
История развития оптоволоконной связи
PLC Интернет из розетки
PLC (англ. Power line communication) — относительно новая телекоммуникационная технология категории «последняя миля». Так называемый «Интернет из розетки», базирующаяся на использовании внутридомовых и внутриквартирных электросетей для высокоскоростного информационного обмена.
В этой технологии, основанной на частотном разделении сигнала, высокоскоростной поток данных разбивается на несколько низкоскоростных, каждый из которых передается на отдельной частоте с последующим их объединением в один сигнал.
При этом PLC-устройства могут «видеть» и декодировать информацию, хотя обычные электрические устройства — лампы накаливания, двигатели и т. п. — даже «не догадываются» о присутствии сигналов сетевого трафика и работают в обычном режиме.
В настоящий момент технология широко используется в Европе и Америке.
Беспроводные сети
BlueTooth
Wi-Fi (802.11)
Существует два основных направления применения беспроводных компьютерных сетей:
- Работа в замкнутом объеме (офис, выставочный зал и т. п.);
- Соединение удаленных локальных сетей (или удаленных сегментов локальной сети).
Для организации беспроводной сети в замкнутом пространстве применяются передатчики со всенаправленными антеннами. Стандарт IEEE 802.11 определяет два режима работы сети — Ad-hoc и клиент-сервер. Режим Ad-hoc (иначе называемый называемый «точка-точка») — это простая сеть, в которой связь между станциями (клиентами) устанавливается напрямую, без использования специальной точки доступа. В режиме клиент-сервер беспроводная сеть состоит, как минимум, из одной точки доступа, подключенной к проводной сети, и некоторого набора беспроводных клиентских станций.
Дальность работы
Без подключения дополнительной антенны устойчивая связь для оборудования IEEE 802.11b достигается в среднем на следующих расстояниях: открытое пространство — 500 м, комната, разделенная перегородками из неметаллического материала — 100 м, офис из нескольких комнат — 30 м. Следует иметь в виду, что через стены с большим содержанием металлической арматуры (в железобетонных зданиях таковыми являются несущие стены) радиоволны диапазона 2,4 ГГц иногда могут вообще не проходить, поэтому в комнатах, разделенных подобной стеной, придется ставить свои точки доступа.
Для соединения удаленных локальных сетей (или удаленных сегментов локальной сети) используется оборудование с направленными антеннами, что позволяет увеличить дальность связи до 20 км (а при использовании специальных усилителей и большой высоте размещения антенн — до 50 км).
Сравнительная таблица стандартов беспроводной связи Технология Стандарт Использование Пропускная способность Радиус действия Частоты UWB 802.15.3a WPAN 110–480 Мбит/с до 10 метров 7,5 ГГц Wi-Fi 802.11a WLAN до 5 Мбит/с до 100 метров 5,0 ГГц Wi-Fi 802.11b WLAN до 11 Мбит/с до 100 метров 2,4 ГГц Wi-Fi 802.11g WLAN до 54 Мбит/с до 100 метров 2,4 ГГц Wi-Fi 802.11n WLAN до 600 Мбит/с до 100 метров 2,4 — 2,5 или 5,0 ГГц WiMax 802.16d WMAN до 75 Мбит/с 6–10 км 1,5–11 ГГц WiMax 802.16e Mobile WMAN до 30 Мбит/с 1–5 км 2–6 ГГц
WiMax (IEEE 802.16)
WMAN (Wireless Metropolitan Area Networks) — беспроводные сети масштаба города. Предоставляют широкополосный доступ к сети через радиоканал.
Стандарт IEEE 802.16, опубликованный в апреле 2002 года, описывает wireless MAN Air Interface. 802.16 — это так называемая технология «последней мили», которая использует диапазон частот от 10 до 66 GHz. Так как это ультракоротковолновый диапазон, то необходимо условие «прямой видимости». Стандарт поддерживает топологию point-to-multipoint, технологии frequency-division duplex (FDD) и time-division duplex (TDD), с поддержкой quality of service (QoS). Возможна передача звука и видео. Стандарт определяет пропускную способность 120 Мбит/с на каждый канал в 25 MHz.
Стандарт 802.16a последовал за стандартом 802.16. Он был опубликован в апреле 2003 и использует диапазон частот от 2 до 11 GHz. Стандарт поддерживает ячеистую топологию (mesh networking). Стандарт не накладывает условие «прямой видимости».
Спутниковая
Связь типов сетей с технологиями
- Персональная сеть (PAN, Personal Area Network)
- Локальная сеть (LAN, Local Area Network)
- HomePNA
- Объединение нескольких зданий (CAN, Campus Area Network)
- Городская сеть (MAN, Metropolitan Area Network)
- Национальная сеть
- Глобальная вычислительная сеть (WAN, Wide Area Network)
Лекция X
Открытые системы, процессы стандартизации и профили стандартов
Введение: понятие подхода Открытых Систем
Применение подхода открытых систем в настоящее время является основной тенденцией в области информационных технологий и средств вычислительной техники, поддерживающих эти технологии. Идеологию открытых систем реализуют в своих последних разработках все ведущие фирмы - поставщики средств вычислительной техники, передачи информации, программного обеспечения и разработки прикладных информационных систем. Их результативность на рынке информационных технологий и систем определяется согласованной (в пред конкурентной фазе) научно-технической политикой и реализацией стандартов открытых систем.
Что понимается под открытыми системами?
Для рассмотрения этого вопроса воспользуемся определениями открытых систем, которые приведены в руководстве, изданном Французской ассоциацией пользователей UNIX (АFUU) в 1992 году.
"Открытая система - это система, которая состоит из компонентов, взаимодействующих друг с другом через стандартные интерфейсы". Это определение, данное одним из авторов упомянутого руководства Жаном-Мишелем Корну, подчеркивает системный аспект (структуру открытой системы).
"Исчерпывающий и согласованный набор международных стандартов информационных технологий и профилей функциональных стандартов, которые специфицируют интерфейсы, службы и поддерживающие форматы, чтобы обеспечить интероперабельность и мобильность приложений, данных и персонала". Это определение, данное специалистами IЕЕЕ, подчеркивает аспект среды, которую предоставляет открытая система для ее использования (внешнее описание открытой системы).
Вероятно, одно достаточно полное и общепринятое определение открытых систем еще не сформировалось. Однако сказанного выше уже достаточно, чтобы можно было рассмотреть общие свойства открытых систем и выяснить существо связанных с ними проблем.
Общие свойства открытых систем обычно формируются следующим образом:
- расширяемость/масштабируемость -extensibility/scalability,
- мобильность (переносимость) - portalility,
- интероперабельность (способность к взаимодействию с другими системами) - interoperability,
- дружественность к пользователю, в т.ч. - легкая управляемость - driveability.
Эти свойства, взятые по отдельности, были свойственны и предыдущим поколениям информационных систем и средств вычислительной техники. Новый взгляд на открытые системы определяется тем, что эти черты рассматриваются в совокупности, как взаимосвязанные, и реализуются в комплексе.
Архитектура Открытых Систем
Понятие "система" носит двоякий характер. С одной стороны, по общему определению, система - это совокупность взаимодействующих элементов (компонентов), аппаратных и/или программных. С другой стороны, система может выступать в качестве компонента другой, более сложной системы, которая в свою очередь может быть компонентом системы следующего уровня.
В связи с этим нужно уточнить представление об архитектуре систем и средств, как внешнем их описании (reference model) с точки зрения того, кто ими пользуется. Архитектура открытой системы, таким образом, оказывается иерархическим описанием ее внешнего облика и каждого компонента с точки зрения:
- пользователя (пользовательский интерфейс),
- проектировщика системы (среда проектирования),
- прикладного программиста (системы и инструментальные средства /среды программирования),
- системного программиста (архитектура ЭВМ),
- разработчика аппаратуры (интерфейсы оборудования).
Предлагаемый взгляд на архитектуру открытых систем вытекает из указанной выше необходимости комплексной реализации общих свойств открытости и является расширением принятого понятия об архитектуре ЭВМ по Г.Майерсу.
Для примера рассмотрим архитектурное представление системы обработки данных, состоящей из компонентов четырех областей: пользовательского интерфейса (соответственно точкам зрения всех указанных выше групп), средств обработки данных, средств представления и хранения данных, средств коммуникаций. Для этого представления требуется использовать три уровня описаний: среды, которая представляется системой, операционной среды (системы), на которую опираются прикладные компоненты, и оборудования. Каждый из этих уровней разделен для удобства на два подуровня (см.табл.1).
Уровень среды для конечного пользователя (user environment) характеризуется входными и выходными описаниями (генераторы форм и отчетов), языками проектирования информационной модели предметной области (языки 4GL), функциями утилит и библиотечных программ и прикладным уровнем среды коммуникаций, когда требуются услуги дистанционного обмена информацией. На этом же уровне определена среда (инструментарий) прикладного программирования (appliсation environment): языки и системы программирования, командные языки (оболочки операционных систем), языки запросов СУБД, уровни сессий и представительный среды коммуникаций.
На уровне операционной системы представлены компоненты операционной среды, реализующие функции организации процесса обработки, доступа к среде хранения данных, оконного интерфейса, а также транспортного уровня среды коммуникаций. Нижний подуровень операционной системы - это ее ядро, файловая система, драйверы управления оборудованием, сетевой уровень среды коммуникаций.
На уровне оборудования легко видеть привычные разработчикам ЭВМ составляющие архитектуры аппаратных средств:
- система команд процессора (процессоров),
- организация памяти,
- организация ввода-вывода и т.д.,
а также физическую реализацию в виде:
- системных шин,
- шин массовой памяти,
- интерфейсов периферийных устройств,
- уровня передачи данных,
- физического уровня среды хранения.
Представленный взгляд на архитектуру открытой системы обработки данных относится к одно-машинным реализациям, включенным в сеть передачи данных для обмена информацией. Понятно, что он может быть легко обобщен и на многопроцессорные системы с разделением функций, а также на системы распределенной обработки данных. Поскольку здесь явно выделены компоненты, составляющие систему, можно рассматривать как интерфейсы взаимодействия этих компонентов на каждом из указанных уровней, так и интерфейсы взаимодействия между уровнями.
Описания и реализации этих интерфейсов могут быть предметом рассмотрения только в пределах данной системы. Тогда свойства ее открытости проявляются только на внешнем уровне. Однако значение идеологии открытых систем состоит в том, что она открывает методологические пути к унификации интерфейсов в пределах родственных по функциям групп компонентов для всего класса систем данного назначения или всего множества открытых систем.
Стандарты интерфейсов этих компонент (де-факто или принятые официально) определяют лицо массовых продуктов на рынке. Область распространения этих стандартов являются предметом согласования интересов разных групп участников процесса информатизации - пользователей, проектировщиков систем, поставщиков программных продуктов и поставщиков оборудования.
Выше был рассмотрен пример архитектуры открытых систем, реализующих технологию обработки данных. Можно было бы представить аналогичным образом открытые системы для всех классов информационных технологий: обработки текстов, изображений, речи, машинной графики. Особенно актуально проработать подходы открытых систем для мультимедиа-технологий, сочетающих несколько разных представлений информации. Как известно, за рубежом эти работы проводятся различными ассоциациями и консорциумами заинтересованных фирм и академических организаций и международными организациями по стандартизации. К сожалению, российские специалисты в этих работах до сих пор в лучшем случае играют роль наблюдателей.
Преимущества идеологии открытых систем
Конечно, подход открытых систем пользуется успехом только потому, что обеспечивает преимущества для разного рода специалистов, связанных с областью компьютеров.
Для пользователя открытые системы обеспечивают следующее:
- новые возможности сохранения сделанных вложений благодаря свойствам эволюции, постепенного развития функций систем, замены отдельных компонентов без перестройки всей системы;
- освобождение от зависимости от одного поставщика аппаратных или программных средств, возможность выбора продуктов из предложенных на рынке при условии соблюдения поставщиком соответствующих стандартов открытых систем;
- дружественность среды, в которой работает пользователь, мобильность персонала в процессе эволюции системы;
- возможность использования информационных ресурсов, имеющихся в других системах (организациях).
Проектировщик информационных систем получает:
- возможность использования разных аппаратных платформ;
- возможность совместного использования прикладных программ, реализованных в разных операционных системах;
- развитые средства инструментальных сред, поддерживающих проектирование;
- возможности использования готовых программных продуктов и информационных ресурсов.
Разработчики общесистемных программных средств имеют:
- новые возможности разделения труда, благодаря повторному использованию программ(reusability);
- развитые инструментальные среды и системы программирования;
- возможности модульной организации программных комплексов благодаря стандартизации программных интерфейсов.
Это последнее свойство открытых систем позволяет пересмотреть традиционно сложившееся дублирование функций в разных программных продуктах, из-за чего системы, интегрирующие эти продукты, непомерно разрастаются по объему, теряют эффективность. Известно, что в той же области обработки данных и текстов многие продукты, предлагаемые на рынке (текстовые редакторы, настольные издательства, электронные таблицы, системы управления базами данных) по ряду функций дублируют друг друга, а иногда и подменяют функции операционных систем. Кроме того, замечено, что в каждой новой версии этих продуктов размеры их увеличиваются на 15%.
В распределенных системах, содержащих несколько рабочих мест на персональных компьютерах и серверов в локальной сети, избыточность программных кодов из-за дублирования возрастает многократно. Идеология и стандарты открытых систем позволяют по-новому взглянуть на распределение функций между программными компонентами систем и значительно повысить тем самым эффективность. Частично этот подход обеспечивает компенсацию затрат ресурсов, которые приходится платить за преимущества открытых систем относительно закрытых систем, ресурсы которых в точности соответствуют задаче, решаемой системой.
Открытые Системы и объектно-ориентированный подход
В связи с применением подхода открытых систем весьма перспективным направлением представляется объектно-ориентированный стиль проектирования и программирования.
Объектно-ориентированное программирование - это относительно новый подход к разработке программных систем. Этот подход строится на следующих основных принципах:
- данные и процедуры объединяются в программные объекты;
- для связи объектов используется механизм посылки сообщения;
- объекты с похожими свойствами объединяются в классы;
- объекты наследуют свойства других объектов через иерархию классов.
Объектно-ориентированные системы обладают следующими основными свойствами:
Инкапсуляция (скрытие реализации) - данные и процедуры объекта скрываются от внешнего пользователя, и связь с объектом ограничивается набором сообщений, которые "понимает" объект. Полиморфизм (многозначность сообщений) - одинаковые сообщения по-разному понимаются разными объектами, в зависимости от их класса. Динамическое (позднее) связывание - значение имени (область памяти для данных или текст программы для процедур) становится известным только во время выполнения программы. Абстрактные типы данных - объединение данных и операций для описания новых типов, позволяющие использовать новые типы наравне с уже существующими. Наследование - позволяет при создании новых объектов использовать свойства уже существующих объектов, описывая заново только те свойства, которые отличаются.
Заметим, что основные свойства открытых систем хорошо поддерживаются объектно-ориентированным подходом к реализации системы (Табл. 1). Рассмотрим отдельные аспекты этой поддержки.
Мобильность Инкапсуляция позволяет хорошо скрыть машинно-зависимые части системы, которые должны быть реализованы заново при переходе на другую платформу. При этом гарантируется, что остальная часть системы не потребует изменений. При реализации новых машинно-зависимых частей многое может быть взято из уже существующей системы благодаря механизму наследования. Расширяемость Наследование позволяет сэкономить значительные средства при расширении системы, поскольку многое не нужно создавать заново, а некоторые новые компоненты можно получить, лишь слегка изменив старые. Кроме повторного использования, увеличивается также надежность, поскольку используются уже отлаженные компоненты. Возможность конструирования абстрактных типов данных для создания новых средств - обеспечивается самим понятием класса, объединяющего похожие объекты с одинаковым набором операций. Интероперабельность Способность системы взаимодействовать с другими системами хорошо поддерживается принципом посылки сообщения и соответствующими понятиями полиморфизма и динамического связывания. В сообщении объекту (возможно удаленному) передается имя действия, которое должно быть им выполнено, и некоторые дополнительные аргументы сообщения. Как это действие выполнять - знает и решает только сам объект - получатель сообщения. От него только требуется выдать в ответ результат. Совершенно очевидно, что разные объекты будут по-разному реагировать на одинаковые сообщения (полиморфизм). Кроме того, очень удобно выбирать способ реализации в последний момент - при ответе на сообщение, в зависимости от текущего состояния системы (динамическое связывание). Для того, чтобы разные системы могли обмениваться сообщениями, необходима либо единая трактовка всех типов данных, в том числе абстрактных, либо индивидуальная процедура преобразования сообщения для каждой пары неодинаковых взаимодействующих систем. Простота понятия абстрактных типов данных в объектно-ориентированных системах существенно облегчает разработку такой процедуры. Дружественность Удобство взаимодействия человека с системой требует от последней наличия всех трех вышеуказанных качеств. Мобильность необходима ввиду быстрой смены старых и появления новых устройств, в частности, средств мультимедиа. Расширяемость требуется для разработки программной поддержки новых парадигм общения человека с машиной. Интероперабельность просто рассматривает человека как другую систему, с которой открытая система должна уметь взаимодействовать.
Стандарты Открытых Систем
В настоящее время в мире существует несколько авторитетных сообществ, занимающихся выработкой стандартов открытых систем. Однако исторически и, по-видимому, до сих пор наиболее важной деятельностью в этой области является деятельность комитетов POSIX. В этом разделе мы приведем краткий обзор этой деятельности.
Первая рабочая группа POSIX (Portable Operating System Interface) была образована в IEEE в 1985 г. на основе UNIX-ориентированного комитета по стандартизации /usr/group (ныне UniForum). Отсюда видна первоначальная направленность работы POSIX на стандартизацию интерфейсов ОС UNIX. Однако постепенно тематика работы рабочих групп POSIX (а со временем их стало несколько) расширилась настолько, что стало возможным говорить не о стандартной ОС UNIX, а о POSIX-совместимых операционных средах, имея в виду любую операционную среду, интерфейсы которых соответствуют спецификациям POSIX.
Сейчас функционируют и регулярно выпускают документы следующие рабочие группы POSIX.
POSIX 1003.0. Рабочая группа, выпускающая "Руководство по POSIX-совместимым средам Открытых Систем". Это руководство содержит сводную информацию о работе и текущем состоянии документов всех других рабочих групп POSIX, а также других тематически связанных организаций, связанных со стандартизацией интерфейсов Открытых Систем.
POSIX 1003.1. Интерфейсы системного уровня и их привязка к языку Си. В документах этой рабочей группы определяются обязательные интерфейсы между прикладной программой и операционной системой. С выпуска первой версии этого документа началась работа POSIX, и он в наибольшей степени связан с ОС UNIX, хотя в настоящее время интерфейсы 1003.1 поддерживаются в любой операционной среде, претендующей на соответствие принципам Открытых Систем. Заметим, что несмотря на очевидную важность 1003.1, в документе отсутствуют спецификации многих важных интерфейсов, в частности, интерфейсы системных вызовов, обеспечивающих межпроцессные взаимодействия.
POSIX 1003.2. Shell и утилиты. Рабочая группа специфицирует стандартный командный язык shell, основанный главным образом на Bourne shell, но включающий некоторые черты Korn shell. Кроме того, в документах этой рабочей группы специфицировано около 80 утилит, которые можно вызывать из процедур shell или прямо из прикладных программ. В документах серии 1003.2a описываются дополнительные средства, позволяющие пользователям работать с системой с помощью только ASCII-терминалов.
POSIX 1003.3. Общие методы проверки совместимости с POSIX. Целью рабочей группы является разработка методологии проверки соответствия реализаций стандартам POSIX. Документы рабочей группы используются в различных организациях при разработке тестовых наборов.
POSIX 1003.4. Средства, предоставляемые системой для прикладных программ реального времени. В соответствии с определением 1003.4, системой реального времени считается система, обеспечивающая предсказуемое и ограниченное время реакции. Работа ведется в трех секциях: файловые системы реального времени, согласованные многопотоковые (multithread) архитектуры, а также в секции, занимающейся такими вопросами, как семафоры и сигналы.
POSIX 1003.5. Привязка языка Ада к стандартам POSIX. В документах этой рабочей группы определяются правила привязки программ, написанных на языке Ада, к системным средствам, определенным в POSIX 1003.1.
POSIX 1003.6. Расширения POSIX, связанные с безопасностью. Разрабатываемый набор стандартов базируется на критериях министерства обороны США и будет определять безопасную среду POSIX.
POSIX 1003.7. Расширения, связанные с администрированием системы. Стандарт, разрабатываемый рабочей группой, будет определять общий интерфейс системного администрирования, в частности, разнородных сетей. Отправной точкой является модель OSI.
POSIX 1003.8. Прозрачный доступ к файлам. Будут обеспечены интерфейсы и семантика прозрачного доступа к файлам, распределенным в сети. Работа основывается на анализе существующих механизмов: NFS, RFS, AFS и FTAM.
POSIX 1003.9. Привязка языка Фортран. Определяются правила привязки прикладных программ, написанных на языке Фортран, к основным системным средствам.
POSIX 1003.10. Общие черты прикладной среды суперкомпьютеров (Application Environment Profile - AEP).
POSIX 1003.11. Общие черты прикладной среды обработки транзакций (On-line Transaction Processing Application Environment - OLTP).
POSIX 1003.12. Независимые от протоколов коммуникационные интерфейсы. Разрабатываются два стандартных набора интерфейсов для независимых от сетевых протоколов коммуникаций "процесс-процесс". Результаты должны обеспечивать единообразную работу с TCP/IP, OSI и другими системами коммуникаций.
POSIX 1003.13. Общие черты прикладных сред реального времени. POSIX 1003.14. Общие черты прикладных сред мультипроцессоров. Помимо прочего, должны быть предложены соответствующие расширения стандартов других рабочих групп.
POSIX 1003.15. Расширения, связанные с пакетной обработкой. Определяются интерфейсы пользователя и администратора и сетевые протоколы для пакетной обработки.
POSIX 1003.16. Привязка языка Си. Задача проекта, выполняемого реально рабочей группой 1003.1, состоит в выработке правил привязки международного стандарта языка Си (ISO 9989) к независимым от языка интерфейсам, определяемым POSIX 1003.1-1990 (ISO 9945-1).
POSIX 1003.17. Справочные услуги и пространство имен. Задачей рабочей группы является анализ и выработка рекомендаций по работе со справочниками и пространством имен в контексте X.500. POSIX 1003.18. Общие черты среды POSIX-платформы. В одном документе должны быть специфицированы основные характеристики интерактивной многопользовательской прикладной платформы, соответствующей стандартам POSIX. Работа выполняется группой 1003.1.
Профили стандартов Открытых Систем
Интеграция компонентов в открытой системе должна следовать профилям стандартов на интерфейсы этих компонент.
Профиль составляют набор согласованных стандартов интерфейсов компонентов на каждом уровне системы (как было показано выше на примере системы обработки данных) и обеспечивают их совместимость.
Для определенности рассмотрения интерфейсов компонент и проведения необходимых анализов их реализуемости можно использовать модель среды открытых систем MUSIC, разработанную центральным агентством по компьютерам и телекоммуникациям (ССТА) Великобритании. Эта модель используется в руководстве фирмы Digital Equipment по построению открытых систем. Модель MUSIC содержит пять групп компонентов, из которых строятся открытые системы:
- управление (Management) - функции системной администрации, безопасности, управления ресурсами, конфигурацией, сетевое управление;
- пользовательский интерфейс (User Interface) - интерфейс пользователя с прикладными программами и со средой разработки приложений;
- системные интерфейсы для программ (Service Interface for Programs) - интерфейсы между прикладными программами и между прикладными программами и операционной системой, в частности API (Application Programs Interface);
- форматы информации и данных;
- интерфейсы коммуникаций.
Европейская рабочая группа по открытым системам (EWOS) предложила шесть профилей стандартов составляющих среды открытых систем:
- среда рабочих станций,
- среда серверов процессов,
- среда серверов данных,
- среда транзакций,
- среда реального времени,
- среда суперкомпьютеров.
Кроме указанного набора профилей по классам аппаратно-программных средств существует необходимость формирования вертикальных профилей открытых систем, ориентированных на проблемно-ориентированные области применения. В качестве таких первоочередных областей применения открытых систем в России можно назвать:
- интегрированные производственные системы,
- информационные системы (системы информационного обслуживания) с удаленным доступом к ресурсам,
- системы автоматизации учреждений,
- системы автоматизации банков,
- системы автоматизации научных исследований,
- системы передачи данных.
Заключение
Подход открытых систем обеспечивает слишком много преимуществ, чтобы можно было игнорировать его в России. Однако до сих пор все, что делается по этому поводу, основывается главным образом на энтузиазме. Просматриваются, как минимум, два необходимых и безотлагательных действия.
Во-первых, необходимо выполнить ряд научных проектов, связанных с анализом реализуемости международных стандартов в наших условиях, выбором и разработкой профилей стандартов открытых систем по областям их применения, как технической основы информационной инфраструктуры общества.
Во-вторых, требуется выработать и согласовать стандарты интерфейсов на разработку или приобретение аппаратных и программных средств.
Иерархия представления архитектуры системы обработки данных
Уровень архитектуры системы обработки данных | Компоненты системы обработки данных | |||
---|---|---|---|---|
Интерфейсы | Средства обработки данных | Представление и хранение данных | Коммуникации | |
Среда для конечного пользователя и инструментарий прикладного программиста | Генераторы форм и отчетов | Утилиты и библиотеки | Языки программирования 4GL | OSI. Прикладной уровень |
Языки программные и командные языки (оболочки) | Прикладные программы | Языки запросов СУБД | OSI. Уровни сессий и представительный | |
Операционная система | Средства оконного интерфейса | Верхний уровень ОС (организация процесса обработки) | Средства доступа к среде хранения | OSI. Транспортный уровень |
Драйверы | Ядро операционной системы | Файловая система | OSI. Сетевой уровень | |
Оборудование | Системные интерфейсы (в т.ч. организация ввода-вывода) | Процессоры (система команд) | Организация памяти | OSI. Уровень передачи данных |
Периферийные устройства | Системная шина | Шины (интерфейс) массовой памяти | OSI. Физический уровень |