Реферат По истории информатики на тему " История развития операционных систем"

Вид материалаРеферат

Содержание


История развития операционной системы OS/2
Подобный материал:
1   2   3   4
^

История развития операционной системы OS/2


Эволюция OS/2 началась очень давно. Наиболее важным моментом предыстории OS/2 следует считать появление IBM Personal Computer или просто IBM PC.

MS(PC)-DOS, как и сам PC, была весьма открытой системой. Интерфейсы DOS и BIOS были хорошо документированы, и сторонние производители могли легко использовать и расширять их – вот почему DOS и по сей день используется в некоторых задачах.

Вместе с тем DOS и BIOS имели один очень большой недостаток. Они не использовали аппаратную часть PC на полную мощность. Это означало, что многие программы для полного использования аппаратных возможностей обращались к устройствам напрямую, минуя DOS.

Некоторые из существовавших проблем могли быть решены программно с помощью лучше спроектированной операционной системы. Но другие требовали аппаратной поддержки для того чтобы решение было эффективным или в принципе реализуемым. И эта поддержка была реализована в 1984 году под названием IBM AT (Advanced Technology). Помимо огромной массы различных усовершенствований самым заметным (и важным) было применение нового центрального процессора – Intel 80286. В защищенном режиме 286-й мог адресовать 16 Мб памяти.

Потому в январе 1983 года началась разработка новой многозадачной MS-DOS системы. Название проекта изменялось несчетное количество раз. В августе 1985 IBM присоединяется к проекту, и фирмы подписывают соглашение о совместной разработке, которое дает обеим компаниям право на продажу конечного продукта. Немного погодя проект переименовывается в CP/DOS – от Control Program/DOS. Незадолго до выпуска продукт переименовывается в OS/2 – видимо, для соответствия новой линейке персональных компьютеров IBM под названием PS/2 (Personal System/2).

Интересно то, что OS/2 1.0 не были реализованы очень многие планируемые особенности и самым заметным было отсутствие графического интерфейса пользователя Presentation Manager (кодовое имя Winthorn).

И все же OS/2 1.0 являлась радикальным рывком в сторону от DOS и имела множество особенностей и возможностей, которые DOS никогда не смогла бы иметь и которые были реализованы в других операционных системах намного позже.
  1. Вытесняющая многозадачность (preemptive multitasking).
  2. Многопоточность (multithreading).
  3. Средства взаимодействия между процессами (Inter Process Communication – IPC) такие как разделяемая память (shared memory), каналы (pipes), семафоры (semaphores) и очереди (queues).
  4. Поддержка виртуальной памяти (virtual memory, swapping) – теоретически до 1 Гб виртуальной памяти.
  5. Полностью защищенный режим работы.
  6. Динамическое подключение библиотек (dynamic linking, DLLs).
  7. Поддержка до 16 Мб оперативной памяти.

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

Весь же защищенный код был написан «с нуля» со всеми теми приятными особенностями, которые были описаны ранее. Ядро и системные библиотеки в основном были написаны на ассемблере по следующим двум причинам:
  1. Производительность – OS/2 должна была работать на IBM AT с 6 Мгц процессором.
  2. Ограничения по памяти – OS/2 должна была работать при наличии только 1 Мб ОЗУ.

В новой операционной системе было особенно не на что посмотреть – интерфейс был исключительно текстовым и внешний вид весьма походил на DOS. Но после нажатия появлялся Program Selector – утилита, позволявшая запускать новые задачи и переключаться между существующими. Теоретически существовало 16 сессий, но поскольку сама OS/2 занимала часть из них, пользователь имел доступ к 12 сессиям.

