Распространение UNIX
AT&T в 70-е годы была "естественной" монополией
в области телекоммуникаций. Этот статус гарантировался законодательным
запретом деятельности других телекоммуникационных компаний на территории
США. В обмен на этот статус AT&T вынуждена была подчиняться ряду регуляторных
мер, в частности — ей было запрещено выходить на другие, кроме телекоммуникационного,
рынки, в том числе на рынок программного обеспечения. Однако разработчики
UNIX чувствовали, что их системе суждено гораздо более привлекательное
будущее, чем внутренний стандарт крупной компании.
В 1973 г. одна из дочерних компаний AT&T, Western Electric, дала разрешение
на использование UNIX в некоммерческих целях. Началось распространение
системы в университетах США. Наибольший вклад в распространение и развитие
университетской версии системы внес университет Беркли, в котором было
создано специальное подразделение — BSD (Berkeley Software Distribution}.
В BSD UNIX было включено множество ценных нововведений, таких, как:
- сегментная (на старших моделях PDP-11) и страничная
(на VAX-11/780) виртуальная память
- раздельные адресные пространства процессов и выделенное
адресное пространство ядра
- абсолютные загрузочные модули формата a.out
- примитивная форма разделяемых библиотек
- усовершенствования механизма обработки сигналов
- управление сессиями и заданиями в пределах сессии
Самое важное нововведение было сделано в начале 80-х,
когда в рамках работ по проекту DARPA сетевое программное обеспечение
ARPANet было перенесено с TOPS/20 на BSD Unix. Вскоре сетевой стек BSD
стал референтной реализацией (реализация, на совместимость с которой тестируют
все остальные) того, что ныне известно как семейство протоколов TCP/IP.
В 1980 г. было решено начать коммерческое распространение системы на несколько
необычных принципах: AT&T предоставляла сторонним коммерческим фирмам
(естественно, за плату) лицензии на использование исходных текстов ядра
и основных системных утилит текущей версии UNIX, а уже эта сторонняя коммерческая
фирма (дистрибьютор) строила на основе полученных и самостоятельно разработанных
компонентов законченную систему — с инсталляционной программой, системой
управления пакетами и т. д. — и занималась ее продажей конечным пользователям
и сопровождением. Таким образом была создана специфическая бизнес-модель
распространения ОС семейства UNIX, хорошо знакомая пользователям Linux.
Первым из коммерческих распространителей стала фирма Microsoft, продававшая
ядро UNIX v7 в составе ОС Microsoft Xenix. Xenix поставлялся почти для
всех популярных в то время 16-разрядных миникомпыотеров и микропроцессорных
систем [Дейтел 1987]. Как и BSD Unix, Xenix использовал виртуальную память
и имел отдельное адресное пространство для ядра. В 1983 г. торговая марка
Xenix и весь дистрибьюторский бизнес был передан фирме SCO в обмен на
долю акций последней.
К середине 80-х, воспитанное на университетских версиях UNIX поколение
студентов пришло в промышленность. Началось бурное развитие рабочих
станций (workstation) — мощных 32-разрядных персональных компьютеров,
как правило, оснащенных страничными или сегментными диспетчерами памяти.
Лицензия BSD допускала построение на основе кода BSD коммерческих систем
без каких-либо ограничений, в том числе и без денежных выплат разработчикам
ядра. Благодаря этому, а также благодаря техническому совершенству ядра
BSD Unix, последнее оказалось гораздо более привлекательным, чем ядро
AT&T, поэтому основная масса поставщиков рабочих станций строили свои
ОС на основе BSD Unix. Это привело к быстрому и неконтролируемому размножению
систем, называвших себя Unix, и при этом имевших значительное количество
несовместимостей — дополнительных или, наоборот, нереализованных системных
вызовов, ошибок, "документированных особенностей" и т. д.
В 1984 г. AT&T заключила с федеральным антимонопольным комитетом США
соглашение, в соответствии с которым компания должна была выделить локальные
телефонные сети в отдельные компании, и согласовала планы создания конкурентной
среды на рынке междугородней связи и выделения в отдельные компании подразделений,
не имеющих отношения к телекоммуникациям. Долгосрочные результаты этого
соглашения до сих пор являются предметом горячих дебатов среди юристов
и экономистов, но важным с нашей точки зрения является то, что AT&T
смогла напрямую заняться продажами и поддержкой программного обеспечения.
На рынок вышло ядро Unix System V — первая поддерживаемая версия ядра
AT&T UNIX.
В 1987 г. вышла версия UNIX System V Release 3, включавшая в себя асинхронные
драйверы последовательных устройств (STREAMS), универсальный API для доступа
к сетевым протоколам (ТЫ), средства межпроцессного взаимодействия (семафоры,
очереди сообщений и сегменты разделяемой памяти), ныне известные как SysV
IPC, BSD-совместимые сокеты и ряд других В5Оизмов
[Робачевский 1999]. SVR3 в то время воспринималась как этапная ОС, однако
дальнейшее развитие системы вынуждает нас отнести ее скорее к переходным
версиям.
В этом же году AT&T и Sun Microsystems заключили стратегическое соглашение
о разработке перспективного ядра UNIX System VI, которое должно было обеспечить
совместимость с System V, BSD Unix и Xenix и, тем самым консолидировать
возникший зоопарк Unix систем.
Не имея финансовой поддержки со стороны локальных телефонных сетей AT&T
оказалась вынуждена заняться поисками средств для поддержки деятельности
по развитию UNIX. Во второй половине 80-х было сделано несколько попыток
взыскать лицензионные отчисления с поставщиков коммерческих систем на
основе BSD Unix. Нельзя сказать, чтобы эти попытки были особенно последовательными
и успешными, но они породили ряд инициатив по разработке "лицензионно
чистой Unix системы".
Среди этих инициатив необходимо назвать следующие.
- Микроядро BSD Mach О Minix А. Танненбаума
- Проект Р. Столлмэна GNU (GNU Not Unix — рекурсивная
аббревиатура) [www.gnu.orgj.
- Консорциум OSF (Open Software Foundation — фонд открытого
программного обеспечения). "
|