Что такое юникс

Linux это свободно распространяемая версия Unix, варианты которой имеются для таких платформ как: x86, Motorola 86k, Digital Alpha, Sparc, Mips и Motorola Power PC. Linux является реализацией, которая очень близко соответствует спецификации POSIX, воплощенной также в большинстве коммерческих версий Unix. Ядро Linux ни коим образом не использует код AT&T или какой-либо другой исходный код защищенный авторскими правами. Большинство программ, имеющихся под Linux, разработаны в рамках проекта GNU организации Free Software Foundation (Фонд бесплатного программного обеспечения).

Linux поддерживает широкий спектр приложений и пакетов разработки, например X Window, Emacs и базы данных, TCP/IP протоколы (включая SLIP, PPP, ISDN). Многие люди проводили benchmark-тесты на системах Linux 80486 и при этом достигали производительности, сравнимой со станциями Sun и Digital среднего класса.

Юридически ядро ОС защищено лицензией GNU Public License (сокращенно пишется GPL). Как правило ядро поставляется со множеством программ, которые составляют вместе полнофункциональную операционную систему Unix. Эти пакеты программ, называемые «дистрибутивами», различаются по размерам и составу.

Ядро Linux можно найти в Интернете на тысячах ftp-серверах. Также дистрибутивы Linux распространяются на компакт-дисках. Среди прочих выделяются Caldera, Debian, Slakware,Red Hat.Одним из наиболее популярных и известных ftp-узлов, посвященных дистрибутивам Linux, является узел ftp://sunsite.unc.edu/pub/Linux/distributions. По всему миру разбросаны десятки зеркал этого сервера.

  • Относительно дистрибутивов есть один очень хороший документ под названием distribution-HOWTO. 
  • Найти последнюю версию ядра вы также можете по данной ссылке Linux-Version. 

ОС Linux используют сотни тысяч людей по всему миру. Он используется для разработки программ, создания сетей (интра-сетей и для подключения к Интернету), а также в качестве платформы для пользователей. Linux по своему соотношению цена-производительность стал весьма заманчивой альтернативой большинству дорогих Unix-систем.

Linux не находится в так называемом «общественном пользовании» (public domain). Он защищен лицензией GNU Public License: т.е.

исходный код всегда должен свободно распространяться вместе с программой. Люди, если хотят, могут зарабатывать деньги на Linux, но только в том случае, если они не ограничивают каким-либо образом его распространение.

Многие люди по всему миру работали и сейчас продолжают совместно работать над Linux. Их работой руководит Линус Торвальдс (Linus Torvalds) — автор Linux. Каждый, кто сделал тот или иной вклад в ядро системы сохраняет за собой авторские права на свою часть работы.

Linux был создан в Университете г.Хельсинки (Финляндия) Линусом Торвальдсом и назван в его честь. (Вот фотография Линуса). ОС Linux была создана и по сей день создается благодаря сотрудничеству множества программистов, связанных друг с другом через Интернет.

Линус по началу работал над своим ядром как над забавой, его на эту работу вдохновил интерес к операционной системе Minix — небольшой Unix-поднобной системе, созданной Энди Танненбаумом (Andy Tannenbaum). Он поставил себе задачу написать по своим собственным словам, «лучший Minix, чем сам Minix». Поработав над проектом некоторое время, он опубликовал следующее сообщение в группе новостей comp.os.minix:

Вы с тоской вспоминаете времена minix-1.1, когда мужчины были мужчинами и писали свои собственные драйвера? Вы тоскуете по хорошему проекту, желаете поточить свои когти о систему, которую бы можно было изменить под свои нужды? Вам не интересно, когда в Minix все замечательно работает? Нет уже тех бессонных ночей, потраченных на то, чтобы заставить работать какую-нибудь программку? Тогда данное письмо для вас 🙂

Как я уже писал месяц (?) назад, я работаю над бесплатной версией minix-подобной системы для компьютеров типа AT-386. Наконец-то работа достигла такого уровня, что системой даже можно пользоваться (а может и нет, все зависит от того, что вы от нее ждете). Я собираюсь выложить исходные тексты для более широкого распространения. Пока это всего лишь версия 0.02 (+1 (очень маленький) но уже патч). Но мне удалось успешно запустить программы bash, gcc, gnu-maker, gnu-sed, compress и так далее……

