Интересной и показательной во многих отношениях исключительной является история создания и развития ОС UNIX .
В 1965 году фирма Bell Telephone Laboratories, объединив свои усилия с компанией General Electric и проектом MAC Массачусетского технологического института, приступили к разработке новой операционной системы, получившей название Multics (Multiplex Information and Computing Services). Перед системой Multics были поставлены задачи - обеспечить одновременный доступ к ресурсам ЭВМ большого количества пользователей, обеспечить достаточную скорость вычислений, хранение данных и дать возможность пользователям в случае необходимости совместно использовать данные. Многие разработчики, впоследствии принявшие участие в создании ранних редакций системы UNIX, участвовали в работе над системой Multics в фирме Bell Laboratories. Хотя первая версия системы Multics и была запущена в 1969 году на ЭВМ GE 645, она не обеспечивала выполнение главных вычислительных задач, для решения которых она предназначалась, и не было даже ясно, когда цели разработки будут достигнуты. Поэтому фирма Bell Laboratories прекратила свое участие в проекте.
По окончании работы над проектом Multics сотрудники Исследовательского центра по информатике фирмы Bell Laboratories остались без «достаточно интерактивного вычислительного средства». Пытаясь усовершенствовать среду программирования, Кен Томпсон, Дэннис Ритчи и другие набросали на бумаге проект файловой системы, получивший позднее дальнейшее развитие в ранней версии файловой системы UNIX. Томпсоном были написаны программы, имитирующие поведение предложенной файловой системы в режиме подкачки данных по запросу, им было даже создано простейшее ядро операционной системы для ЭВМ GE 645. В то же время он написал на Фортране игровую программу «Space Travel» («Космическое путешествие») для системы GECOS, но программа не смогла удовлетворить пользователей, поскольку управлять «космическим кораблем» оказалось сложно, кроме того, при загрузке программа занимала много места. Позже Томпсон обнаружил малоиспользуемый компьютер PDP-7, оснащенный хорошим графическим дисплеем и имеющий дешевое машинное время. Создавая программу «Космическое путешествие» для PDP-7, Томпсон получил возможность изучить машину, однако условия разработки программ потребовали использования кросс-ассемблера для трансляции программы на машине с системой GECOS и использования перфоленты для ввода в PDP-7. Для того чтобы улучшить условия разработки, Томпсон и Ритчи выполнили на PDP-7 свой проект системы, включивший первую версию файловой системы UNIX, подсистему управления процессами и небольшой набор утилит. В конце концов, новая система больше не нуждалась в поддержке со стороны системы GECOS в качестве операционной среды разработки и могла поддерживать себя сама. Новая система получила название UNIX, по сходству с Multics его придумал еще один сотрудник Исследовательского центра по информатике - Брайан Керниган.
Несмотря на то, что эта ранняя версия системы UNIX уже была многообещающей, она не могла реализовать свой потенциал до тех пор, пока не получила применение в реальном проекте. Так, для того чтобы обеспечить функционирование системы обработки текстов для патентного отдела фирмы Bell Laboratories, в 1971 году система UNIX была перенесена на ЭВМ PDP-11. Система отличалась небольшим объемом: 16 кбайт для системы, 8 кбайт для программ пользователей, обслуживала диск объемом 512 Кбайт и отводила под каждый файл не более 64 кбайт. После своего первого успеха Томпсон собрался было написать для новой системы транслятор с Фортрана, но вместо этого занялся языком Би (B), предшественником которого явился язык BCPL. Би был интерпретируемым языком со всеми недостатками, присущими подобным языкам, поэтому Ритчи переделал его в новую разновидность, получившую название Си (C) и разрешающую генерировать машинный код, объявлять типы данных и определять структуру данных.
В 1973 году система UNIX была написана заново на Си, это был шаг, неслыханный для того времени, но имевший огромный резонанс среди сторонних пользователей. Количество машин фирмы Bell Laboratories, на которых была инсталлирована система, возросло до 25, в результате чего была создана группа по системному сопровождению UNIX внутри фирмы.
В то время корпорация AT&T не могла заниматься продажей компьютерных продуктов в связи с соответствующим соглашением, подписанным ею с федеральным правительством в 1956 году, и распространяла систему UNIX среди университетов, которым она была нужна в учебных целях. Следуя букве соглашения, корпорация AT&T не рекламировала, не продавала и не сопровождала систему. Несмотря на это, популярность системы устойчиво росла. В 1974 году Томпсон и Ритчи опубликовали статью, описывающую систему UNIX, в журнале «Communications of the ACM», что дало еще один импульс к распространению системы. К 1977 году количество машин, на которых функционировала система UNIX, увеличилось до 500, причем 125 из них работали в университетах. Система UNIX завоевала популярность среди телефонных компаний, поскольку обеспечивала хорошие условия для разработки программ, обслуживала работу в сети в режиме диалога и работу в реальном масштабе времени. Помимо университетов, лицензии на систему UNIX были переданы коммерческим организациям. В 1977 году корпорация Interactive Systems стала первой организацией, получившей права на перепродажу системы UNIX с надбавкой к цене за дополнительные услуги, которые заключались в адаптации системы к функционированию в автоматизированных системах управления учрежденческой деятельностью. 1977 год также был отмечен «переносом» системы UNIX на машину, отличную от PDP (благодаря чему стал возможен запуск системы на другой машине без изменений или с небольшими изменениями), а именно на Interdata 8/32.
С ростом популярности микропроцессоров другие компании стали переносить систему UNIX на новые машины, однако ее простота и ясность побудили многих разработчиков к самостоятельному развитию системы, в результате чего было создано несколько вариантов базисной системы. За период между 1977 и 1982 годом фирма Bell Laboratories объединила несколько вариантов, разработанных в корпорации AT&T, в один, получивший коммерческое название UNIX версия III. В дальнейшем фирма Bell Laboratories добавила в версию III несколько новых особенностей, назвав новый продукт UNIX версия V, и эта версия стала официально распространяться корпорацией AT&T с января 1983 года.
В то же время сотрудники Калифорнийского университета в Беркли разработали вариант системы UNIX, получивший название BSD (Berkley Software Distribution) для машин серии VAX и отличающийся некоторыми новыми, интересными особенностями. Эта версия UNIX стала основным соперником версии AT&T Ве11 Labs. Постепенно стали появляться и другие независимо разрабатываемые версии UNIX. Например, в 1980 году фирма Microsoft выпустила версию UNIX для ПК, получившую названиеXenix.
Еще в конце 70-х годов BSD UNIX стала основой исследовательского проекта, выполняемого в Агентстве перспективных исследований и разработок (DARPA) министерства обороны США. В результате, как уже упоминалось, в 1983 году Калифорнийский университет выпустил мощную версию UNIX под названием BSD 4.2. Она включала в себя достаточно совершенную систему управления файлами и сетевые средства, основанные на использовании протоколов ТСР/IР, применяемых сейчас в Internet. Версия BSD 4.2 широко распространилась и была выбрана многими фирмами-производителями, в частности, Sun Microsystems.
Распространение разных версий UNIX привело к необходимости выработки стандарта на эту ОС. Иного способа узнавать о том, в каких версиях будут работать предназначенные для использования в среде UNIX программы, у разработчиков этих программ не было. В середине 80-х годов появилось два конкурирующих стандарта: один был создан на основе версии AT&T, а второй – на основе версии BSD. Сегодня в магазинах можно найти множество книг, посвященных разным вариантам UNIX. В некоторых из них освещается UNIX System V, а в других – BSD UNIX.
Компания AT&T передала работы по UNIX новой организации, Unix System Laboratories, которая сосредоточила свои усилия на разработке стандартной системы, объединяющей основные версии UNIX. В 1991 году Unix System Laboratories разработала SystemV версии 4, в которой были реализованы практически все возможности вариантов SystemV версии 3, BSD версии 4.3, SunOS и Xenix. В ответ на SystemV версии 4 несколько компаний, в частности IВМ и Hewlett-Packard, создали Фонд открытого программного обеспечения (Open Software Foundation, OSF), целью которого стала разработка собственной стандартной версии UNIX. В результате появилось два конкурирующих коммерческих стандартных варианта UNIX - версия OSF и SystemV версии 4. В 1993 году компания AT&T продала свою долю прав на UNIX фирме Novell и некоторое время Unix System Laboratories принадлежала Novell. За это время фирма выпустила собственные версии UNIX на базе SystemV версии 4, получившие общее название UnixWare. Unixware предназначена для взаимодействия с системой Netware разработки Novell. В настоящее время Unix System Laboratories принадлежит фирме Santa Cruz Operation.
ОС Solaris ознаменовала собой ориентацию фирмы Sun на SystemV версии 4. Два конкурирующих графических пользовательских интерфейса для UNIX - Motif и ОреnLook - объединены в новом стандарте рабочего стола, называемом Сommon Desktop Environment (CDE).
На протяжении почти всего своего развития UNIX оставалась большой и требовательной по отношению к аппаратным средствам операционной системой, для эффективной работы которой необходимо было иметь рабочую станцию или мини-ЭВМ. Некоторые версии UNIX были рассчитаны в основном на рабочие станции. Систему SunOS разработали для рабочих станций Sun, а систему AIX-для рабочих станций IВМ. По мере наращивания мощи персональных компьютеров стали появляться сообщения о разработке версий UNIX для ПК. В частности, Xenix и Sytem V/386 - коммерческие версии UNIX для IВМ-совместимых ПК. AUX - версия UNIX, которая работает на ПК Масintosh. То, что UNIX устанавливается на компьютерах практически всех типов (рабочих станциях, мини-ЭВМ и даже супер-ЭВМ), – лишнее свидетельство присущей ей мобильности, которая и обеспечила возможность создания эффективной версии UNIX для персональных компьютеров.
Система Linux предназначена специально для персональных компьютеров с элементной базой Intel. Ее разработка начиналась проектом Линуса Торвальда, студента факультета вычислительной техники Хельсинкского университета. В то время студенты пользовались программой Мinix, которая демонстрировала различные возможности UNIX. Эта программа, которую разработал профессор Эндрю Таннебаум, широко распространилась по сети Internet среди студентов всего мира. В намерения Линуса входило создать эффективную ПК-версию UNIХ для пользователей Мinix. Он назвал ее Linux и в 1991 году выпустил версию 0.11. Linux широко распространилась по Internet и в последующие годы подверглась доработкам со стороны других программистов, которые ввели в нее возможности и особенности, присущие стандартным UNIX-системам. В Linux, в частности, были перенесены практически все основные программы-менеджеры окон. В этой ОС используются все утилиты Internet, включая ftp, telnet и slip. Имеется и полный набор средств разработки программ, включая компиляторы и отладчики С++. Несмотря на такие широкие возможности, операционная система Linux остается небольшой, стабильной и быстродействующей. В минимальной конфигурации она может эффективно работать даже при наличии оперативной памяти объемом всего лишь 4 Мбайта.
Несмотря на то, что Linux развивается в свободной и открытой среде Internet, она соответствует официальным стандартам UNIX. Вследствие распространения в прошедшие десятилетия различных версий UNIX Институт инженеров по электротехнике и радиоэлектронике США (IЕЕЕ) разработал независимый стандарт UNIX для Американского национального института стандартов (ANSI). Этот новый стандарт UNIX называется Portable Operating System Interface for Computer Environments (POSIX, интерфейс переносимых операционных систем для вычислительных сред), определяет порядок работы UNIX-подобной системы и описывает некоторые детали, например, системные вызовы и интерфейсы. POSIX – это универсальный стандарт, которому должны соответствовать все версии ОС UNIX. Большинство наиболее популярных версий UNIX уже совместимы с ним. Linux с самого начала разрабатывалась в соответствии с нормами POSIX.