С точки зрения пользователя OS/2 1.0 имела несколько существенных недостатков:
  1. Максимальный размер раздела 32Мб. Хотя возможно в 1987 году это было и не критично. OS/2 1.1 превысила это ограничение (хотя и базировалась на FAT), а OS/2 1.2 поставлялась уже с HPFS.
  2. Отсутствовала поддержка двойной загрузки (dual boot) или менеджера загрузки (Boot Manager). Dual Boot появился в версии 1.1, Boot Manager был реализован в версии 2.0.
  3. Не было возможности обойти обработку файла CONFIG.SYS. Это было напастью всех версий серии 1.x. В сочетании с отсутствием Boot Manager это означало, что если система не могла загрузиться (например, некорректный драйвер), то единственным шансом спасти ситуацию (и данные) была загрузочная дискета. Окончательно проблема была решена только в OS/2 Warp.
  4. Полное отсутствие механизма замены находящихся в использовании динамических библиотек (DLL). Это сделало установку исправлений системных DLL (таких как драйвера Presentation Manager) более чем затруднительным занятием. В OS/2 2.x ситуация разрешилась с помощью недокументированных вызовов API.

На рынке операционных систем OS/2 пребывала в состоянии безнадежной битвы за широкое распространение.

Следующим релизом OS/2 стала версия 1.1. Единственной причиной, по которой версию пронумеровали не 2.0, вероятно, было то, что графический интерфейс пользователя (GUI – Graphical User Interface) был обещан в версии 1.0, но не был закончен вовремя. Как забавный факт следует отметить, что Windows 1.0 разрабатывалась как Interface Manager и приобрела новое имя благодаря менеджерам, игравшим с именами, невзирая на протесты программистов.

В любом случае OS/2 1.1 была технически очень интересной и занимательной программой. Она обладала намного большими возможностями, чем любая операционная система для персональных компьютеров в то время. Windows и MacOS даже в перспективе не имели того, что было в OS/2 – ни вытесняющей многозадачности, ни многопотоковости, ни виртуальной памяти.

Естественно, что системе были присущи и недостатки. Хотя и поддерживалось большинство тогдашних стандартов для вывода графики (CGA, EGA, VGA), но поддержка других была весьма слабая, если вообще существовала. Поддержка принтеров была чисто номинальная – несколько принтеров и плоттеров производства IBM и все.

Под OS/2 существовали различные приложения – в том числе такие, как Microsoft Word, Lotus 1-2-3 и QuattroPro. Однако все они были текстовыми, за исключением Microsoft Excel 2.2.

В конце 1999 Microsoft и IBM выпускают версию OS/2 1.2 – очень важное событие во всей истории OS/2, поскольку именно в версии 1.2 были реализованы практически все возможности, обещанные в OS/2 еще до ее появления. В OS/2 1.2 разработчики наконец отказались от файловой системы FAT и реализовали инсталлируемые файловые системы (Installable File System, IFS) и высокопроизводительную файловую систему HPFS (High Perfomance File System).

Новая файловая система весьма превосходила FAT, а также снимала множество ограничений:
  1. Отсутствовал печально известный лимит «8.3» на имена файлов – 8 символов на имя и 3 на расширение. Имена файлов могли быть длиной до 255 символов и допускали значительно больший диапазон допустимых к использованию символов – в частности пробел.
  2. Поддержка расширенных атрибутов (Extended Attributes, EA). Каждый файл или директория могли иметь до 64 Кб EA, связанных с ним там могла храниться любая информация – иконки, описания, информация для программы-каталогизатора и так далее.
  3. Поддержка больших дисков. FAT поддерживала разделы размером до 2 Гб. HPFS поддерживала тома до 64 Гб и была ограничена на то время лишь драйверами жестких дисков.
  4. Устойчивость к фрагментации. В то время как разделы FAT требовали регулярной дефрагментации для предотвращения иногда ощутимых потерь в производительности, HPFS пыталась использовать для файлов непрерывные фрагменты, сохраняя фрагментацию на минимальном уровне.
  5. Уменьшение потерь дискового пространства. Наибольший FAT-диск, размером в 2 Гб, использовал для хранения данных элементы размером 64 Кб, чем вызывались большие потери дискового места (иногда до 50%). HPFS использовала сектора размером 512 байт, таким образом резко уменьшая потери.
  6. Высокая отказоустойчивость. Если таблица FAT на дисковом разделе разрушалась в результате инцидента, вся остальная информация на диске превращалась в гору бесполезного мусора, поскольку вся информация о размещении файлов была сконцентрирована в FAT. HPFS дублировала часть информации и хранила структуру диска связно в обоих направлениях (от каталога к подкаталогу или файлу и наоборот). В результате, повреждения одной области не оказывали никакого влияния на весь остальной раздел. К примеру, несмотря на повреждение сектора с директорией – все файлы в ней оставались доступны.