5 октября 1991 года Линус объявил о первой официальной версии Linux 0.02. На этот его призыв откликнулось множество программистов, они помогли довести Linux до уровня полнофункциональной операционной системы, которой она является сейчас.

Linux Resources поддерживается компанией SSC, Inc., которая публикует книги, посвященные Unix и Linux, а также издает журнал Linux Journal.

История UNIX начинается в 1969 г.

Большинство современных UNIX-систем являются коммерческими версиями исходных дистрибутивов UNIX. Solaris от Sun, HP-UX Hewlett-Packard, AIX от IBM являются лучшими представителями UNIX, которые, кроме того, имеют свои собственные уникальные элементы и свои собственные фундаментальные решения. Например, Sun Solaris — это UNIX, но, кроме того, она содержит много инструментов и расширений, разработанных специально в расчете на рабочие станции и серверы производства Sun.

Linux был разработан в попытке создать бесплатную альтернативу коммерческим UNIX-средам. Его история начинается в 1991 или даже в 1983 гг., когда был создан проект GNU, чьей исходной целью было предоставить бесплатную альтернативу UNIX. Linux работает на гораздо большем количестве платформ, например на Intel/AMD x86. Большинство ОС UNIX способны работать только на одной платформе.

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

Администратор или разработчик, который привык работать с Linux, система UNIX может показаться не очень удобной для использования. С другой стороны, фундамент UNIX-подобной операционной системы (инструменты, файловая система, интерфейсы API) достаточно стандартизирован. Однако некоторые детали систем могут иметь существенные различия. Далее в статье будут рассмотрены эти различия.

Технические различия

Разработчики коммерческих дистрибутивов UNIX рассчитывают на определенный круг клиентов и серверную платформу для своей операционной системы. Они хорошо представляют, какую поддержку и оптимизацию каких приложений нужно реализовать. Производители UNIX делают все возможное для обеспечения совместимости между различными версиями. Кроме того, они опубликовали стандарты своих ОС.

Разработка GNU/Linux, с другой стороны, не ориентирована на конкретные платформы и круг клиентов и разработчики GNU/Linux имеют различные опыт и взгляды. В Linux-сообществе не существует строгого стандартного набора инструментов или сред. Для решения этой проблемы был запущен проект Linux Standards Base (LSB), но он оказался не столь результативным, как хотелось бы.

Эта недостаточная стандартизованность приводит к значительным несогласованностям внутри Linux. Для некоторых разработчиков возможность использовать лучшие достижения других операционных систем является плюсом, однако не всегда удобно копирование в Linux элементов UNIX, например, когда имена устройств внутри Linux могут быть взяты из AIX, тогда как инструменты для работы с файловой системой ориентированы на HP-UX.

Несовместимости такого рода встречаются также между различными дистрибутивами Linux. Например, Gentoo и RedHat реализуют различные методы обновлений.

Для сравнения — каждый новый релиз UNIX-системы выходит с хорошо документированным описанием новых особенностей и изменений UNIX. Команды, инструменты и другие элементы редко меняются, и часто те же аргументы командной строки для приложений остаются неизменными на протяжении многих версий этого программного обеспечения. Когда же происходят значительные изменения в этих элементах, поставщики коммерческих UNIX-систем часто предоставляют оболочку, необходимую для обеспечения совместимости с ранними версиями этого инструмента.

Подобная совместимость означает, что утилиты и приложения могут использоваться на новых версиях операционных систем без проверки и изменения их исходного кода. Поэтому переход на новую версию UNIX, в которой обычно нет принципиальных отличий от старой версии, для пользователей или администраторов связан с намного меньшими усилиями, чем переход с одного дистрибутива Linux на другой.

Архитектура аппаратного обеспечения

Большинство коммерческих версий UNIX созданы для одного или небольшого количества архитектур аппаратного обеспечения. HP-UX работает только на платформах PA-RISC и Itanium, Solaris — на SPARC и x86, а AIX предназначен только для процессоров POWER.

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

Linux, с другой стороны, исторически разрабатывался для обеспечения максимальной совместимости. Linux доступен на различных архитектурах, а число устройств ввода/вывода и прочей периферии, которая может использоваться с этой ОС, почти безгранично. Разработчики не могут заранее знать, какое конкретное оборудование будет установлено в компьютере, и часто не могут обеспечить его эффективное использование. Одним из примеров является управление памятью на Linux. Ранее Linux использовал сегментную модель памяти, первоначально разработанную для x86. Сейчас он адаптирован для использования страничной памяти, но все еще сохраняет некоторые требования к сегментной памяти, что вызывает проблемы, если архитектура не поддерживает сегментированную память. Это не является проблемой для UNIX-производителей. Они точно знают, на каком оборудовании будет работать их UNIX.

Ядро

Ядро является сердцем операционной системы. Исходный код ядра коммерческих дистрибутивов UNIX является собственностью их разработчиков и не распространяется за пределы компании. Полностью противоположная ситуация с Linux. Процедуры для компиляции и исправления ядер и драйверов весьма различны. Для Linux и других операционных систем с открытым исходным кодом патч может быть выпущен в виде исходного кода, и конечный пользователь может установить, проверить и даже модифицировать его. Эти патчи обычно проверены не так тщательно как патчи от поставщиков коммерческих ОС UNIX. Поскольку нет полного списка приложений и сред, которые должны быть оттестированы для корректной работы на Linux, Linux-разработчики зависят от конечных пользователей и других разработчиков, которые будут отлавливать ошибки.

Поставщики коммерческих UNIX-дистрибутивов выпускают ядра только в виде исполняемого кода. Некоторые релизы являются монолитными, тогда как другие позволяют обновить только какой-нибудь конкретный модуль ядра. Но в любом случае этот релиз предоставляется только в форме исполняемого кода. Если необходимо обновление, администратор должен ждать, пока производитель выпустит патч в бинарном коде, однако его может утешить то, что производитель выполнит тщательную проверку своего патча на обратную совместимость.

Все коммерческие версии UNIX в некоторой степени эволюционировали до модульного ядра. Драйверы и отдельные особенности ОС доступны как отдельные компоненты и могут быть по необходимости загружены или выгружены из ядра. Но открытая модульная архитектура Linux гораздо гибче. Однако гибкость и адаптируемость Linux означают и постоянное изменение. Исходный код Linux постоянно меняется, и, по прихоти разработчика, может поменяться API. Когда модуль или драйвер написан для коммерческой версии UNIX, он проработает гораздо дольше, чем тот же драйвер для Linux.

Поддержка файловой системы

Одной из причин, благодаря которой Linux стал достаточно мощной ОС, является его широкая совместимость с другими операционными системами. Одна из самых очевидных особенностей — это изобилие файловых систем, которые являются доступными. Большинство коммерческих версий UNIX поддерживают два или три типа файловой системы. Linux, однако, поддерживает большинство из современных файловых систем. Таблица 1 показывает, какие файловые системы поддерживаются ОС UNIX. Любую из этих файловых систем можно смонтировать на Linux, хотя не все из этих систем поддерживают в полном объеме чтение и запись данных.

Таблица 1. Файловые системы, которые являются стандартными для UNIX

AIX jfs, gpfs
HP-UX hfs, vxfs
Solaris ufs, zfs
Irix xfs

Большинство коммерческих версий UNIX поддерживают журналируемые файловые системы. Например, HP-UX в качестве стандартной файловой системы использует hfs, но он также поддерживает журналируемую файловую систему vxfs. Solaris поддерживает ufs и zfs. Журналируемая файловая система является важным компонентом любой серверной среды для предприятия. В Linux поддержка журналируемых файловых систем была реализована поздно, но теперь есть несколько вариантов — от клонов коммерческих файловых систем (xfs, jfs) до специфических для Linux файловых систем (ext3, reiserfs).

