Сравнение Linux и Unix

  Дмитрий Бушуев  | 

  Обновл. 22 Май 2021  | 

 4697

Unix — это очень старая система, которая считается «матерью» всех операционных систем. Ядро Linux является производным от Unix продуктом. Основное различие между ними заключается не в том, как они выглядят, а в том, как они работают внутри, т.е. в ядре. Многое также будет зависеть от того, какие именно версии/дистрибутивы Linux и Unix вы сравниваете.

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

Что такое Unix?

Unix считается «матерью» большинства операционных систем. Об истории Unix мы говорили на соответствующем уроке.

Главной управляющей составляющей Unix является её ядро. Ядро имеет полный контроль над всей системой. Оно имеет подсистемы, которые предлагают свои «услуги» по обработке файловой системы, обработке ресурсов, управлению памятью, запуску и остановке программ и нескольким другим низкоуровневым основным задачам.

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

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

Примерами операционной системы Unix являются Solaris и HP-UX. Крупнейшими дистрибьюторами UNIX-систем являются IBM, HP и SUN.

Что такое Linux?


Люди часто путают термины Unix и Linux и обычно задают такие вопросы, как «отличается ли Unix от Linux?» / «являются ли Linux и Unix одним и тем же?» / «является ли Linux похожим на Unix?» / «построен ли Linux на Unix?».

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

Linux — это не Unix, а Unix-подобная операционная система. Система Linux является производной от Unix и является продолжением тех основ, которые были заложены в Unix. Дистрибутивы Linux являются наиболее известными примерами прямых потомков от системы Unix. Система BSD (сокр. от «Berkeley Software Distribution») также является примером производной от системы Unix.

На данном этапе важно, чтобы вы четко понимали для себя, что значит термин «Unix-подобная система».

Unix-подобная ОС (также называемая «UN* или «*nix») — это та система, которая работает аналогично системе Unix, однако при этом ей не нужно соответствовать Единой спецификации UNIX (сокр. «SUS» от «Single UNIX Specification») или схожему стандарту POSIX (сокр. от «Portable Operating System Interface»).

SUS — это стандарт, который должен соблюдаться операционной системой, чтобы претендовать на использование торговой марки «UNIX». Данная торговая марка предоставляется компанией «The Open Group». Несколько примеров зарегистрированных в настоящее время UNIX-систем включают macOS, Solaris и AIX.

Если же брать стандарт POSIX, то Linux можно рассматривать как Unix-подобную ОС. Согласно официальному файлу README ядра Linux, Linux — это клон UNIX, разработанный с нуля Линусом Торвальдсом и командой других разработчиков. Linux нацелен на соответствие требованиям стандарта POSIX. Код ядра был написан с нуля. Система разработана таким образом, что действует как Unix, но в нее нет исходного кода Unix.

Важно также отметить, что Linux — это только ядро, а не полноценная ОС. Ядро Linux обычно упаковывается в дистрибутивы Linux, что, таким образом, и делает его полноценной ОС. С другой стороны, UNIX сама по себе является полноценной ОС, поскольку всё (все необходимые приложения, связанные вместе) поставляется от одного вендора (поставщика). Например, система Solaris.

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

Большая часть программного обеспечения, включенного в дистрибутив Linux, является бесплатным и открытым. Но при этом дистрибутив может включать в себя проприетарные (платные) программы (например, массивы двоичных данных (BLOB)), которые необходимы для некоторых драйверов устройств.

Различия между Unix и Linux

Давайте теперь рассмотрим некоторые наиболее важные различия между Linux и Unix в следующей таблице:

Сравнение Linux Unix
Разработчик Вдохновленный системой Minix (Unix-подобной ОС), Linux был первоначально разработан финско-американским инженером-программистом Линусом Торвальдсом. Поскольку исходные коды Linux являются открытыми, то у Linux присутствует огромное сообщество разработчиков. Была разработана в стенах Bell Labs компании AT&T Кеннетом Лейном Томпсоном, Деннисом Ричи и тремя другими программистами.
Язык программирования Написан (преимущественно) на языке Cи и на других языках программирования. Написана на языке Cи и на Ассемблере.
Торговая марка Торговая марка «Linux» принадлежит Линусу Торвальдсу и управляется организацией Linux Mark Institute при Linux Foundation. Торговая марка «UNIX» сертифицирована компанией Open Group.
Стандарт Стандартная база Linux (сокр. «LSB» от «Linux Standard Base»), описанная в стандарте ISO/IEC 23360, представляет собой работу по стандартизации ряда дистрибутивов Linux. LSB в основном является расширением POSIX, но имеет некоторые отличия. Однако нет особой необходимости в сертификации LSB, поскольку различные дистрибутивы в любом случае используют одно и то же ядро. Сертификация Unix основана на «Единой спецификации Unix», которая является расширением стандарта IEEE 1003 (POSIX), а также стандарта ISO/IEC 9945. POSIX определяет программируемый API, а также интерфейсы оболочки и утилит. Стандарт POSIX был разработан как способ обеспечения совместимости между различными дистрибутивами Unix.
Лицензия GNU v2 (GPL General Public License) и другие. Тип лицензии варьируется. Некоторые версии являются проприетарными, в то время как другие являются бесплатными.
Семейство ОС Unix-подобная Unix
Языковая поддержка Мультиязычная Английский
Первый релиз Linux моложе Unix. Он был получен из Unix и выпущен в сентябре 1991 года. Unix старше Linux. Система была выпущена в октябре 1973 года. До этого, с момента её создания в 1970 году, она использовалась исключительно внутри компании Bell Labs.
Примеры Множество различных дистрибутивов: Ubuntu, Debian, CentOS, Fedora, Manjaro, Arch и пр. IBM AIX, Solaris, HP-UX, Darwin, macOS и пр.
Тип ядра Монолитное ядро Тип ядра варьируется. Оно может быть монолитным, микроядром или гибридным.
Файловые системы Поддерживает почти все файловые системы, используемые в разных операционных системах. Большинство версий поддерживают две или, возможно, три файловые системы.
GUI Linux ориентирован на работу с командной строкой, но некоторые дистрибутивы могут предлагать и поддержку GUI-интерфейсов. Самыми популярными GUI-интерфейсами являются Gnome, KDE и Xfce. Изначально система была заточена на работу с командной строкой, но позже была реализована поддержка окружения рабочего стола. В большинстве Unix-дистрибутивов в качестве такого окружения используется Gnome.
Масштабируемость *Масштабируемость достигается с помощью кластеров, сетей или облаков. *Масштабируемость достигается с помощью кластеров или сетей.
Интерфейс Стандартной оболочкой является BASH (сорк. от «Bourne Again SHell»). Но некоторые дистрибутивы разработали свои собственные интерфейсы. Изначально использовался интерфейс sh (сокр. от «Bourne shell»). Но также система совместима и с другими GUI-интерфейсами.
Модель исходных кодов Открытые исходные коды (open-source software). Смешанная. Обычно исходные коды являются закрытыми, однако некоторые проекты Unix (по типу ОС illumos и ОС BSD) относятся к проектам с открытым исходным кодом.
Безопасность Linux-системы обычно считаются очень хорошо защищенными от вредоносных программ. Это связано с тем, что выполнять какие-либо действия по изменению системных файлов может только пользователь с правами superuser (su) или root. Постоянно работать под этими правами продвинутый пользователь в Linux (в отличие от Windows) не будет, а когда будет — то он знает, что он делает и какие файлы запускает. Вирусы под Linux-системы есть, но их сравнительно малое количество, что напрямую связано с маленькой мировой долей рынка. Unix также считается очень безопасным по тем же причинам, что и Linux.
Обнаружение ошибок Поскольку исходные коды Linux являются открытыми, то всякий раз, когда пользователь публикует информацию о какой-либо ошибке/угрозе, разработчики со всего мира очень скоро начинают работать над ней. И, следовательно, обеспечивается более быстрое решение проблемы. Из-за проприетарной природы Unix-пользователям приходится ждать исправляющие ошибки патчи.
Поддержка Бесплатная поддержка сообществом. Платная поддержка доступна от ряда поставщиков услуг. Платная коммерческая поддержка. Часто это приводит к вендор локу (привязка к поставщику).
Использование Преимущественно используется для облачного развертывания и центров обработки данных (в первую очередь по экономическим причинам). Преимущественно используется для серверов с особыми требованиями к приложениям из-за необходимости в поддержки устаревшего оборудования/ПО.
Стоимость использования Может быть получен и использован свободно. Также существуют платные дистрибутивы Linux, которые, как правило, дешевле Windows. Проприетарные операционные системы имеют различные структуры затрат, установленные соответственно вендорами (поставщиками), продающими их.

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

Ядро Linux vs. Ядро Unix


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

Существует три типа ядра: монолитное, микроядро и гибридное (комбинация монолитного и микроядра).

Хотя ядро Linux и наследует большую часть своих характеристик от Unix/Unix-подобных ядер, тем не менее, между ними есть некоторые существенные различия.

Давайте теперь рассмотрим некоторые наиболее важные различия между ядром Linux и ядром Unix в следующей таблице:

Особенности Ядро Linux Ядро Unix
Архитектура ядра Монолитное Ядро Unix может быть монолитным, микроядром или гибридным. Например, macOS имеет гибридное ядро, Solaris — монолитное ядро, а AIX — монолитное ядро с динамически загружаемыми модулями.
Добавление/удаление функций ядра Обеспечивает отличную возможность, с помощью которой компоненты ядра, такие как накопители устройств, могут динамически добавляться и удаляться в виде модулей. Данная функция называется загружаемыми модулями ядра (сокр. «LKM» от «Loadable Kernel Modules»). Благодаря этому устраняется необходимость в повторной компиляции всего ядра. Традиционное ядро Unix-систем нуждается в статическом связывании добавляемых новых систем.
Потоки В Linux нет подсистемы ввода/вывода потоков. В большинстве ядер Unix включена подсистема ввода/вывода потоков, представляющую унифицированный интерфейс для связи (чтения или записи) с драйверами устройств, драйверами терминалов и т.д.
Механизм потоков ядра Linux использует поток ядра только для периодического запуска некоторого кода ядра. Многие Unix-подобные операционные системы используют поток ядра для переключения контекста процесса.
Реализация многопоточности Благодаря многопоточности создается более одного независимого потока выполнения, которые называются облегченными процессами (сокр. «LWP» от «Light-Weight Process»). В Linux LWP создается путем вызова функции clone(). Эти процессы в Linux могут совместно использовать физическую память, открытые файлы, адресное пространство и т.д. В Unix LWP основан на потоках ядра.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (43 оценок, среднее: 4,88 из 5)
Загрузка...

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

Ваш E-mail не будет опубликован. Обязательные поля помечены *