Теория операционных систем

         

в 1987 г. UNIX System

Обещанная в 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) и развитии отдельных подсистем.
 
Содержание раздела