Другие особенности файловых систем включают в себя поддержку квот, список контроля доступа к файлам, зеркальное копирование, снимки системы и изменение размеров. В той или иной форме они поддерживаются файловыми системами Linux. Большинство из этих особенностей не являются стандартными для Linux. Одни особенности могут работать на одной файловой системе, тогда как другие потребуют другой файловой системы. Некоторые из этих особенностей просто недоступны на определенных файловых системах Linux, а другие требуют дополнительной установки инструментов, например, определенной версии LVM или поддержку дисковых массивов ( software raid package). Исторически так сложилось, что в Linux совместимость программных интерфейсов и стандартных инструментов достигается с трудом, поэтому множество файловых систем реализуют эти особенности поразному.

Поскольку коммерческие UNIX-системы поддерживают ограниченное количество файловых систем, их инструменты и методики работы с ними более стандартизованы. Например, так как в Irix поддерживалась только одна главная файловая система, то был только один способ задания списков контроля доступа. Это гораздо удобнее для конечного пользователя и для дальнейшей поддержки этой ОС.

Доступность приложений

Большинство базовых приложений одинаковы как на UNIX, так и на Linux. Например, команды cp, ls, vi и cc доступны на UNIX и Linux, и очень похожи, если не полностью идентичны. Linux-версии этих инструментов основаны на GNU-версиях этих инструментов, тогда как версии этих инструментов для UNIX основаны на традиционных UNIX-инструментах. Эти инструменты для UNIX имеют длительную историю и редко менялись.

Но это вовсе не означает, что коммерческие версии UNIX не могут использоваться с GNU-инструментами. Фактически много производителей коммерческих UNIX ОС включают в свои дистрибутивы много GNU-инструментов или предлагают их как бесплатное дополнение. GNU-инструменты не просто стандартные инструментальные средства. Некоторые из таких бесплатных утилит не имеют коммерческих аналогов (emacs или Perl). Большинство производителей предустанавливают эти программы, и они либо автоматически устанавливаются вместе с системой, или доступны в качестве дополнительного компонента.

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

Коммерческие и/или с закрытым исходным кодом приложения (CAD, финансовые программы, графические редакторы) могут не иметь аналогов для Linux. Хотя некоторые производители выпускают версии своих приложений для Linux, большинство производителей не торопится делать этого, пока популярность Linux у пользователей не возрастет.

С другой стороны, коммерческие версии UNIX исторически имеют поддержку большого количества приложений уровня предприятия, например, Oracle или SAP. Linux сильно проигрывает из-за трудности сертификации больших приложений, тогда как коммерческие версии UNIX не меняются сильно от релиза к релизу.

Linux может сильно измениться не только с каждым новым дистрибутивом, но иногда и в промежутке между релизами одного и того же дистрибутива. Поэтому производителю программного обеспечения очень трудно понять, в какой именно среде будет использоваться их приложение.

Системное администрирование

Хотя некоторые дистрибутивы Linux поставляются со стандартным набором инструментов для управления системой, например, SUSE’s YaST, не существует общего для Linux стандарта инструментальных средств системного администрирования. Доступны текстовые файлы и инструменты командной строки, но иногда их применение может быть неудобным. Каждая коммерческая версия UNIX имеет свой собственный интерфейс управления системой. С помощью этого интерфейса можно управлять элементами системы и изменять их. Ниже приведен пример Менеджера системного администрирования [System Administration Manager (SAM)] для HP-UX.

Данный SAM содержит следующие модули:

  • Пользователи или группы, которыми надо управлять.
  • Параметры ядра, которые можно изменить.
  • Настройка сети.
  • Настройка и инициализация дисков.
  • Конфигурирование X server.

Качество этого пакета утилит великолепно, причем этот пакет утилит хорошо взаимодействует с текстовыми файлами. Аналога этого инструмента для Linux не существует. Даже YaST в SUSE не обладает такой же функциональностью.

Еще один аспект в UNIX и Linux, который, кажется, меняется почти с каждой версией ОС — расположение сценариев инициализации системы. К счастью, /sbin/init и /etc/inittab являются стандартными каталогами. Но сценарии запуска системы находятся в различных каталогах. Таблица 2 показывает места, где хранятся сценарии инициализации системы для различных дистрибутивов UNIX и Linux.

Таблица 2. Расположение сценариев инициализации системы для различных версий UNIX

