System V
System V (сокращённо SysV) — одна из основных ветвей операционной системы Unix, разработанная компанией AT&T в 1983 году. В отличие от предшественников (Version 7 Unix) и альтернативных ветвей (например, BSD), System V была ориентирована на коммерческое использование, стандартизацию и поддержку на различных аппаратных платформах. Она стала основой для многих коммерческих Unix-систем, включая AIX от IBM, HP-UX от Hewlett-Packard, Solaris от Sun Microsystems (позднее Oracle) и IRIX от Silicon Graphics. System V также оказала значительное влияние на стандарты POSIX и Single UNIX Specification, а её компоненты, такие как System V IPC и System V Init, используются или были адаптированы в современных операционных системах, включая Linux.
История
Предпосылки и создание
В начале 1980-х годов AT&T, владевшая правами на Unix, стремилась коммерциализировать систему. Предыдущие версии (Version 6, Version 7) распространялись в основном в академической среде. В 1982 году AT&T выпустила System III (объединение Version 7 с некоторыми разработками для внутреннего использования), но он не получил широкого распространения. В 1983 году была выпущена System V Release 1 (SVR1), которая стала первой коммерчески успешной версией. Основные цели: стабильность, переносимость на разные архитектуры (Motorola 68000, Intel 8086, Zilog Z8000) и поддержка многопользовательского режима.
Основные релизы
- System V Release 2 (SVR2, 1984) — добавлена поддержка файловых систем с длинными именами (до 14 символов), улучшена работа с терминалами, введены именованные каналы (named pipes).
- System V Release 3 (SVR3, 1986) — значительное расширение сетевых возможностей: появился стек протоколов TCP/IP, поддержка Network File System (NFS) от Sun Microsystems, а также Remote File Sharing (RFS) — собственная сетевая файловая система AT&T. Введена система управления пакетами (pkgadd/pkgrm).
- System V Release 4 (SVR4, 1989) — наиболее важный релиз. Он объединил возможности System V и BSD: поддержка виртуальной памяти, динамических библиотек, улучшенная система ввода-вывода, стандартизированный интерфейс для драйверов устройств (DDI/DKI). SVR4 также включил в себя оболочку KornShell (ksh) и систему печати LP. Этот релиз стал основой для Solaris 2.x и UnixWare.
- System V Release 5 (SVR5, 1997) — разрабатывалась для UnixWare 7 и OpenServer 6. Включала поддержку 64-разрядных процессоров, улучшенную многопоточность и кластеризацию. Однако коммерческий успех SVR5 был ограничен из-за конкуренции с Linux и Windows NT.
Закат и влияние
После 1990-х годов AT&T продала права на Unix компании Novell (1993), которая затем передала их The Open Group (1995). Разработка System V как единой ветви прекратилась, но её наследие сохранилось в виде стандартов (Single UNIX Specification) и в системах, основанных на SVR4 (Solaris, AIX, HP-UX). Linux и BSD-системы заимствовали многие механизмы System V, хотя и не являются прямыми потомками.
Архитектура и ключевые компоненты
Ядро
Ядро System V — монолитное, с возможностью динамической загрузки модулей (в SVR4). Оно управляет процессами, памятью, файловыми системами и устройствами. В SVR4 была введена подсистема виртуальной памяти (VM), основанная на страничной организации, и система управления вводом-выводом (STREAMS), которая позволяла гибко настраивать обработку данных между пользовательскими процессами и драйверами.
System V IPC (Inter-Process Communication)
Один из наиболее известных компонентов System V — набор механизмов межпроцессного взаимодействия, включённый в SVR2 и расширенный в SVR3:
- Очереди сообщений (message queues) — позволяют процессам обмениваться структурированными сообщениями.
- Семафоры (semaphores) — используются для синхронизации доступа к общим ресурсам.
- Разделяемая память (shared memory) — позволяет нескольким процессам обращаться к одной области памяти.
Эти механизмы были стандартизированы в POSIX, но в Linux и других Unix-подобных системах существуют как устаревшие (legacy) версии System V IPC, так и более современные реализации POSIX IPC.
System V Init
Система инициализации System V (sysvinit) используется для загрузки и управления службами. Она основана на концепции runlevel (уровней выполнения):
- 0 — остановка системы
- 1 — однопользовательский режим (восстановление)
- 2 — многопользовательский режим без сети (в некоторых системах)
- 3 — многопользовательский режим с сетью
- 4 — не используется (зарезервирован)
- 5 — многопользовательский режим с графическим интерфейсом (X11)
- 6 — перезагрузка
Скрипты инициализации находятся в каталогах /etc/rc.d/rc?.d/ (где ? — номер runlevel) и выполняются последовательно. Хотя в современных дистрибутивах Linux sysvinit часто заменён на systemd, многие администраторы используют его в минимальных или встраиваемых системах.
Файловая система
System V использует традиционную иерархическую файловую систему, соответствующую стандарту Filesystem Hierarchy Standard (FHS). Основные каталоги:
/— корневой каталог/usr— пользовательские программы и библиотеки/var— изменяемые данные (логи, очереди печати)/etc— конфигурационные файлы/tmp— временные файлы
Файловая система поддерживает жёсткие ссылки, символические ссылки (с SVR4), права доступа (чтение/запись/исполнение для владельца, группы, остальных) и расширенные атрибуты.
Классификация и версии
По релизам
- SVR1 (1983) — базовая коммерческая версия.
- SVR2 (1984) — добавлены IPC, длинные имена файлов.
- SVR3 (1986) — сетевые возможности, RFS, NFS.
- SVR4 (1989) — объединение с BSD, виртуальная память, STREAMS.
- SVR5 (1997) — 64-битная поддержка, кластеризация.
По производителям
- AT&T Unix — оригинальные разработки.
- Solaris (Sun Microsystems, ныне Oracle) — основана на SVR4, одна из самых известных коммерческих реализаций.
- AIX (IBM) — базируется на SVR3 с элементами SVR4 и собственными расширениями.
- HP-UX (Hewlett-Packard) — основана на SVR3, позже на SVR4.
- UnixWare (Novell, позже SCO) — SVR5.
- OpenServer (SCO) — SVR5.
По стандартам
System V стала основой для стандарта Single UNIX Specification (SUS), который определяет требования для получения сертификации «UNIX». Системы, соответствующие SUS, могут называться UNIX (с большой буквы). Linux, хотя и не сертифицирован как UNIX в полном объёме, реализует большую часть SUS.
Применение и значение
Коммерческое применение
System V была основной операционной системой для серверов, рабочих станций и мейнфреймов в 1980-х и 1990-х годах. Она использовалась в банковской сфере, телекоммуникациях, научных расчётах и промышленности. Многие крупные корпорации (IBM, HP, Sun) строили свои аппаратно-программные комплексы на базе System V.
Влияние на Linux и BSD
Linux заимствовал многие механизмы System V:
- System V IPC — реализован в ядре Linux с версии 1.0.
- System V Init — используется в дистрибутивах, не перешедших на systemd (например, Slackware, Gentoo с OpenRC).
- Стандарты файловой системы — Linux следует FHS, во многом основанному на System V.
- Утилиты командной строки — многие команды (ps, kill, ipcs, ipcrm) имеют синтаксис, совместимый с System V.
BSD-системы (FreeBSD, OpenBSD) также поддерживают System V IPC, хотя их система инициализации и некоторые утилиты отличаются.
Образовательное значение
System V изучается в курсах операционных систем как пример классической монолитной архитектуры. Механизмы IPC, система runlevel и скрипты инициализации используются для обучения студентов принципам управления процессами и ресурсами.
Критика и недостатки
- Сложность конфигурации — скрипты инициализации System V (sysvinit) требуют ручного создания символических ссылок, что может приводить к ошибкам. В современных системах это решается использованием systemd.
- Отсутствие модульности — монолитное ядро System V было менее гибким, чем микроядерные архитектуры (например, Minix или Mach).
- Устаревшие механизмы IPC — System V IPC (очереди сообщений, семафоры) считаются менее эффективными и безопасными, чем современные реализации POSIX IPC или D-Bus.
- Ограниченная поддержка многопоточности — в ранних версиях System V не было встроенной поддержки потоков (threads), что требовало использования сторонних библиотек.
Интересные факты
- Логотип System V — стилизованная буква «V» с горизонтальными полосами — часто ассоциируется с коммерческим Unix.
- В 1989 году AT&T и Sun Microsystems совместно разработали SVR4, что вызвало недовольство других производителей Unix (IBM, HP, DEC), которые создали альянс OSF (Open Software Foundation) для продвижения альтернативного стандарта OSF/1.
- System V была первой Unix-системой, которая получила сертификацию POSIX.1 (стандарт IEEE 1003.1).
- В России System V использовалась в некоторых государственных и научных учреждениях, например, в Институте прикладной математики РАН, где на базе Solaris (SVR4) строились вычислительные кластеры.
Источники
- Bach, M. J. (1986). The Design of the UNIX Operating System. Prentice Hall.
- McKusick, M. K., & Neville-Neil, G. V. (2005). The Design and Implementation of the FreeBSD Operating System. Addison-Wesley.
- Stevens, W. R. (1999). UNIX Network Programming, Volume 2: Interprocess Communications. Prentice Hall.
- AT&T (1989). System V Release 4 Programmer’s Guide.
- The Open Group (2008). Single UNIX Specification, Version 4.
- «Unix History» — сайт The Unix Heritage Society (TUHS).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →