ЭВМHISTORY
Статьи. Обзоры. Истории
ЭВМHISTORY: операционные системы. Windows, iOS, UNIX, Android, DOS, Palm, Symbian

Операционные системы | Unix




UNIX, unix, os, операционная, система

UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем.

Идеи, которые были заложены в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.

Зарождение UNIX связано с появлением компьютеров, пригодных к использованию в интерактивном режиме, что создало предпосылки к разработке тех самых систем разделения времени, допускающих как бы одновременное исполнение нескольких задач (time sharing), которые пришли на смену машинам, работавшим исключительно в пакетном режиме. Одной из первых таких систем была CTSS (Compatible Time Sharing System).

В 1957 году в Bell Labs была начата работа по созданию операционной системы для внутренних нужд. Под руководством Виктора Высотского была создана система BESYS. Впоследствии он возглавил проект МULTICS (МULTiplexed Information аnd Computing Service) , а затем стал главой информационного подразделения Bell Labs.

В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Высотский и его коллеги приняли решение не разрабатывать новую собственную операционную систему, а подключиться к совместному проекту General Electric и MIT — МULTICS. Телекоммуникационный гигант AT&T оказал проекту существенную поддержку. Фирма была представлена в проекте несколькими сотрудниками входящей в её состав подразделения Веll Laboratories. Среди них были Кен Томпсон (Kеn Tompson) и Дэннис Ритчи (Dennis M. Ritchie). По завершении проекта должна была появиться многозадачная, многопользовательская операционная система.

Работа над программным комплексом МULTICS затянулась, и сотрудники Веll Labs вышли из проекта. Но в отличие от других Томпсон продолжил работу по написанию операционной системы в своей компании. Позже к нему присоединился сначала Ритчи, а затем и другие сотрудники отдела. Можно сказать, что UNIX начиналась группой программистов, но основную роль среди разработчиков первых версий играл Кен Томпсон. Сначала, правда, в ближайшем окружении Кена родилось другое название системы – UNICS (Uniplexed Information and Computing System). Оно напоминало об участии в проекте МULTICS, но не ориентировалось на многопользовательскую систему (МULTICS – МULTiplexed, но UNICS – Uniplexed). В скором времени UNICS превратилось в UNIX.

В те годы Томпсон работал над транслятором для FORTRAN’а, но у него получился новый язык программирования B (Би). Последний был интерпретатором, и, как следствие этого, не очень эффективным. Переработав его, Деннис Ритчи создал язык C, транслирующий исходный текст в машинный код, что повысило эффективность разрабатываемых программ. Этот язык программирования занимает промежуточное положение между языком, близким к машинным командам и позволяющим разрабатывать "быстрые" программы, и языком программирования высокого уровня (более удобным в использовании).

В 1970 г. Деннисом Ритчи был изобретен и реализован новый язык С (Си). Уже тогда ему сулили большое будущее. Почему? Язык C использует многие важные концепции и конструкции двух предшествовавших ему языков BCPL и B, а также добавляет типы данных и другие свойства".

Сам язык BCPL разработан в 1967 году Мартином Ричардом как язык написания компиляторов программного обеспечения операционных систем. Автором языка B был Кен Томпсон – выдающийся программист. Он предусмотрел много возможностей в языке B и использовал его в 1970 году для создания одной из ранних версий операционной системы UNIX в Bell Laboratories на компьютере фирмы DEC PDP-7. Оба упомянутых языка – BCPL и B – были "нетипичными" языками программирования. Так, например, при обработке элемента данных целого или действительного типа значительная часть работы все еще падала на плечи программиста. Язык C приобрел широкую известность как язык разработки операционной системы UNIX. Сегодня фактически все новые операционные системы написаны на С или на С++.

Возможно, UNIX так и не развилась бы, если бы ей не нашлось реального применения. Но в 1971 году в патентном отделе Bell была установлена именно она. Система стала решать реальные задачи для пользователей, а не ее разработчиков. Она была переписана на более мощный компьютер PDP 11. Со временем UNIX стала распространяться и в другие отделы Bell Labs. Появление первых версий системы сопровождалось выпуском документации с соответствующим номером. Они получили название "редакции" (Edition).

Начиная с 1971 года таких редакций было выпущено 10, а последняя датируется 1989 годом. Семь первых из них были разработаны в Веll Labs.

