Приведите примеры закрытых архитектур

Приведите примеры закрытых архитектур

Закрытая архитектура Apple

Логично предположить, что раз есть «открытая» архитектура, должна быть и «закрытая» архитектура. Так оно и есть на самом деле. Закрытую архитектуру представляет фирма Apple и ее компьютеры Macintosh.

В 1975 году два Стива — Джобс и Возняк, продав все дорогие вещи, которые были у них в наличии (выручив при этом 1300 долларов) в гараже собрали первый Apple-I. Компьютер получился довольно удачным и на порядок превосходил существующие в то время аналоги. Продав порядка 100 штук компьютеров по цене $666,66, два Стива смогли сосредоточиться на развитии своей идеи. Они начали искать серьезного инвестора для своего бизнеса, который в скором времени был найден. Им стал Майк Маркулл, который инвестировал $92 000, получив 1/3 всех акций фирмы Apple, и помог начинающим бизнесменам с деньгами для развития производства и рекламной кампании.

В 1977 году была зарегистрирована фирма Apple Computer Inc., и в этом же году вышла новая версия компьютера — Apple-II, которая была полностью законченным продуктом, имела устройства ввода информации и ее отображения, на нем было размещено системное и прикладное программное обеспечение. Стоимость Apple-II составила $1300. В преддверии продаж была проведена широкомасштабная рекламная кампания, которая принесла свои плоды, продажи исчислялись десятками, а вскоре, сотнями тысяч.

Следующее поколение компьютеров фирмы Apple получило название Macintosh (apple — яблоко; Макинтош — сорт яблок).

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

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

На пике своей популярности фирма Apple держала порядка 30% компьютерного рынка. Но, в связи с тотальным наступлением IBM-совместимых компьютеров, доля Apple сократилась на порядок. Но, не смотря на столь скромный сегмент компьютерного рынка, следует отметить, что Apple является единственным конкурентом IBM-компьютерам, который сумел выжить и войти в 21 век.

Чем же хороша или плоха закрытая архитектура компьютеров фирмы Apple, каковы ее особенности?

Компьютер Apple-I был построен на базе процессора i8080. Apple-II использовал процессор фирмы Motorola, позже ему на смену пришел PowerPC.

Как правило, конструкция системы одноплатная.

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

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

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

Изначально на Маках установлено все необходимое ПО, пользователям незнакома процедура установки и обновления драйверов.

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

Ну, и самой отличительной особенностью Маков является их элегантный дизайн. Понятия Apple и элегантность всегда стояли рядом. В компьютерном мире Macintosh — символ изящества и совершенства форм.

Фирма Apple имеет сильные позиции в области компьютерного дизайна, полиграфии и обучающих программ. В США в свое время большое количество Маков было бесплатно передано в образовательные учреждения — как известно, взрослые привычки закладываются в детском возрасте. Не удивительно, что в США количество пользователей Маков среди взрослого населения (порядка 3,5%) значительно превышает процент в других странах мира. Упор на дизайн и полиграфию также был сделан не просто так. Как известно, творческие люди, занимающиеся изящной организацией пространства, выбирают элегантные вещи. Красивый и удобный инструмент стимулирует творческий процесс, создает атмосферу гармонии.

Основными «негативными» факторами широкого распространения Маков (особенно в странах бывшего СССР), помимо невозможности изменения конфигурации компьютера, являются дороговизна Macintosh и практическая невозможность получения контрафактного (пиратского) ПО. По статистике в России доля Макинтошей находится в пределах 1% — в основном в Москве.

В начало страницы

В начало страницы

Архитектура компьютера закрытого типа

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

29)Архитектура фон Неймана — широко известный принцип совместного хранения команд и данных в памяти компьютера. Когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.

Принципы фон Неймана

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и, то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Такой прием носит название модификации команд. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

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

Принцип программного управления

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

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

Основные виды и принципы архитектуры ЭВМ. Основные виды и принципы архитектуры ЭВМ

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

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

Основные принципы построения ЭВМ были сформулированы американским учёным Джоном фон Нейманом в 40-х годах 20 века:

1. Любую ЭВМ образуют три основные компоненты: процессор, память и устройства ввода-вывода (УВВ).

2. Информация, с которой работает ЭВМ делится на два типа:

набор команд по обработке (программы);

данные подлежащие обработке.

3. И команды, и данные вводятся в память (ОЗУ) – принцип хранимой программы.

4. Руководит обработкой процессор, устройство управления (УУ) которого выбирает команды из ОЗУ и организует их выполнение, а арифметико-логическое устройство (АЛУ) проводит арифметические и логические операции над данными.

5. С процессором и ОЗУ связаны устройства ввода-вывода (УВВ).

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

Схема такой компьютерной архитектуры приведена на рисунке.

Оперативная память хранит команды и данные испол­няемых программ, АЛУ обеспечивает не только числовую обработ­ку, но и участвует в процессе ввода-вывода информации, осуществ­ляя ее занесение в оперативную память. Канал ввода/вывода представляет собой специализированное устройство, работающее по командам, подаваемым устройством управления. Канал допускает подключение определенного числа внешних устройств. Устройство управления обеспечивает выполнение команд программы и управляет всеми узлами системы.

Архитектура компьютера закрытого типа

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

Вычислительные системы с открытой архитектурой. В начале 70-х гг. фирмой DEC (Digital Equipment Corporation) был предложен компьютер совершенно иной архитектуры. Эта архитек­тура позволяла свободно подключать любые периферийные устрой­ства, что сразу же заинтересовало разработчиков систем управления различными техническими системами, так как обеспечивало свобод­ное подключение к компьютеру любого числа датчиков и исполни­тельных механизмов. Главным нововведением являлось подключение всех устройств, независимо от их назначения, кобщей шине переда­чи информации. Подключение устройств к шине осуществлялось в соответствии состандартом шины. Стандарт шины являлся свобод­но распространяемым документом, что позволяло фирмам- произ­водителям периферийного оборудования разрабатывать контроллеры для подключения своих устройств к шинам различных стандартов. Архитектура компьютера открытого типа, основанная на использо­вании общей шины, приведена на рис. Общее управление всей системой осуществляет центральный процессор. Он управляет общей шиной, выделяя время другим устройствам для обмена информаци­ей. Запоминающее устройство хранит исполняемые программы и данные и согласовано уровнями своих сигналов с уровнями сигна­лов самой шины. Внешние устройства, уровни сигналов которых от­личаются от уровней сигналов шины, подключаются к ней через спе­циальное устройство -контроллер. Контроллер согласовывает сигналы устройства с сигналами шины и осуществляет управление устройством по командам, поступающим от центрального процессора.

Архитектура компьютера открытого типа

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

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

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

к которой подключались «быстрые» устройства. Архитектура компьютера с общей и локальной шинами приведена на рисунке.

Архитектура компьютера с общей и локальной шиной

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

Конструктивно контроллер каждого устройства размещается на общей плате с центральным процессором и запоминающим устрой­ством или, если устройство не является стандартно входящим в состав компьютера, на специальной плате, вставляемой в специальные разъемы на общей плате —слоты расширения. Дальнейшее развитие микроэлектроники позволило размещать несколько функциональных узлов компьютера и контроллеры стандартных устройств в одной микросхеме СБИС. Это сократило количество микросхем на общей плате и дало возможность ввести две дополнительные локальные шины для подключения запоминающего устройства и устройства отображения, которые имеют наибольший объем обмена с централь­ным процессором и между собой. Хотя архитектура компьютера ос­талась прежней, структура современного персонального компьютера имеет вид, представленный на рисунке.

Структура персонального компьютера

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

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

Функциональный контроллер — это СБИС, которая содержит кон­троллеры для подключения стандартных внешних устройств, таких как клавиатура, мышь, принтер, модем и т.д. Часто в состав этого контроллера входит такое устройство, как аудиокарта, позволяющая получить на внешних динамиках высококачественный звук при про­слушивании музыкальных и речевых файлов.

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

Архитектура программного обеспечения