OS/2 GUI также получил новый внешний вид, весьма схожий с вышедшей через несколько месяцев Windows 3.0

Наиболее значимым различием между OS/2 1.2 и Windows 3.0 было то, что Windows не была операционной системой как таковой и исполнялась поверх MS-DOS (и даже могла быть запущена в DOS сессии OS/2). Также Windows содержала больше различных приложений. OS/2 была более бизнес-ориентированной и при сравнении имела несколько спартанский вид. Отчасти это послужило тому, что Windows получила большее распространение среди конечных пользователей.

После исторического разрыва совместной разработки OS/2, вызванного нежеланием Microsoft делить прибыль от продаж операционной системы с IBM, основной процесс по модернизации OS/2 происходил в IBM. Версия 1.3 была практически идентична 1.2 по предоставляемым возможностям, но включала многочисленные улучшения производительности и удобства использования.

Наконец во всех редакциях OS/2 присутствовал язык программирования REXX, разработанный Майком Коулишоу.

Язык изначально создавался для достижения четырех главных целей:
  1. легкой понимаемости (читаемости) написанных на нем программ, что облегчает работу программистам, пользователям и сопровождающему персоналу;
  2. поддержки быстрого, эффективного и аккуратного программирования за счет обеспечения максимально естественной формы представления данных и управляющих структур языка;
  3. обеспечения надежной и эффективной реализации языка на разнообразных платформах;
  4. высокой применимости языка в системном и прикладном ПО.

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

В марте 1992 была полностью готова новая операционная система и выпущена на рынок под названием OS/2 2.0 GA (General Availability – публично доступная).

Самым большим плюсом в OS/2 2.0 была сама система. Переход на 32-разрядную архитектуру снял множество ограничений, существовавших в DOS и OS/2 1.x – в первую очередь по работе с памятью. Вместе с тем система не была «полностью» 32-разрядной – многие части оставались 16-разрядными – в первую очередь по соображениям совместимости и экономии времени. Основные же элементы системы были полностью новыми и 32-разрядными – к примеру поддержка множества виртуальных DOS-машин (Multuply Virtual DOS Machine, MVDM) и менеджер памяти с поддержкой пейджинга. Более того, основная часть кода была написана на C, а не на ассемблере, как в OS/2 1.x.

Вторым существенным моментом стал новый интерфейс пользователя под названием Workplace Shell (WPS), являвшийся радикальным уходом от концепций, заложенных в GUI OS/1.x и Windows. Новый интерфейс был объектно-ориентированным и в нем все стало объектом – диск, принтер, программа и так далее. Манипуляции с объектами проводились с помощью drag-n-drop – перемещение, копирование, печать и уничтожение. В WPS широко использовалась правая кнопка мыши – для открытия контекстных меню и выполнения операций по перетаскиванию объектов.

Для операционной системы OS/2 2.0 была зарегистрирована торговая марка «Интегрирующая платформа» (The Integrating Platform). Это название напрямую намекало на уникальную возможность OS/2 2.0 исполнять существующие DOS, Windows и OS/2 1.x приложения одновременно с новыми 32-разрядными родными приложениями.

Выпуск версии OS/2 2.1 в мае 1993 года явился следствием эволюционного развития версии 2.0. Внешний вид не претерпел существенных изменений, разработчики продолжали трудиться над «внутренностями» системы. Из видимых конечному пользователю изменений стоит отметить смену версии Win-OS/2 с 3.0 на 3.1 и появление нового компонента под названием Multimedia Presentation Manager/2 (MMPM/2), добавившего в графический интерфейс пользователя различные мультимедийные возможности – звуковые схемы, воспроизведение мультимедийных файлов и тому подобное.