Итак, в 1971 году поялвяется первая версия UNIX Time-Sharing System на ассемблере для PDP-11/20. Включала файловую систему, системный вызов fork() для порождения процессов, утилиты типа cat, ed, roff. Использовалась для обработки текстов при подготовке патентов. Системный вызов pipe() и поддержка программных каналов появилась в V2.В основном использовалась как инструментальное средство обработки текстов для патентного отдела.

В 1973 году вышла третья редакция UNIX, со встроенным компилятором языка Си. 15 октября того же года появилась четвёртая редакция, с переписанным на Си системным ядром (в духе системы Multics, также написанной на языке высокого уровня ПЛ/1), а в 1975 — пятая редакция, полностью переписанная на Си.

AT&T хотела начать развитие UNIX как коммерческого продукта, но в соответствии с законами США фирма, подразделением которой была Bell Labs, не имела права продавать программное обеспечение. И тогда, начиная с 1974 года система в виде исходных текстов стала передаваться разным организациям, в том числе университетам. Во время своего академического отпуска 1976 года Томпсон принял участие в проводимых в университете г. Беркли исследованиях по разработке UNIX. В этом ему активно помогали Билл Джой (Bill Joy) и Чак Халей (Chack Haley).

Джой сформировал собственный дистрибутив UNIX, названный BSD (Berkeley Software Distribution – дистрибутив программного обеспечения Беркли). С его именем связано появление текстового редактора vi, командного интерпретатора С (она выполняла функции оболочки операционной системы, а не компилятора языка программирования), использование виртуальной памяти (позволяющей загружать программы большего размера, чем свободная физическая память). Позже он стал одним из основателей Sun Microsystems, ныне одной из крупнейших компьютерных фирм.

С 1975 года началось появление новых версий, разработанных за пределами Bell Labs, и рост популярности системы. В том же 1975 году Bell Labs выпустила шестую редакцию, известную по широко разошедшимся комментариям Джона Лайонса, австралийского учёного и преподавателя в области компьютерных наук.

Распространяемая в виде исходных текстов UNIX стала быстро завоевывать популярность. Многие компьютерные фирмы начали разрабатывать свои версии этой операционной системы. Например, в 1977 году было уже более 500 работающих экземпляров UNIX.

К 1978 году система была установлена более чем на 600 машинах, прежде всего, в университетах. Седьмая редакция была последней единой версией UNIX. Именно в ней появился близкий к современному интерпретатор командной строки Bourne shell.

В 1979 году публике была представлена V7 - "последняя настоящая UNIX", которая включала в себя компилятор языка C, командный интерпретатор sh, систему uucp, была перенесена на 32-разрядный VAX. При этом размер ядра составлял около 40 Кбайт…

Важным в истории UNIX является 1980 год, когда фирма BBN (Bolt, Berenek и Newman) подписала контракт с DARPA (Department ofAdvanced Resparch Projects Agency – Управление перспективных исследований и разработок, являющееся подразделением Министерства обороны США) на разработку и реализацию протоколов TCP/IP в BSD UNIX. Это можно считать началом разработок, явившихся предвестником технологий, которые приняты в Интернете и сегодня. Версия системы, поддерживающая TCP/IP, также способствовала широкому распространению локальных сетей.

Популярность UNIX, поддержка передовых технологий, простота переноса на разные аппаратные платформы привели к тому, что создатели разных вариантов операционной системы начали вести настоящую конкурентную борьбу. В 1988 году фирмы AT&T и Sunобъединились для разработки новой системы. В противовес этому несколько крупных фирм (IBM, DEC, HP и другие) основали альтернативный проект, назвав его OSF (Open Software Foundation). В результате появилась ОС с названием OSF/1.

В 1991 году финский студент Линус Торвальдс (Linus Tordvalds) написал первую версию операционной системы, названной Linux и распространяемой бесплатно. Тогда она представляла собой вариант UNIX для компьютеров IBM PC, но сегодня перенесена на многие аппаратные платформы. Свою разработку он начал будучи студентом, изучая учебные курсы по программированию на С иUNIX. Он занимался, используя операционную систему MINIX, созданную Эндрю С. Танэнбаумом. Она представляла собой миниатюрную UNIX-систему для IBM PC. Студента просто захватила концепция UNIX, ее простота и мощь. Свои разработки он обсуждал в Интернете со многими программистами.

