В чем разница между Linux и Unix?

Linux черпал вдохновение из Unix, но Linux — это не Unix, хотя он определенно похож на Unix. Мы объясним основные различия между этими двумя известными операционными системами.

Такая же разница?

Linux — это бесплатная операционная система с открытым исходным кодом. Unix — это коммерческий продукт, предлагаемый различными поставщиками, каждый со своим вариантом, обычно предназначенным для своего собственного оборудования. Это дорого и закрытый код. Но Linux и Unix делают более или менее одно и то же, не так ли? Более-менее да.

Тонкости несколько сложнее. Есть отличия помимо технических и архитектурных. Чтобы понять влияние некоторых факторов, оказавших влияние на Unix и Linux, нам нужно понять их предысторию.

Истоки Unix

Unix более 50 лет. Он был разработан в Корпорация цифрового оборудования (DEC) язык ассемблера на DEC PDP / 7 как неофициальный проект на Bell Labs, затем принадлежит AT&T. Вскоре он был перенесен на DEC PDP / 11/20 компьютер, а затем постепенно распространился на другие компьютеры Bell. Переписать в Язык программирования C привело к версии 4 Unix 1973 года. Это было важно, потому что характеристики языка C и компилятора означали, что теперь переносить Unix на новые компьютерные архитектуры было относительно легко.

В 1973 г. Кен Томпсон и Деннис Ричи представил доклад о Unix на конференции. В результате запросы на копии Unix хлынули в Bell. Поскольку продажа операционных систем выходила за рамки разрешенного объема операций AT&T, они не могли рассматривать Unix как продукт. Это привело к распространению Unix в виде исходного кода с лицензией. Номинальных затрат было достаточно, чтобы покрыть отгрузку и упаковку, а также «разумный гонорар». Unix пришла «как есть», без технической поддержки и исправлений ошибок. Но вы получили исходный код — и вы могли его изменить.

Unix быстро завоевал популярность в академических учреждениях. В 1975 году Кен Томпсон провел творческий отпуск от Белла в Калифорнийский университет в Беркли. Вместе с некоторыми аспирантами он начал добавлять и улучшать их локальную копию Unix. Внешний интерес к дополнениям Беркли вырос, что привело к первому выпуску Распространение программного обеспечения Беркли (BSD). Это был набор программ и модификаций системы, которые можно было добавить в существующую систему Unix, но это не была отдельная операционная система. Последующие версии BSD были целыми системами Unix.

  Как сделать резервную копию настроек рабочего стола Mate в Linux

Теперь существовало две основных разновидности Unix: поток AT&T и поток BSD. Все другие варианты Unix, такие как AIX, HP-UX, и Oracle Солярис, являются потомками этих. В 1984 году были сняты некоторые ограничения для AT&T, и они смогли производить и продавать Unix.

Затем Unix стала коммерциализированной.

Генезис Linux

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

Операционная система должна была воспроизвести функциональность Unix без включения какого-либо исходного кода Unix. Он назвал операционную систему GNU и основал Проект GNU в 1983 году для разработки операционной системы. В 1985 году он основал Фонд свободного программного обеспечения для продвижения, финансирования и поддержки проекта GNU.

Все области операционной системы GNU достигли хорошего прогресса — кроме ядра. Разработчики проекта GNU работали над микроядром под названием GNU Hurd, но прогресс был медленным. (Сегодня он все еще находится в разработке и приближается к выпуску.) Без ядра не было бы операционной системы.

В 1987 г. Эндрю С. Танебаум выпустила операционную систему под названием МИНИКС (mini-Unix) в качестве учебного пособия для студентов, изучающих проектирование операционных систем. MINIX была функциональной Unix-подобной операционной системой, но имела некоторые ограничения, особенно в отношении файловой системы. В конце концов, исходный код должен был быть достаточно маленьким, чтобы его можно было адекватно изучить за один университетский семестр. Некоторой функциональностью пришлось пожертвовать.

Чтобы лучше понять внутреннюю работу Intel 80386 на своем новом компьютере студент-информатик позвонил Линус Торвальдс написал простой код переключения задач в качестве обучающего упражнения. В конце концов, этот код стал элементарным прото-ядром, которое стало первым ядром Linux. Торвальдс был знаком с MINIX. Фактически, его первое ядро ​​было разработано для MINIX с использованием компилятора GCC Ричарда Столлмана.

