О терминах

UNIX (читается ю́никс) - сегодня этим понятием обозначается группа переносимых, многозадачных и многопользовательских операционных систем.
Также существует понятие «UNIX-подобные» (англ. Unix-like) операционные системы - это системы, концепции которых сходны с идеей функционирования UNIX.

Название «UNIX» (изначально «Unics») было образовано от «Multics». Буква U в названии UNIX означала «Uniplexed» («односложная») в противоположность слову «Multiplexed» («комплексная»), лежавшему в основе названия системы Multics. Замена "M" на "U" подчёркивает попытку создателей отойти от сложностей системы Multics, к выработке более простого и работоспособного подхода.

Изначально, UNIX - это название первой версии операционной системы, которая была создана Кеном Томпсоном (Kenneth Thompson) и Денисом Ритчи (Dennis Ritchie) в Bell Laboratories в 1969 году.

Немного истории

Фотография создателей системы Unix. Слева: Кен Томпсон, cправа: Деннис Ритчи

В 1965 году, Американская фирма Bell Telephone Laboratories, совместно с General Electric и Массачусетским технологическим институтом, начали проект по созданию операционной системы, способной работать в многозадачном и многопользовательском режимах. Система называлась Multics и была впервые запущена на электронно-вычислительной машине GE 645 в 1965 году. Вскоре Bell Laboratories вышла из проекта и разработчики, в состав которых входили Кен Томпсон и Денис Ритчи, остались без мощного (GE 645) компьютера. В это время Кен Томпсон писал игровую программу Space Travel ("Космическое путешествие") для Multics и портировал её на Фортран для операционной системы GECOS (в последствии Honeywell 635). Так получилось, что игра работала плохо и, для дальнейшей работы, Кену пришлось искать незагруженную вычислительную машину с низкой стоимостью рабочего времени.

Стоимость машинного времени - это стоимость работы вычислительной машины, выраженая в денежном эквиваленте. В стоимость входят затраты на программирование, обслуживание, электричество и сопутствующие расходы. Не трудно представить, что купить и содержать ЭВМ в те времена могли только очень солидные компании для очень конкретных (в основном промышленных) расчётов.

Машина PDP-7. Осло, Норвегия

В Bell Labs такая машина нашлась - это была незагруженная расчётами PDP-7, обладавшая (по меркам того времени) очень хорошим графическим процессором. Кен начал переписывать игру для этой машины, но, как оказалось, просто пенести игру недостаточно, и вместе с Денисом Ритчи они занялись разработкой идеи псевдопараллелизма, позволившей бы им одновременно: интерактивно играть в игру, отлаживать её и редактировать код программы. В последствии, к реализации идеи присоединился Брайан Керниган (Brian Kernigan). Он же придумал системе имя - UNICS, которое было сокращено до UNIX. Вместе, они создали некое подобие операционной системы, куда входили: ядро, реализующее функцию псевдопараллелизма, а также алгоритмы разделения памяти и файловую систему. Кроме того, в набор программ входили: текстовый редактор, командный интерпретатор, программы для работы с файловой системой и другие.

К началу 70-х, растёт сообщество программистов Unix - система улучшается и в ней реализуются смелые идеи, как например "каналы" (pipes), предложенная Дугом Макилроем (Doug McIlroy). Кстати, эта идея сыграла важную роль в дальнейшем развитии всех *nix-систем. Суть каналов сводится к тому, что каждая программа должна решать только одну простую задачу, причём максимально хорошо, затем, если необходимо выполнить дальнейшую обработку данных, они пересылаются программой через программные каналы другой программе, выполняющей другую простую функцию. Полученный результат, по каналам можно передать на внешнее устройство (например дисплей, файловая система, принтер) или на следующую программу.

Так началась эпоха Unix…, а точнее с 1 января 1970 года - с этой даты, все Unix и Unix-подобные операционные системы ведут отсчёт внутренного системного времени.

Распространению UNIX мешала привязка к коду конкретной машины, поэтому Брайан Керниган предложил переписать систему на языке высокого уровня, не зависящим от архитектуры конкретной машины. Кен Томпсон попытался переписать систему на Фортране, но этот язык мало годился для системного программирования. Тогда Кен создал свой язык программирования названный "B"(Би) и также это не решило проблему переносимости, из-за привязки к аппаратной реализации машины в некоторых местах. Денис Ритчи переработал "В" и получился ещё один язык программирования, который в последствии назвали "С"(Си). "С" решил проблемы переносимости, и с этого момента Unix пошла в "массы": для поддержки и развития системы создаётся группа UNIX System Group (USG), создаётся система открытого исходного кода и система документации. Дистрибутив системы распространялся по лицензиям компании AT&T со всей документацией и исходным кодом.