Однако сам Линус не занимался «доведением MINIX до ума». Не использовал он также и код какой-либо из реализаций UNIX или BSD. Он воссоздал функциональность ядра UNIX с нуля – руководствуясь описаниями системных вызовов, данными в соответствующем стандарте POSIX. И потому Linux не является ни клоном System V, ни клоном BSD – хотя в ней и использована схема инициализации в стиле первой, да и идейное влияние второй, безусловно, имело место быть.


UNIX, unix, os, операционная, система
Выпуск PC-BSD 10.0.2 с новым форматом PBI


Linux создавался на машине с процессором i386 для архитектуры Intel и первоначально – только для неё. Более того, долгое время Линус вообще сомневался, что его система когда-либо сможет быть портирована на любую иную аппаратную платформу. И потому соответствие стандартам в данном случае преследовало целью не переносимость Linux самого по себе, а в первую очередь возможность компиляции в этой ОС всего ранее созданного программного ассортимента для UNIX и POSIX-совместимых систем вообще.

Лично Линусу принадлежит честь разработки ядра Linux и файловой системы ext (то есть Extended – расширение для файловой системы Minix). В качестве среды для работы он выбрал bash – командную оболочку, разрабатываемую в рамках проекта GNU. Для сборки своего кода был использован компилятор gcc (GNU C Compiler), а главной общесистемной библиотекой функций языка Си выступала GNU-реализация ее, glibc. Все прочее системное окружение ядра – комплекс пакетов, который можно назвать Base Linux – также в основном происходит из проекта GNU. Да и при выборе политики распространения Линус в конце концов остановился на лицензии GPL – детище Ричарда Столлмана и его Фонда свободного программного обеспечения (FSF).

Рождение Linux дало толчок к окончательному оформлению движения Open Source, несколько обособившемуся от сообщества Free Software – хотя и по сей день это существенно пересекающиеся множества.

В начале 1992 года вышел дистрибутив 386/BSD, основанный на дистрибутиве Networking Release 2, распространяемый компанией BSDI за $995 с «ужасающей скидкой» в 99 % по сравнению с ценой System V. UNIX Systems Laboratories подала иск против BSDI, а затем против университета Беркли, допустившей распространение файлов UNIX в исходных и двоичных форматах фактически за бесценок, что подрывало бизнес самой USL.

Весь 1992 год никаких значительных успехов в судебной тяжбе для USL не принёс, зато появился встречный иск от Калифорнийского университета. К началу 1993 года дистрибутив 386/BSD поменял своё название на NetBSD. В декабре 1993 года появился другой дистрибутив — FreeBSD, нацеленный на простых пользователей. После приобретения USL компанией Novell к лету 1993 года начались переговоры по урегулированию статуса кодов BSD. К январю 1994 CSRG и Novell договорились удалить три файла из 18000 Networking Release 2, часть файлов должна быть подвергнута правке, а к примерно 70 файлам университет должен был добавить информацию о копирайте USL.

В июне 1994 года вышел «чистый» выпуск 4.4BSD-Lite. Вот с этого момента группы BSDI, NetBSD и FreeBSD должны были повторно синхронизировать свои версии систем с «чистой» системой 4.4BSD-Lite. Таким образом, все наработки, сделанные за три года с момента подачи иска USL, пришлось пересматривать на предмет нарушения авторских прав и использования стороннего кода. Переписывать важные составляющие ядра и операционного окружения. Значительно позднее выделились в самостоятельные проекты OpenBSD, TrustedBSD и DragonFlyBSD.

В 1997 году фирма Apple искала основу для своей новой операционной системы, она выбрала NEXTSTEP — операционную систему со свободно распространяемым ядром, разработанную фирмой NeXT.

В 2000 году Apple Inc. выпускает открытую POSIX-совместимую операционную систему Darwin. Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP, FreeBSD и прочих свободных проектов. Darwin представляет собой набор основных компонентов, используемых в Mac OS X и Apple iOS. Он совместим с третьей версией спецификации единой UNIX (SUSv3) и POSIX-приложениями и утилитами.

14 июня 2005 был открыт исходный код операционной системы Solaris. Этот проект, как и созданная на его основе операционная система, получили название OpenSolaris. 17 июня, через три дня после открытия кода, был создан дистрибутив SchilliX. В мае 2008 появился первый официальный дистрибутив OpenSolaris 2008.05. Существует более десяти дистрибутивов на основе OpenSolaris, наиболее известные из них — BeleniX и Nexenta OS.

В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих UNIX-систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы.

22.11.2015
© kool


В начало


Операционные системы | Unix



Рейтинг@Mail.ru Яндекс.Метрика