HP-UX /sbin/init.d
AIX /etc/rc.d/init.d
Irix /etc/init.d
Solaris /etc/init.d
Redhat /etc/rc.d/init.d
SUSE /etc/rc.d/init.d
Debian /etc/init.d
Slackware /etc/rc.d

Из-за большого количества дистрибутивов Linux и почти бесконечного числа доступных приложений (с учетом того, что версий этого приложения тоже много) для этой ОС, управление программами на Linux становится сложной задачей. Выбор правильного инструмента зависит от того, с каким дистрибутивом вы работаете. Далее неудобства проистекают из того, что некоторые дистрибутивы используют формат файлов Redhat Package Manager (RPM), в то время как их программы несовместимы. Такое разделение приводит к появлению огромного количества опций работы с пакетами, и не всегда понятно, какая система используется в конкретной среде.

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

Производители коммерческих дистрибутивов UNIX поставляют также и аппаратное обеспечение, для работы на котором предназначена их ОС, поэтому в своих ОС они могут внедрять какие-либо новые устройства, что гораздо труднее сделать для Linux. Например, в последних версиях Linux были попытки реализовать поддержку компонентов с возможностью их «горячей замены» (с переменным успехом). Коммерческие версии UNIX обладают такой возможностью уже много лет. Также в коммерческих версиях UNIX лучше, чем в Linux, реализован мониторинг за аппаратным обеспечением. Производители могут написать драйверы и внедрить их в свою операционную систему, которая будет вести мониторинг состояния системы, например, число ошибок памяти ECC, параметры энергопотребления или любого другого компонента аппаратного обеспечения. Поддержка такого рода для Linux ожидается только в отдаленном будущем.

Аппаратное обеспечение для коммерческих UNIX-систем также имеет более продвинутые опции загрузки. Прежде чем операционная система загрузится, существует много возможностей настроить ее загрузку, проверить «здоровье» системы или настроить параметры аппаратного обеспечения. BIOS стандартного персонального компьютера PC имеет меньшую часть, если вообще имеет, этих опций.

Поддержка

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

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

Заключение

Фундаментальные основы UNIX и Linux очень схожи.

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

Дэвид Дугалл

ядро операционной системы, используемое для создания UNIX-подобных дистрибутивов одноименных операционных систем. Первая версия была разработана финским программистом Линусом Торвардсом в 1991 году. На данный момент, типы дистрибутивов Linux делятся по способу установки ПО.

Наиболее популярные системы на основе Debian (deb-пакетов):

Наиболее популярные системы на основе Red Hat (RPM-пакетов):

  • RedHat
  • CentOS
  • ALT Linux
  • ASPLinux
  • Fedora
  • Mandriva
  • openSUSE

На основе Slackware:

На основе Arch Linux:

На основе других пакетных менеджеров:

В отличие от Windows, основным инструментом для работы с системой является командная строка, а не графический интерфейс. Последний идет как попытка популяризировать Linux. Существует огромное число споров что лучше — Windows или Linux. Каждая сторона приводит свои доводы в пользу конкретной системы.

К основным плюсам операционных систем Linux можно отнести высокую надежность и безопасность, также большинство дистрибутивов распространяется бесплатно; к минусам — сложное управление системой (некоторые действия можно выполнить только из командной строки). Основное преимущество Windows — большая часть настроек может быть выполнена из графического интерфейса, и даже, если нет достаточной квалификации, можно следовать подсказкам или экспериментировать с настройками; из основных минусов Windows — меньшая стабильность, подверженность вирусным атакам, отсутствие бесплатных версий.

Скачать операционные системы на базе Linux можно бесплатно с официальных сайтов разработчиков. Выбор конкретного дистрибутива — дело каждого. В сети Интернет немало споров, какой Linux лучше. Поэтому начинать стоит с Ubuntu или CentOS, так как это хорошо документированные системы. 

Подробнее об операционной системе Linux на сайте Википедия

Подробнее о ядре Linux на сайте Википедия

.

История возникновения и стандарты UNIX

История создания