В ноябре 1993 выходит специальная версия OS/2 for Windows, не содержащая кода Win-OS/2, а использующая уже установленную на компьютере копию Windows 3.x. Таким образом снижалась цена конечного продукта (IBM платила лицензионные отчисления Microsoft за использование кода Windows в Win-OS/2). Вместе с тем эта версия продемонстрировала ситуацию на рынке. Используя свое монопольное положение, Microsoft с помощью манипуляций в сфере ценовой политики держала производителей клонов PC под жестким контролем, запрещая им предустанавливать на продаваемые компьютеры операционные системы, отличные от DOS/Windows собственного производства.

Несмотря на жесткий прессинг со стороны Microsoft времена OS/2 2.1 и 2.11 были отмечены ростом количества приложений, написанных специально для OS/2. IBM достигла соглашения с несколькими крупными производителями программного обеспечения о разработке OS/2 версий их приложений. В число таких компаний входили Borland, Lotus, Novell и тогда еще самостоятельная WordPerfect.

В октябре 1994 выходит OS/2 Warp – самая популярная и самая распространенная версия OS/2. Внутренне система незначительно отличалась от OS/2 2.11 за исключением расширенной поддержки оборудования и исправления ошибок – хороший пример того, что грамотно спроектированный и продуманный продукт не нуждается в лихорадочном переписывании многих элементов кода. Наиболее серьезные изменения касались исключительно улучшения простоты использования конечным пользователем.

Новые изменения и улучшения включали в себя:
  1. OS/2 Warp поддерживала новый улучшенный формат исполняемых файлов, значительно уменьшавший их размер (к сожалению, этой возможностью воспользовалась очень малая часть разработчиков ПО).
  2. Улучшенную модель драйверов, делавшую их разработку более простым делом.
  3. Улучшенные мультимедиа-средства, поддержку плат с TV-выходом, плат видеозахвата и прочих подобных устройств.
  4. Значительное расширение списка драйверов оборудования.
  5. Возможность манипулирования процессом загрузки с помощью комбинации клавиш . Наконец можно было отказаться от «спасательного» флоппи-диска.
  6. Кардинально улучшенный десктоп, новые иконки, более приятные глазу цветовые схемы.
  7. Основательно дополненную учебную программу для новичков.
  8. Специальное средство быстрого запуска приложений LaunchPad.
  9. Весьма качественную поддержку протоколов и приложений для работы в Интернете.

Задолго до того, как в Microsoft уяснили важность «информационной супермагистрали», IBM предоставила в распоряжение пользователей полный и мощный набор инструментов для работы во всемирной сети. Сперва отдельно, а с версии OS/2 Warp Connect в комплекте с операционной системой.

OS/2 Warp и OS/2 Warp Connect была самой серьезной и удачной попыткой IBM победить в битве за доминацию на десктопе или по крайней мере в завоевании существенной части. Конечно, любая вещь имеет свои достоинства и недостатки, и OS/2 была не лишена минусов:
  1. Отличная совместимость с DOS и Windows 3.x, сыгравшая с IBM злую шутку. Многие производители ПО аргументировали отсутствие версий своих продуктов для OS/2 тем, что написанные для DOS и Windows программы прекрасно чувствуют себя под OS/2.
  2. Яростное противодействие Microsoft, которое нанесло наибольший урон OS/2. Не стесняясь никого и ничего, Microsoft применяла любые способы торпедирования OS/2, самыми эффективными из которых был шантаж OEM-производителей и независимых разработчиков ПО.
  3. Слабая и невнятная поддержка со стороны самой IBM. Компания даже поставляла собственные компьютеры без предустановленной OS/2, что, конечно, никак не способствовало росту доверия пользователей к системе.
  4. Бездарная маркетинговая политика IBM. Компания фактически не знала, как продавать OS/2. Исторически IBM прославилась (и весьма заслуженно) своей политикой при работе с корпоративными заказчиками (знаменитая «мертвая хватка» IBM за клиента), но массовая продажа программного обеспечения требовала совершенно иного подхода.
  5. OS/2 была однопользовательской системой с отсутствием сколько-нибудь удовлетворительных средств разграничения прав пользователей. Отсутствие такого механизма сослужило далеко не самую хорошую службу.

