Кто определяет стандарты в индустрии программного обеспечения для ПК
🕛 23.09.2009, 17:25
Когда я задаю этот вопрос на семинарах, многие не задумываясь отвечают: “Microsoft!”. Полагаю, нет никаких оснований не соглашаться с таким ответом. Несомненно, сегодня Microsoft удерживает контроль над разработкой операционных систем, используемых на ПК; ведь первоначально в большинстве ПК использовалась MS DOS и Windows 3.1/95/98/NT, а теперь - Windows 2000/XP. В начале 2007 года Microsoft планирует выпустить наследницу Windows XP - Windows Vista.Контроль над разработкой операционных систем Microsoft использовала как рычаг, позволяющий контролировать разработку других типов программного обеспечения ПК (например, утилит и приложений). Так, многие утилиты (такие, как кэширование диска, сжатие дисков, дефрагментация, калькуляторы и записные книжки), которые первоначально предлагались независимыми компаниями, теперь включены в Windows. Компания Microsoft даже встроила в операционную систему Web-браузер, что не на шутку испугало конкурентов, создающих аналогичные программы. Более тесная интеграция программного обеспечения для работы с сетями и пакетов программ-приложений с операционной системой позволила Microsoft еще больше усилить контроль над операционными системами по сравнению с другими компаниями. Именно поэтому Microsoft теперь доминирует на рынке программного
обеспечения для ПК, предлагая разнообразные программы - от текстовых процессоров до электронных таблиц и систем управления базами данных.
Когда появились первые ПК, IBM контролировала стандарты аппаратных средств ПК; и именно она привлекла Microsoft для разработки большей части программного обеспечения для ПК. Она разрабатывала аппаратные средства, записывала BIOS (Basic Input Output System - базовая система ввода-вывода), а также привлекала Microsoft для разработки DOS (Disk Operating System - дисковая операционная система) и нескольких других программ и пакетов для IBM. Однако она не сумела обеспечить себе исключительные права на DOS, предоставив Microsoft право продавать код MS DOS, разработанный для IBM, любой другой заинтересованной компании. Такие компании, как Compaq, лицензировали код операционной системы, по сути клонируя ее архитектуру, и поэтому пользователи зачастую приобретали ту же самую MS DOS, отличие между разными версиями которой заключалось в имени той или иной компании на коробке. Именно эта ошибка в договоре превратила Microsoft в доминирующую компанию на рынке программного обеспечения, и именно из-за этой ошибки впоследствии IBM потеряла контроль над тем самым стандартом PC, который она создала.
Будучи писателем (хотя и не создателем программных продуктов), я могу с уверенностью отметить, насколько подобный подход был недальновиден. Допустим, представителям книжного издательства пришла в голову идея публикации популярной книги, написать которую они поручили какому-либо автору за определенный гонорар. Однако контракт был составлен неграмотно, и автор понимает, что может сам легально продавать эту книгу (хотя и под другим названием) всем конкурентам издательства. Безусловно, это вряд ли понравится издательству. Но именно это случилось, когда IBM предоставила соответствующую лицензию компании Microsoft в далеком 1981 году. В результате этого договора IBM утратила контроль над программным обеспечением, предназначенным для выпускаемых компанией компьютеров.
Причина потери контроля IBM над этим стандартом состоит в том, что программное обеспечение можно защитить авторскими правами, в то время как авторские права на аппаратные средства могут быть защищены только в соответствии с патентами, что связано с трудностями и требует значительного времени (причем срок действия патента истекает через 17 лет). Кроме того, для получения патента требуется, чтобы разработанная аппаратура была уникальной и новой, а IBM в своих разработках опиралась на ранее существовавшие элементы, которые мог приобрести любой радиолюбитель. Фактически наиболее важные элементы для первого ПК были разработаны Intel, например процессор 8088, генератор синхронизирующих импульсов 8284, таймер 8253/54, контроллер прерываний 8259, контроллер прямого доступа к памяти 8237, периферийный интерфейс 8255 и контроллер шины 8288. Эти микросхемы составляли основу первого персонального компьютера.
Поскольку проект первого компьютера нельзя было запатентовать, любая компания могла дублировать аппаратные средства IBM РС. Нужно было лишь приобрести те же самые чипы, что и IBM, у тех же производителей и поставщиков и разработать новую системную плату с аналогичной схемой. Чтобы помочь в этом, IBM даже издала полный набор схем своих системных плат и всех плат адаптеров в очень детализированном и легкодоступном техническом руководстве. У меня есть несколько этих первых руководств IBM, и я все еще заглядываю в них время от времени, когда хочу узнать что-нибудь об особенностях PC на уровне элементов.
Труднее всего было скопировать программное обеспечение (имеется в виду программное обеспечение IBM РС), которое было защищено в соответствии с законом об авторском праве. Компания Phoenix Software (теперь известная как Phoenix Technologies) одна из первых разработала законные методы решения этой проблемы: оказывается, в соответствии с законом можно разработать (но не скопировать!) программы, которые функционально дублируют программное обеспечение, в частности BIOS. Система BIOS представляет собой набор управляющих программных компонентов, которые непосредственно “руководят” аппаратными устройствами компьютера. Эти компоненты называются драйверами устройств, поэтому BIOS является набором основных драйверов устройств, необходимых для управления и контролирования системного аппаратного обеспечения.
Операционная система (подобная DOS или Windows) использует драйверы BIOS для взаимодействия с различными аппаратными и периферийными устройствами.
Итак, в компании Phoenix были созданы две группы инженеров по разработке программного обеспечения, причем особенно тщательно следили, чтобы во вторую группу входили специалисты, которые никогда прежде не видели код BIOS, разработанный IBM. Первая группа исследовала базовую систему ввода-вывода, разработанную IBM, и полное описание BIOS. Вторая читала описание, составленное первой группой, и намеренно с самого начала кодировала новую BIOS, которая делала все то, что было описано в составленной спецификации. Конечным результатом стала новая BIOS, написанная с самого начала с кодом, хотя и не идентичным коду IBM, но имевшим точно такие же функциональные возможности.
Компания Phoenix назвала это подходом clean room, и этот подход позволяет выходить из любого допустимого положения. Поскольку первоначальная базовая система ввода-вывода IBM РС содержала только 8 Кбайт кода и имела ограниченные функциональные возможности, дублирование ее с помощью указанного подхода не составляло особого труда. По мере изменения базовой системы ввода-вывода IBM и другие компании, разрабатывавшие BIOS, обнаружили, что своевременно вносить изменения, соответствующие изменениям IBM, относительно просто. Команды теста POST (Power-On Self Test), являющегося частью BIOS, в большинстве базовых систем ввода-вывода даже сегодня занимают приблизительно 32-128 Кбайт. В настоящее время не только Phoenix, но и такие компании, как Award, AMI (American Megatrends) и Microid Research, разрабатывают программное обеспечение BIOS для производителей ПК.
После дублирования аппаратных средств и базовой системы ввода-вывода IBM РС осталось только воссоздать DOS, чтобы полностью воспроизвести систему, совместимую с IBM. Однако задача проектирования DOS с нуля была намного сложнее, поскольку DOS значительно превосходит BIOS и содержит гораздо больше программ и функций. Кроме того, операционная система развивалась и изменялась чаще, чем BIOS. Это означает, что единственный способ получить DOS для IBM-совместимого компьютера состоял в том, чтобы получить права на ее использование. Вот здесь и появляется Microsoft. Как вы помните, IBM не потребовала от Microsoft подписать исключительное лицензионное соглашение, что позволяло этой компании продавать DOS любому пользователю. Благодаря лицензии на копирование MS DOS удалось преодолеть последнее препятствие на пути создания IBM-совместимых компьютеров, которые теперь можно было производить независимо от желания IBM.
Теперь понятно, почему нет никаких клонов или аналогов системы Macintosh Apple. Не потому, что компьютеры Mac нельзя продублировать; аппаратные средства Mac довольно просты и их легко воспроизвести, используя имеющиеся в наличии детали. Реальная проблема состоит в том, что Apple обладает MAC OS и не позволяет никакой другой компании продавать Apple-совместимые системы. Кроме того, BIOS и OS весьма существенно интегрированы в Mac; эта BIOS очень большая, сложная и, по существу, является частью операционной системы. Поэтому метод clean room практически не позволяет продублировать ни BIOS, ни операционную систему.
Однако в 1996-1997 годах Apple лицензировала BIOS и операционную систему, что позволило компаниям Sony, Power Computing, Radius и даже Motorola начать выпуск недорогих Apple-совместимых систем. Появление относительно недорогих Apple-совместимых компьютеров стало пагубно влиять на развитие и доходы Apple, которая немедленно остановила действие лицензий. Этому немало способствовал Стив Джобс (Steve Jobs), который вновь вернулся в компанию Apple. Стив стоял у истоков создания закрытой частной архитектуры компьютеров Macintosh. Отмена лицензий фактически означала, что Apple никогда не будет массовым производителем компьютеров. К минусам систем Apple относятся небольшая рыночная доля компании, высокие цены, небольшое количество доступных приложений и модернизируемых компонентов по сравнению с обычными ПК. При модернизации компьютера Macintosh комплектующие можно приобрести только у Apple по довольно высоким ценам, так что модернизация системы становится невыгодной.
К счастью, компания Apple объявила о переходе на использование процессоров архитектуры x86 производства Intel, что означает не только существенное увеличение быстродействия будущих систем Macintosh, но и значительно возросшую совместимость с компьютерами PC. На мой взгляд это одно из лучших решений, принятых руководством Apple за последние несколько лет. На самом деле я часто думаю, что, если бы в свое время компания Apple придерживалась иной стратегии и лицензировала свою операционную систему и BIOS, настоящая книга могла бы называться Модернизация и ремонт Macintosh!