Обещанная в 1987 г. UNIX System VI вышла на рынок в
1989 г. под названием UNIX SVR4. Микроядерная система обеспечивала полную
бинарную совместимость с SVR3, бинарную же совместимость с 16- и 32-разрядными
Xenix на процессоре х86, и совместимость на уровне исходных текстов с
BSD Unix v4.3 [Хевиленд/Грей/Салама 2000]. Заявленная цель консолидации
всех основных ветвей Unix в единой системе была полностью достигнута.
Sun Microsystems приступила к переводу своих пользователей на Sun OS 5.x
(ныне известна как Solaris), основанную на ядре SVR4.
Версия SVR4 была этапной — она включала в себя следующие компоненты.
- Многопоточное микроядро
- Класс планирования реального времени (процессы с этим
классом планирования имеют приоритет выше, чем нити ядра)
- Новый формат загрузочного модуля ELF (Executable and
Linking Format), обеспечивавший удобную работу с разделяемыми и динамическими
библиотеками
- Динамическое подключение и отключение областей своппинга
- Динамическую загрузку и выгрузку модулей ядра
- Многопоточность в пределах одного процесса (так называемые
LWP
(Light Weight Processes — легкие процессы))
- Псевдофайловую систему /рrос, обеспечивающую контролируемый
доступ к
адресным пространствам других процессов и структурам данных ядра
- Оптимизирующий компилятор ANSI С, по качеству кода
не уступающий
GNU С.
В 1991 г. подразделение AT&T, занимающееся развитием
и поддержкой UNIX, было выделено в отдельное предприятие, USL (UNIX System
Laboratories). Дальнейшая история этой организации представляет неплохой
сюжет для романа: в 1992 г. USL была приобретена фирмой Novell — тогдашний
CEO (Chief Executive Officer — главный администратор) компании Р. Нурда
пытался сформировать линию продуктов, способную конкурировать со всеми
предложениями Microsoft. В 1993 г. права на торговую марку UNIX были переданы
консорциуму Х/Open. В 1995 г. акционеры Novell, испуганные перспективой
конфронтации с Microsoft, сняли Нурду с поста СЕО и стали распродавать
его приобретения. В частности, USL и лицензионные соглашения с распространителями
UNIX SVR4 (Sun, Silicon Graphics, Microport и др.) были проданы фирме
SCO. Нурда основал компанию Caldera, основным бизнесом которой стало распространение
и поддержка Linux. 7 мая 2000 г. в тексте этой истории была поставлена
ну, скорее всего, не точка, но весьма важный знак препинания: Caldera
приобрела компанию SCO вместе со всеми правами на SVR4
[www.sco.com].
Эти перипетии не мешали развитию системы, или, во всяком случае, мешали
не так сильно, как можно было бы ожидать: вышедшая в 1992 г. версия UNIX
System V Release 4.2 включала графический пользовательский интерфейс Motif.
Построенная на этом ядре UnixWare имела сравнительно неплохой эмулятор
DOS/Windows 3.x, журнальную файловую систему Veritas, средства доступа
к серверам файлов и печати Novell Netware. Из более свежих новшеств необходимо
упомянуть UnixWare NonStop Clusters (многомашинные кластеры из компьютеров
х86) и Tarantella — средство удаленного доступа к рабочим станциям Windows
NT/2000/XP через протокол Microsoft RDP [www.tarantella.com].
В 1997 г. было заключено стратегическое соглашение с Hewlett Packard о
разработке единой 64-разрядной версии ядра UNIX (SVR4 с успехом переносилась
на 64-разрядные процессоры MIPS и SPARCv9 фирмами SGI и Sun соответственно,
но это были независимые продукты). В 1998 г. была выпущена UnixWare/Merced,
первая стабильная среда разработки для нового 64-разрядного поколения
процессоров Intel.
Sun Solans v8, версия SVR4, поставляемая фирмой Sun Microsystems, при
работе на серверах семейства Sun Fire поддерживает динамическое подключение,
исключение и горячую замену процессорных модулей и модулей ОЗУ, а также
одновременную работу двух копий Solaris на разных процессорах одного вычислительного
комплекса с динамическим перераспределением ресурсов (процессоров, ОЗУ,
дисков) между виртуальными системами.
На всем протяжении 90-х, архитектура ядра не подверглась существенным
изменениям. Как и MVS полутора десятилетиями раньше, UNIX достиг совершенства
в своем роде и нуждается не в новой архитектуре, а только в оптимизации
существующего кода (ядро SVR4 несколько тяжеловато по сравнению с монолитными
ядрами BSD и Linux) и развитии отдельных подсистем.