Разработка и оценка архитектуры на основе сценариев

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

  1. Выделение компонентов
    • Выбирается набор «основных» сценариев использования — наиболее существенных и выполняемых чаще других.
    • Исходя из опыта проектировщиков, выбранного архитектурного стиля (см. следующую лекцию) и требований к переносимости и удобству сопровождения системы определяются компоненты, отвечающие за определенные действия в рамках этих сценариев , т.е. за решение определенных подзадач.
    • Каждый сценарий использования системы представляется в виде последовательности обмена сообщениями между полученными компонентами.
    • При возникновении дополнительных хорошо выделенных подзадач добавляются новые компоненты, и сценарии уточняются.

Все это делается до тех пор, пока не выполнятся следующие условия:

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

На основе возможных сценариев использования или модификации системы возможен также анализ характеристик архитектуры и оценка ее пригодности для поставленных задач или сравнительный анализ нескольких архитектур. Это так называемый метод анализа архитектуры ПО ( Software Architecture Analysis Method , SAAM ) [1,4]. Основные его шаги следующие.

  1. Определить набор сценариев действий пользователей или внешних систем, использующих некоторые возможности, которые могут уже планироваться для реализации в системе или быть новыми. Сценарии должны быть значимы для конкретных заинтересованных лиц, будь то пользователь, разработчик, ответственный за сопровождение, представитель контролирующей организации и пр. Чем полнее набор сценариев, тем выше будет качество анализа. Можно также оценить частоту появления и важность сценариев, возможный ущерб от невозможности их выполнить.
  2. Определить архитектуру (или несколько сравниваемых архитектур). Это должно быть сделано в форме, понятной всем участникам оценки.
  3. Классифицировать сценарии. Для каждого сценария из набора должно быть определено, поддерживается ли он уже данной архитектурой или для его поддержки нужно вносить в нее изменения. Сценарий может поддерживаться, т.е. его выполнение не потребует внесения изменений ни в один из компонентов, или же не поддерживаться, если его выполнение требует изменений в описании поведения одного или нескольких компонентов или изменений в их интерфейсах. Поддержка сценария означает, что лицо, заинтересованное в его выполнении, оценивает степень поддержки как достаточную, а необходимые при этом действия — как достаточно удобные.
  4. Оценить сценарии. Определить, какие из сценариев полностью поддерживаются рассматриваемыми архитектурами. Для каждого неподдерживаемого сценария надо определить необходимые изменения в архитектуре — внесение новых компонентов, изменения в существующих, изменения связей и способов взаимодействия. Если есть возможность, стоит оценить трудоемкость внесения таких изменений.
  5. Выявить взаимодействие сценариев. Определить какие компоненты требуется изменять для неподдерживаемых сценариев; если требуется изменять один компонент для поддержки нескольких сценариев — такие сценарии называют взаимодействующими. Нужно оценить смысловые связи между взаимодействующими сценариями.

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

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

Рассмотрим сравнительный анализ двух архитектур на примере индексатора — программы для построения индекса некоторого текста, т.е. упорядоченного по алфавиту списка его слов без повторений.

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

В дополнение к этим данным имеются следующие компоненты:

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

Если это разделитель слов (пробел, табуляция, перевод строки), управление получает второй компонент.

Если это буква — третий.

Если входной текст кончается — четвертый.

Эта архитектура построена в стиле «репозиторий» (см. следующую лекцию).

Этот сценарий прямо поддерживается второй архитектурой.

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

Обе архитектуры не поддерживают этот сценарий.

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

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

Этот сценарий также требует изменений в обеих архитектурах.

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

Этот сценарий также не поддерживается обеими архитектурами.

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

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

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

Таблица 6.1. Итоги оценки двух вариантов архитектуры индексатора.
Архитектура Сценарий a Сценарий b Сценарий c Сценарий d
Каналы и фильтры — — + + * + + * + + *
Репозиторий + + + + + + — + * + + + + * + + — + *

+ обозначает возможность не изменять компонент, — — необходимость изменения компонента,

* — необходимость добавления одного компонента

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

Мир гайдов
Добавить комментарий