BSD

В середине 70-х, Bell Labs уже активно продаёт компьютерные решения со "своей" системой и Unix начинает распространяться по университетам. Одним из обладателей академической лицензии Unix стал Университет Беркли в Калифорнии. В последствии, университет стал главным центром развития Unix - копились исправления и наработки студентов-программистов, специалистов, да и простых пользователей, но лицензия AT&T не позволяла модифицировать систему. Тогда университет выпустил свою версию Unix со всеми наработками и исправлениями и назвали её Berkeley Software Distribution (BSD).

До выпуска версии 4.3BSD включительно, все пользователи BSD должны были сначала купить лицензию на исходный код у AT&T по довольно не скромной цене, что существенно сокращало круг пользователей, а в последствии и разработчиков, заинтересованных в развитии системы. Тогда исходный код системы был частично переписан, чтобы максимально сократить наличие кода Unix системы AT&T. Затем, в начале 90-х были написаны версии BSD с поддержкой стека TCP\IP - BSD Networking Release 1 и BSD Networking Release 2. Последняя отличалась некоторыми лицензионными послаблениями, но распространялась как и первая - по стоимости в 1000$ и на тех же условиях распространения.

В январе 1992 года Билл Джолитс (Bill Jolitz) переписал оставшийся код AT&T в BSD, тем самым завершив до конца "очищение" всей системы, и выложил в сеть, назвав её 386/BSD. Система работала на архитектуре PC Intel 386. "Подхватив" код, создаются группы энтузиастов по улучшению и направлению системы в определённое русло.

  • Группа NetBSD сделала упор на поддержку как можно большего числа платформ и продолжила исследования по пути CSRG.
  • FreeBSD нацелилась на удобство использования, но поддерживала только архитектуру PC. Этим и завоевала популярность у большей части аудитории.
  • Разработчики OpenBSD сделали упор на безопасности системы.

CSRG (Computer Systems Research Group) - ( русск.Группа исследования компьютерных систем ) - исследовательская группа в Калифорнийском университете в Беркли, целью которой было улучшение операционной системы AT&T UNIX. Финансировалась агентством DARPA, входящим в структуру Министерства обороны США.

Другие Unix-системы

Современные UNIX-системы можно отнести либо к типу USG (или как ещё их называют System V или SYSV) - это прямые наследники продуктов Bell Labs: UnixWare, SCO Open Server, HPUX, AIX, Solaris, либо к типу BSD - все системы, в названиях которых присутстует BSD, а также ядро Mac OS - Darwin, Tru64 и некоторые другие.
Linux и Minix тоже относятся к типу USG, но сами - отдельные системы, наследующие только идеи и некоторые стандарты из Unix.

На схеме ниже представлено упрощённое генеалогической древо Unix-систем. Кому интересно наиболее полное древо, могут обратиться к источникам в конце статьи.

Генеалогическое древо UNIX-систем

На схеме:

  • зелёным - помечены системы с открытым исходным кодом,
  • оранжевым - системы с частично открытым исходным кодом,
  • красным - системы с закрытым исходным кодом.

Современный Unix

Операционные системы Unix сыграли важную роль в становлении Интернета и его стандартов. Затем, благодаря Интернету, вышли из университетских кругов и промышленных исследовательских лабораторий и получили широкое распространение в массах. Сегодня, Unix - это по своему специализированные дистрибутивы ветки BSD: FreeBSD, OpenBSD, NetBSD, и другие ветки USG: HP-UX, Solaris и дистрибутивы на его основе - OpenSolaris, Nexenta OS, NexentaStor, OpenIndiana.

  • Почти все дистрибутивы имеют графический интерфейс и по своему рассчитаны на пользователей и\или какие-то промышленные решения типа корпоративных серверов, кластеров, мэйнфреймов.
  • У каждого дистрибутива имеется своё сообщество координаторов проекта\программистов и пользователей.
  • В большинстве случаев дистрибутивы распространяются свободно по сети или по цене носителя - в специализированных магазинах. Исключения составляют промышленные системы, распространяющиеся вместе с оборудованием.
  • Каждый дистрибутив распространяется под своей определённой лицензией.

Смотрите также

Источники информации

Печать/экспорт