Сентябрь 1996 года ознаменовался выходом OS/2 Warp 4.0 (чаще других версий OS/2, именуемый своим кодовым именем Merlin). Новые изменения и улучшения превратили Merlin в самого выдающегося представителя операционных систем семейства OS/2:
  1. Встроенные возможности по управлению голосом и средства голосового набора позволили использовать голосовые команды при работе с системой (открыть веб-страницу, удалить объект и т. д.) и осуществлять голосовой ввод текста.
  2. Графический интерфейс пользователя был кардинально переработан и улучшен. В дополнение к LaunchPad появился новый элемент WarpCenter, еще более упрощавший работу.
  3. Встроенные средства для работы в Интернете также значительно изменены и улучшены.
  4. В Merlin появилась встроенная виртуальная Java-машина. С учетом того, что реализация виртуальной Java-машины от IBM была самой лучшей на рынке, OS/2 приобрела важную способность запускать Java-приложения, обеспечивая отличную производительность.

Дальнейшие версии OS/2 фактически отличались от Merlin лишь включением в поставку различных дополнительных продуктов, добавлением особенностей наподобие новых файловых систем и исправлением ошибок.

У OS/2 была тяжелая жизнь, как вне, так даже и внутри IBM. Широко известны события времен выхода Windows 95, когда Microsoft оказывала невероятное давление на IBM PC Company (производившей компьютеры IBM PC), до последнего момента отказываясь подписывать договор по лицензированию на предустановку Windows 95 и в последний момент запросив за лицензию намного более высокую цену по сравнению с ценами для других производителей. Помимо неприятностей для IBM PC Company в сторону подразделения, работавшего над OS/2, бросались достаточно двусмысленные взгляды.

Трудно сказать, когда начался проект OS/2 for PowerPC, однако известно, что в самом начале девяностых IBM решила, что было бы очень неплохо иметь собственную десктоп-ориентированную операционную систему. Ее планировали как базирующуюся на микроядре объектно-ориентированную супер ОС, работающую на RISC-платформе (неплохая коллекция непонятных слов). Платформа должна была позволять запускать сразу несколько операционных систем одновременно. Сейчас уже никто не скажет, какие это должны были быть операционные системы, но в их число должны были входить OS/2, Windows NT, Solaris и MacOS.

В любом случае цели, задачи и названия проекта постоянно менялись, в итоге завершившись проектом OS/2 for PowerPC, назвавшимся в финальной стадии OS/2 Warp Connect, PowerPC Edition. IBM активно рекламировала продукт все время на протяжении между 1993 и 1995 годами. Было написано немыслимое количество статей и даже выпущены бета-версии набора разработчика под названием PowerPC SDK. Среди производителей ПО распространялись средства для переноса приложений из обычной OS/2 на новую платформу (скорее всего, сам перенос не был трудоемким, поскольку OS/2 2.0 изначально разрабатывалась с оглядкой на переносимость). С приближением выхода OS/2 for PowerPC рекламный шум постепенно начал утихать. И в тот момент, когда новая инкарнация OS/2 должна была вот-вот появиться на прилавках, IBM внезапно умолкла. На самом деле продукт был выпущен, и отдельные счастливчики даже смогли не только подержать его в руках, но и установить. Однако только клиенты, имевшие специальные контракты с IBM, могли купить OS/2 for PowerPC.

Причин краха OS/2 for PowerPC было множество – одни лежали вне IBM, но другие были полностью внутренними:
  1. Не было никакой ясности, кому на самом деле была нужна OS/2 for PowerPC.
  2. Организация проекта была просто отвратительной – чего стоит только то, что менеджеры среднего звена зачастую не сообщали своим начальникам о действительном состоянии дел в проекте и т. д.
  3. Успех проекта напрямую зависел от успеха архитектуры PowerPC, который не состоялся.

Итогом стала потеря миллионов долларов, вложенных в разработку (хотя некоторые технологии OS/2 for PowerPC впоследствии были внедрены в OS/2 Warp 4). Можно только предполагать, что бы произошло, если бы все усилия и деньги были направлены на поддержку Intel версии OS/2.