Торвальдс решил создать свою собственную операционную систему, которая преодолела бы ограничения MINIX, предназначенного для обучения. В 1991 году он сделал свой известное объявление на MINIX Usenet группа, прося комментариев и предложений по его проекту.

  Как изменить информацию о пользователе в Linux

Linux на самом деле не клон Unix. Если бы Linux был клоном Unix, это был бы Unix. Это не так, это похоже на Unix. Слово «клон» означает, что некоторая небольшая часть оригинала культивируется в новую клеточную копию оригинала. Linux был создан заново, чтобы иметь внешний вид Unix и удовлетворять те же потребности. Это не столько клон, сколько репликант.

Но в любом случае Linux был ядром, ищущим операционную систему; GNU была операционной системой, ищущей ядро. Оглядываясь назад, то, что произошло потом, кажется неизбежным. Это также изменило мир.

Кто занимается разработкой?

Знак Red Hat.

Дистрибутив Linux — это сумма множества различных частей, взятых из самых разных мест. Ядро Linux, набор основных утилит GNU и пользовательские приложения объединены для создания жизнеспособного дистрибутива. И кто-то должен заниматься этим объединением, обслуживанием и управлением — точно так же, как кто-то должен разрабатывать ядро, приложения и основные утилиты. Сопровождающие дистрибутива и сообщества каждого дистрибутива играют свою роль в создании дистрибутива Linux так же, как и разработчики ядра.

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

Каждый коммерческий Unix разрабатывается как единое связное целое с использованием собственных или жестко контролируемых внешних средств разработки. Часто они имеют уникальное ядро ​​и разработаны специально для аппаратных платформ, поставляемых каждым поставщиком.

Бесплатные и открытые производные от потока BSD Unix, такие как FreeBSD, OpenBSD, и DragonBSD, используйте комбинацию старого кода BSD и нового кода. Теперь они поддерживаются сообществом и управляются так же, как и дистрибутивы Linux.

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

В общем, Linux ни то, ни другое Единая спецификация Unix (SUS) ни POSIX совместимый. Он пытается удовлетворить оба стандарта, не будучи их рабом. Было одно или два — буквально одно или два — исключения, например Inspur K-UX, китайский Linux, совместимый с POSIX.

Настоящая Unix, как и коммерческие предложения, соответствует требованиям. Некоторые производные BSD, включая все версии macOS, кроме одной, совместимы с POSIX. Имена вариантов, такие как AIX, HP-UX и Solaris, являются товарными знаками соответствующих организаций.

Товарные знаки и авторское право

Linux — зарегистрированная торговая марка Линуса Торвальдса. В Linux Foundation управляет товарным знаком от своего имени. Ядро Linux и основные утилиты выпускаются под различными GNU «Авторское лево» Общие публичные лицензии. Исходный код находится в свободном доступе.

  Как установить 0 AD в Linux

Unix — зарегистрированная торговая марка Открытая группа. Он защищен авторским правом, проприетарен и имеет закрытый исходный код.

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

Различия в использовании

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

Некоторые утилиты командной строки имеют немного разные параметры командной строки, но, по сути, на обеих платформах доступен один и тот же арсенал инструментов. По факту, IBM AIX имеет AIX Toolbox для приложений Linux. Это позволяет системному администратору устанавливать сотни пакетов GNU (например, Bash, GCC и т. Д.).

Различные варианты Unix имеют разные графический пользовательский интерфейс (GUI) им доступен, как и Linux. Пользователь Linux, знакомый с ГНОМ или Приятель придется нащупывать свой путь в первый раз, когда они сталкиваются KDE или Xfce, но скоро они его заберут. Это похоже на ряд графических интерфейсов, доступных в Unix, таких как Мотив, Общая среда рабочего стола, а Система X Windows. Все они достаточно похожи, чтобы по ним мог ориентироваться любой, кто знаком с концепциями оконной среды с диалогами, меню и значками.

Вы узнаете больше о различиях при администрировании систем. Например, есть разные в этом механизмы. Производные от System V Unix и потоков BSD имеют разные системы инициализации. Бесплатные варианты BSD поддерживали схемы инициализации BSD. По умолчанию дистрибутивы Linux будут использовать систему инициализации, производную от Unix System V или systemd.

Stick Shift против автоматического

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

Если не брать в расчет цену, различия в философии, лицензировании, модели разработки, организации сообщества, а также в типе и стиле управления больше и значительнее, чем различия во флагах командной строки между, скажем, одной версией grep и другие.

Самые большие различия не в тех, которые вы видите на экране.