Платформа и компоненты
ПОНЯТИЕ ПЛАТФОРМЫ И ПРИНЦИП ОТКРЫТОЙ
АРХИТЕКТУРЫ
Понятие платформы и ее компоненты
В информационных технологиях под термином «платформа» в широком смысле понимается совокупность следующих компонентов:
- аппаратного решения;
- операционной системы;
- прикладных программных решений и средств для их разработки.
Таким образом, платформа – это совокупность взаимодействующих между собой аппаратных средств и операционной системы, под управлением которой функционируют прикладные программы и средства для их разработки.
В более узком смысле выделяют следующие виды платформ:
- программная платформа – это совокупность операционной системы, средств разработки прикладных программных решений и прикладных программ, работающих под управлением этой операционной системы;
- прикладная платформа – это средства выполнения и комплекс технологических решений, используемых в качестве основы для построения определенного круга прикладных программ;
- аппаратная платформа – это совокупность совместимых аппаратных решений с ориентированной на них операционной системой.
Принцип «открытой архитектуры»
Понятие «аппаратная платформа» связано с решением фирмы IBM о выработке и утверждении единого стандарта на основе комплектующих персонального компьютера. До этого времени фирмы-производители ПК стремились создать собственные, уникальные устройства, чтобы стать монополистом по сборке и обслуживанию собственных персональных компьютеров. Однако в итоге рынок был перенасыщен несовместимыми друг с другом ПК, для каждого из которых нужно было создавать собственное программное обеспечение. В этот период устройство каждого ПК было охраняемой тайной фирмы-производителя, и копирование одной фирмой изделий другой было строго запрещено.
Заслуга фирмы IBM состоит именно в том, что она внедрила принцип «открытой архитектуры», выработала и утвердила единый стандарт на основные части персонального компьютера – комплектующие, оповестила всех об особенностях их конструкции, поощряя при этом производство совместимых с IBMPC компьютеров других фирм. В основу принципа «открытой архитектуры» была заложена возможность усовершенствования отдельных частей компьютера и использования новых устройств. Принцип «открытой архитектуры» − это степень открытости организации конфигурации ПК, которая позволяет выполнять модернизацию компьютера, включать в него дополнительные новые совместимые устройства.
Фирма IBM сделала ПК не единым неразъемным устройством, а обеспечила возможность его сборки из независимо изготовленных частей.
На основной электронной плате компьютера IBMPC (системной или материнской) размещаются только те блоки, которые осуществляют обработку информации. Схемы, управляющие всеми остальными устройствами ПК – монитором, винчестером, принтером и др., реализованы на отдельных платах (контроллерах), которые вставляются в стандартные разъемы на системной плате – слоты. К этим электронным схемам подводится электропитание из единого блока питания, а для удобства и надежности все это заключается в общий корпус – системный блок. Контроллер – это специализированный процессор, автоматически управляющий работой или согласующий работу подключенных к нему устройств.
Открытость IBMPC-совместимых персональных компьютеров заключается в том, что все спецификации взаимодействия внешних устройств с контроллерами, контроллеров с системной платой посредством шины и т.д. доступны всем. Это положение сохраняется до сегодняшнего дня, хотя с того времени в конструкцию IBMPC-совместимых компьютеров было внесено много нововведений. Поэтому любая фирма может начать производство какого-либо контроллера или внешнего устройства, или системных плат, не беспокоясь обо всех остальных комплектующих компьютера. Если созданная ими продукция будет соответствовать общепринятым стандартам, с ней смогут работать и изделия других фирм-производителей.
Фирма IBM рассчитывала, что открытость архитектуры позволит независимым производителям разрабатывать различные дополнительные устройства, что увеличит популярность ПК. Действительно, через один-два года на рынке средств вычислительной техники предлагались сотни разных устройств и комплектующих для IBMPC. Однако фирма IBM быстро лишилась приоритета на рынке средств вычислительной техники, так как конкуренты производили клоны дешевле оригинального IBMPC.
Платформа IBMPC совместимых персональных компьютеров,
ее особенности
Стандарт прижился как платформа IBMPC-совместимых ПК. В связи с тем, что в настоящее время фирма IBM – создатель первого в мире массового персонального компьютера – утратила свой приоритет в выпуске ПК, на Западе все реже употребляют термин «IBMPC-совместимые ПК», а используют понятие «платформа Wintel», подразумевая при этом сочетание микропроцессоров фирмы Intel с операционной системой Windows. Микропроцессор при этом рассматривается как основа аппаратной платформы, которая определяет архитектуру ПК, т.е. его тип и характеристики.
Однако термин Wintel не совсем точно определяет понятие платформы, так как открытая архитектура современных IBM-совместимых ПК позволяет собирать их из комплектующих разных фирм-производителей, включая и микропроцессоры, которые выпускаются сегодня не только фирмой Intel, но и AdvancedMicroDevices (AMD), CyrixCorp. И др. Кроме того, IBMPC-совместимые ПК могут работать не только под управлением операционной системы Windows, но и под управлением других операционных систем.
Платформа IBMPC-совместимых ПК включает в себя широкий спектр самых различных персональных компьютеров от простейших домашних до сложных серверов.
Платформа AppleMacintosh, ее особенности
Кроме платформы IBM-совместимых ПК в настоящее время достаточно широкое распространение получила платформа Apple, представленная довольно популярными на Западе компьютерами Macintosh.
Специалисты по компьютерной истории отдают предпочтение в создании ПК именно компании Apple. С середины 70-х гг эта фирма представила несколько десятков моделей ПК – начиная с AppleI и заканчивая современным iMac, - и уверенно противостояла мощной корпорации IBM.
В середине 80-х гг. компьютеры серии Macintosh стали самыми популярными ПК в мире. В отличие от IBM , компания Apple всегда делала ставку на закрытую архитектуру – комплектующие и программы для этих компьютеров выпускались лишь небольшим числом «авторизованных» производителей. За счет этого компьютеры Macintosh всегда стоили несколько дороже IBM-совместимых ПК, что компенсировалось их высокой надежностью и удобством.
Именно на компьютерах Apple впервые появились многие новинки, со временем ставшие неотъемлемой частью персонального компьютера: графический интерфейс, мышь, звуковая подсистема и компьютерное видео и т.д. Кроме того, и интерфейс самой Windows был частично скопирован с одной из ранних операционных систем Apple, созданной для компьютера Lisa.
Работа с графикой и сегодня остается основной областью функционирования персональных компьютеров Apple. Поэтому ПК Macintosh по-прежнему незаменимы в таких областях, как издательское дело, подготовка и дизайн полноцветных иллюстраций, аудио- и видеообработка. Несмотря на значительное падение интереса к Apple в 90-х гг., к концу ХХ века они вновь вернули себе былую славу после выхода моделей с новым, уникальным дизайном, рассчитанным на домашнего пользователя (настольные модели iMac и портативные iBook). Они используют свое, особое программное обеспечение, да и комплектующие их существенно отличаются от IBM.
Решение проблемы совместимости компьютерных платформ.
Программы-эмуляторы
Сегодня на рынке средств вычислительной техники представлено несколько основных платформ персональных компьютеров, каждая из которых отличается как по назначению, так и по типу аппаратного и программного обеспечения. Как правило, различные платформы компьютеров несовместимы между собой.
Проблема совместимости компьютерных платформ возникла практически с возникновением самих ПК. По тем или иным причинам каждый производитель делал свою продукцию оригинальной настолько, что более никто не мог обменяться с ней информацией. В какой-то степени эта конкурентная борьба продолжается и сегодня, однако понимание того, что в погоне за клиентом основополагающим фактором должна стать универсальность, пришло к производителям компьютерных систем уже давно.
Существует два варианта решения проблемы совместимости компьютерных платформ. Покажем эти варианты графически на рис. 5.
1. Аппаратные решения – это специальные платы, несущие на себе дополнительные процессор, оперативную память и видеопамять другой аппаратной платформы. Фактически они представляют собой отдельный компьютер, вставленный в существующий ПК. Его, как и обычный компьютер, можно оснастить любой операционной системой по выбору пользователя и соответствующим программным обеспечением. При этом можно легко переключаться между двумя ОС, обмениваться между ними файлами и выполнять другие операции, причем производительность обеих систем остается высокой и они не влияют друг на друга, так как практически не имеют разделяемых ресурсов, кроме мыши, клавиатуры и монитора. Основным недостатком плат является их высокая стоимость, хотя и несколько меньшая, чем отдельного ПК.
Рис. 5. Варианты решения проблемы совместимости компьютерных платформ
2. Программные решения – это специально написанные программы-эмуляторы, позволяющие запустить программное обеспечение, разработанное для ПК одного типа, на другом ПК.
Существует несколько программ-эмуляторов:
- эмуляторы-исполнители позволяют запускать программы, написанные для других ОС;
- эмуляторы аппаратного обеспечения воспроизводят настоящий ПК со всеми его аппаратными и программными особенностями. В этом случае пользователь получает абсолютный контроль над своим виртуальным ПК и может выполнить на нем практически все операции, что и с настоящим компьютером. Недостатком этих эмуляторов является некоторая медлительность при работе.
- эмуляторы операционных систем позволяют воспроизвести на ПК операционную систему, которая несовместима с данной аппаратной платформой. Примером такого эмулятора является эмулятор операционной системы Windows, который позволяет на компьютере Macintosh работать с операционной системой, написанной для IBM-совместимых ПК. Работают такие программы несколько быстрее, чем эмуляторы аппаратного обеспечения, но у них есть много ограничений. Например, пользователь не может сам выбрать операционную систему.
Критерии выбора платформы
В общих чертах при выборе платформы следует иметь в виду уровень сервиса, обеспечиваемый платформой. Возможности платформ достаточно трудно оценить из-за высокой скорости усовершенствований аппаратных и программных средств, недоступности специализированной информации о компонентах платформ, разнородности и множественности комбинаций компонентов платформ.
Однако можно выделить основные критерии, которыми руководствуются при выборе той или иной платформы компьютерных систем. К ним относятся:
1. Отношение «стоимость-производительность». Появление любого нового направления в вычислительной технике определяется требованиями компьютерного рынка. Поэтому у разработчиков нет какой-то одной цели. Мейнфрейм или суперкомпьютер стоят дорого, так как для достижения поставленных целей при проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. Другим крайним примером может служить низкостоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся ПК. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении «стоимость-производительность», в которых разработчики находят баланс между стоимостными параметрами и производительностью. Типичными примерами такого рода компьютеров являются мини-компьютеры и рабочие станции.
2. Надежность и отказоустойчивость. Важнейшей характеристикой аппаратной платформы является надежность. Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой степенью интеграции, снижения уровня помех, облегченных режимов работы схем, обеспечение тепловых режимов их работы, а также за счет совершенствования методов сборки аппаратной части ПК.
Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. Отказоустойчивость – это свойство вычислительной системы, которое обеспечивает возможность продолжения действий, заданных программой, после возникновения неисправностей. Структура микропроцессорных и многомашинных систем приспособлена к автоматической реконфигурации и обеспечивает возможность продолжения работы системы после возникновения неисправностей. Понятие надежности включает не только аппаратные средства, но программное обеспечение. Главной целью повышения надежности систем является целостность хранимых в них данных.
3. Масштабируемость. Она должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения.
Добавление каждого нового процессора в действительно масштабируемой системе должно давать прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Масштабируемость зависит также от заложенных свойств программного обеспечения. Простой переход, например, на более мощный процессор может привести к перегрузке других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам.
4. Совместимость и мобильность программного обеспечения. Для конечного пользователя важно программное обеспечение, позволяющее решать его задачи, а не выбор той или иной аппаратной платформы. Переход от однородных сетей программно-совместимых компьютеров к построению неоднородных сетей, включающих компьютеры разных фирм-производителей, в корне изменил и точку зрения на саму сеть: из сравнительно простого средства обмена информацией она превратилась в средство интеграции отдельных ресурсов – мощную распределенную вычислительную систему, каждый элемент которой лучше всего соответствует требованиям конкретной прикладной задачи.
Такая вычислительная среда должна позволять гибко менять количество и состав аппаратных средств и программного обеспечения в соответствии с меняющимися требованиями решаемых задач, должна обеспечивать возможность запуска одних и тех же программных систем на различных аппаратных платформах, т.е. обеспечивать мобильность программного обеспечения, должна гарантировать возможность применения одних и тех же человеко-машинных интерфейсов на всех компьютерах, входящих в неоднородную сеть.