В 1965 году Bell Telephone Laboratories (подразделение AT&T) совместно с peneral jlectric qompang и Массачусетским технологическим институтом (rIT) начали разрабатывать новую операционную систему, названную rULTIqS (rULTipleoed Information and qomputing Service). Перед участниками проекта стояла цель создания многозадачной операционной системы разделения времени, способной обеспечить работу нескольких сотен пользователей. От Bell Labs в проекте приняли участие два участника s Кен Томпсон (ten Tompson) и Дmннис Ритчи (Dennis uitchie) . vотя система rULTIqS так и не была завершена (в 1969 году Bell Labs вышла из проекта), она стала предтечей операционной системы, впоследствии получившей название Unio.

Однако Томпсон, Ритчи ряд других сотрудников продолжили работу над создание удобной системы программирования. Использую идеи и разработки, появившиеся в результате работы над rULTIqS, они создали в 1969 году небольшую операционную систему, включавшую в себя файловую систему, подсистему управления процессами и небольшой набор утилит. Система была написана на ассемблере и применялась на компьютере nDn-7. Эта операционная система получила название UNIX, созвучное rULTIqS и придуманное другим членом группы разработчиков, Брайаном Керниганом (Brian ternigan).

Хотя ранняя версия UNIX много обещала, она не смогла бы реализовать весь свой потенциал без применения в каком-либо реальном проекте. И такой проект нашелся. Когда в 1971 году патентному отделу Bell Labs понадобилась система обработки текста, в качестве операционной системы была выбрана UNIX. К тому времени она была перенесена на более мощный nDn-11, да и сама немного подрослаw 16К занимала собственно система, 8К отводилось прикладным программам, максимальный размер файла был установлен в 64К при 512К дискового пространства.

Вскоре после создания первых ассемблерных версий Томсон начал работать над компилятором для языка FxuTuAN, а в результате разработал язык B. Это был интерпретатор со всеми свойственными интерпретатору ограничениями, и Ритчи переработал его в другой язык, названный q, позволявший генерировать машинный код. В 1973 году ядро операционной системы было переписано на языке высокого уровня С, s неслыханный до mтого шаг, оказавший громадное влияние на популярность UNIX. Это означало, что теперь система UNIX может быть перенесена на другие аппаратные платформы за считанные месяцы и внесение изменений не представляло особых трудностей. Число работающих UNIX-систем в Bell Labs превысило 25, и для сопровождения UNIX была сформирована группа UNIX Sgstem proup (USp).

Исследовательские версии(AT&T Bell Labs)

В соответствии с федеральным законодательством США, AT&T не имела права коммерческого распространения UNIX и использовала ее для собственных нужд, но, начиная с 1974 года, операционная система стала передаваться университетам для образовательных целей.

Операционная система модернизировалась, каждая новая версия снабжалась соответствующей редакцией Руководства Программиста, откуда и сами версии получили название редакций (jdition). Всего с 1971 по 1989 год было выпущено 10 редакций. Ниже перечислены наиболее важные редакции.

Редакция 1 (1971)

Первая версия UNIX, написанная на ассемблере для nDn-11. Включала в себя язык B и много известных комманд и утилит, в том числе cat, chdir, chmod, cp, ed, find, mail, mkdir, mkfs, mount, mv, rm, rmdir, wc, who. В основном использовалась как инструментальное средство обработки текстов для патентного отдела Bell Labs.

Редакция 3 (1973)

В системе появилась команда сс, запускавшая компилятор языка С. Число установленных систем достигло 16.

Редакция 4 (1973)

Первая система, в которой ядро написано на языке высокого уровня С.

Редакция 6 (1975)

Первая версия UNIX, доступная за пределами Bell Labs. Система полностью переписана на языке С. С mтого времени начинается появление новых версий, разработанных не в Bell Labs и рост популярности UNIX.

Эта версия системы была установлена в Калифорнийском университете в Беркли, и на ее основе вскоре была выпущена первая версия BSD (Berheleg Softkare Distributuion) UNIX.

Редакция 7 (1979)

Включала в себя командный интерпретатор Bourne Shell и компилятор С от Кернигана и Ритчи. yдро системы было переписано для переносимости на другие платформы. Лицензия на mту версию была куплена фирмой ricrosoft, которая разработала на ее базе операционную систему XjNIX.

Популярность UNIX росла, и к 1977 году число работающих систем превысило 500. В mтом же году система впервые была портирована на компьютер, отличный от nDn.

Генеалогия UNIX

Не существует некоторой eстандартнойf системы UNIX, все UNIX-подобные системы имеют характерные только для них особенности и возможности. Но за разными названиями и особенностями все же нетрудно заметить архитектуру, пользовательский интерфейс и среду программирования UNIX. Обzясняется mто достаточно просто s все mти операционные системы являются ближними или дальними родственниками. Ниже описаны наиболее яркие представители данного семейства.

System III (1982)

Не желая терять инициативу по развитию UNIX, AT&T в 1982 году обzединила несколько существующих версий ОС и создала версию под названием Sgstem III.

Данная версия была предназначена для распространения за пределами Bell Labs и AT&T, и положила начало мощной ветви UNIX, которая и сегодня жива и развивается.

System V (1983)

В 1983 году выпущена System V, а позже – еще несколько релизов (Release) к ней:

  • SVR2 (1984): InterProcess Communication (IPC) разделяемая память, семафоры
  • SVR3 (1987): Система I/O Streams, File System Switch, разделяемые библиотеки
  • SVR4 (1989): NFS, FFS, сокеты BSD. SVR4 объединила возможности несколькихизвестных версий UNIX – SunOS, BSD UNIX и предыдущих релизов System V.

Многие компоненты этой системы были поддержаны стандартами ANSI, POSIX, X/Open и SVID.

UNIX BSD (1978) (На основе 6-й редакции UNIX)

  • 1981 по заказу DAunA в BSD UNIX был встроен стек Tqn/In (в 4.2BSD)
  • 1983 активно использовала сетевые технологии и могла подключаться к сетиARPANET
  • 1986 выпущена версия 4.3BSD
  • 1993 выпущены 4.4BSD и BSD Lite (последние выпущенные версии).

OSF/1 (1988) (Open Software Foundation)

В 1988 году IBM, DEC, HP объединились с целью создания независимой от AT&T и SUN версии UNIX и создали организацию под названием OSF. Результатом деятельности этой организации стала операционная система OSF/1.

Стандарты

Чем больше появлялось различных вариантов UNIX, тем очевиднее становилась необходимость стандартизации системы. Наличие стандартов облегцает переносимость приложений и защищает как пользователей, так и производителей. В результате возникло несколько организаций, связанных со стандартизацией, и был разработан ряд стандартов, оказывающих влияние на развитие UNIX.

IEEE POSIX (Institute of Electrical and Electronics Engineers Portable Operating System Interface)

  • 1003.1 (1988) cтандартизация API (Application Programming Interface) OC
  • 1003.2 (1992) определение командного интерпретатора и утилит
  • 1003.1b (1993) API приложений реального времени
  • 1003.1c (1995) определений “нитей” (threads)

ANSI (American National Standards Institute)

  • Стандарт X3.159 (1989)
  • Синтаксис и семантика языка С
  • Содержимое стандартной библиотеки libc

X/Open

  • 1992 стандарт Xwindow
  • 1996 создание совместно с OSF прользовательского интерфейса CDE (Common Desktop Environment) и его сопряжение с графической оболочкой Motiff

SVID (System V Interface Definition)

Описывает внешние интерфейсы UNIX версий System V. В дополнение к SVID был выпущен SVVS (System V Verification Suite) – набор текстовых программ,позволяющий определить, соответствует ли система стандарту SVID и достойна ли она носить гордое имя System V.

Известные версии UNIX

  • IBM AIX на базе SVR2 со многими чертами SVR4, BSD, OSF/1
  • HP-UX версия фирмы HP
  • IRIX версия фирмы Silicon Graphics, похожа на SVR4
  • Digital UNIX версия фирмы DEC на основе OSF/1
  • SCO UNIX (1988) одна из первых UNIX систем для PC разработанная на основе SVR3.2
  • Solaris версия UNIX SVR4 компании Sun Microsystems

Добавить комментарий

Закрыть меню