Сравнение Linux и Unix
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*X» или «*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 в следующей таблице:
Unix vs Linux- Difference, and Comparison
Linux is a Unix-clone written from scratch. But is that all that there is to it? In this Unix vs Linux article, we shall uncover what makes the two of these operating systems alike and different from one another.
Minute intricacies make people choose amongst the two and while Unix has historically dominated the market, the demand for Linux Certified professionals has been on full throttle for the past couple of years.
- What is Unix?
- What is Linux?
- Difference between Unix and Linux
- Limitations of Unix
- Limitations of Linux
Unix vs Linux: What is Unix?
Unix is a proprietary operating system. It is a stable, multi-user, multi-tasking system for servers, desktops, and laptops. Unix is an OS that is popular in companies, universities, big enterprises, etc.
This OS was born in the late 1960s at the AT&T Bell Labs and was called Unix. Written in C, it allowed quicker modification, acceptance, and portability.
What began as a one-man project under the leadership of Ken Thompson of Bell Labs went on to become one of the most widely used operating systems.
The Unix OS worked initially on the Command Line Interface, but recently, there have been developments for GUI on Unix systems.
Unix vs Linux: What is Linux?
Linux is an open-source, free to use operating system widely used for computer hardware and software, game development, tablet PCs, mainframes, etc.
Linux was built by Linus Torvalds at the University of Helsinki in 1991 deriving its name from the Linux kernel.
What made it stand out was the fact that it could be installed on various types of computers, mobile phones, tablets, video game consoles, etc.
The development of Linux is one of the most prominent examples of free and open-source software collaboration. Today many companies and similar numbers of individuals have released their own version of OS based on the Linux Kernel, e.g. Apple’s iOS.
Unix vs Linux
Usage
Unix finds its use predominantly in internet servers and workstations whereas Linux can be used by everybody from beginners, to developers to mere enthusiasts, alike.
Development & Distribution
Unix distributions are mostly developed by AT&T and various commercial vendors and non-profit organizations. Linux, on the other hand, is developed by Open Source development and it is distributed by various vendors.
Processor
Unix is available on PA-RISC and Itanium machines supporting processors such as x86/x64, Sparc, Power, Itanium, PA-RISC, PowerPC, and many others.
Linux, which was originally developed for Intel’s x86 hardware uses way more processors in number with ports available for several different CPU types.
File System Support
Unix supports jfs, gpfs, hfs, hfs+, ufs, xfs, zfs formats whereas, Linux supports Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs, FAT, NTFS and many more.
Shell Interface
Originally the Bourne Shell was Unix’s default. Now it’s compatible with many others including BASH, Korn & C. BASH (Bourne Again SHell) is the Linux default shell. It can support multiple command interpreters.
Graphical User Interface
Initially, Unix was a command-based OS, but later a GUI was created called Common Desktop Environment. Most distributions now ship with Gnome.
Linux typically provides two GUIs, KDE & Gnome. But there are millions of alternatives such as LXDE, Xfce, Unity, Mate, etc.
Portability
While Unix isn’t portable, Linux is and can be booted using a USB stick, too.
Security and Threat Detection
Due to the proprietary nature of the original Unix, users have to wait for a while, to get the proper bug fixing patch. But these are not as common. There are between 80 to 120 viruses reported to date in Unix.
Threat detection and solution is very fast, as Linux is mainly community-driven and whenever any Linux user posts any kind of threat, several developers start working on it from different parts of the world. Linux has had about 60–100 viruses listed to date which are currently not spreading.
Source Code
While there are distributions of the Unix tree which are open-source, like NetBSD, OpenBSD, and FreeBSD, Unix was developed by various vendors like IBM, HP, etc. for their business requirements. They won’t distribute the source code to the public. So, Linux has been developed and the source code has been distributed to the public under GNU license.
License
Different flavors of Unix have different cost structures according to their respective vendors.
Linux is freely distributed, downloaded through magazines, books, websites, etc. There are paid versions as well but to be honest, there’s very little distinction between the paid and unpaid distributions except for the support contract.
Limitations of Unix
- Unix’s interface is unfriendly, terse, inconsistent, and non-mnemonic to say the least.
- Unix OS isn’t quite designed for fast performance.
- Shell interface can be treacherous because typing mistake can destroy files.
- Unix’s versions lack overall consistency as it varies from machine to machine.
- Unix does not provide any assured hardware interrupt response time, so it does not support real-time response systems.
Limitations of Linux
- There’s no availability of any standard edition of Linux
- Linux has patchier support for drivers which may result in misfunctioning of the entire system.
- Many of the programs exclusive to Windows only run on Linux only with the help of a complicated emulator. For example. Microsoft Office.
If you wish to check out more articles on the market’s most trending technologies like Artificial Intelligence, DevOps, Ethical Hacking, then you can refer to Edureka’s official site.
Do look out for other articles in this series which will explain the various other aspects of the Operating System.
Чем Linux отличается от UNIX, и что такое UNIX-подобная ОС?
UNIX (не стоит путать с определением «UNIX-подобная операционная система») — семейство операционных систем (Mac OS X, GNU/Linux).
Первая система была разработана в 1969 в Bell Laboratories, бывшей американской корпорации.
- Простое конфигурирование системы путем использования простых, обычно текстовых, файлов.
- Широкое использование командной строки.
- Использование конвейеров.
UNIX-подобная ОС
UNIX-подобная ОС (иногда используют сокращение *nix) — система, образованная под влиянием UNIX.
Слово UNIX используется как знак соответствия и как торговая марка.
Консорциум The Open Group обладает торговой маркой «UNIX», но наиболее известен как сертифицирующий орган для торговой марки UNIX. Недавно на The Open Group был пролит свет в связи с публикацией спецификации «Single UNIX Specification», стандартов которым должна удовлетворять ОС чтобы гордо называться Unix.
Вот здесь вы можете взглянуть на генеалогическое древо UNIX-подобных операционных систем.
Linux
Linux — общее название UNIX-пободных операционных систем, которые разработаны в рамках проекта GNU (проект по разработке СПО). Linux работает на огромном множестве архитектур процессора, начиная от ARM заканчивая Intel x86.
Наиболее известными и распространенными дистрибутивами являются Arch Linux, CentOS, Debian. Также существует много «отечественных», российских дистрибутивов — ALT Linux, ASPLinux и другие.
Возникает довольно много споров об именовании GNU/Linux.
Сторонники «open source» используют термин «Linux», а сторонники «free software» — «GNU/Linux». Я предпочитаю первый вариант. Иногда для удобства представления термина GNU/Linux используют написания «GNU+Linux», «GNU-Linux», «GNU Linux».
В отличие от коммерческих систем (MS Windows, Mac OS X) Linux не имеет географического центра разработки и определенной организации, которая владела бы системой. Сама система и программы для нее — результат работы огромных сообществ, тысяч проектов. Присоединиться к проекту или создать свой может каждый!
Вывод
Таким образом у нас поучилась цепочка: UNIX -> UNIX-подобная ОС -> Linux.
Подводя итог, я могу сказать, что отличия между Linux и UNIX очевидны. UNIX — намного более широкое понятие, фундамент для построения и сертификации всех UNIX-подобных систем, а Linux — частный случай UNIX.
Чем отличается Unix от Linux
Часто можно слышать вопросы о том, почему Linux называют Unix-подобной системой, в чём разница между этими операционными системами. Но на самом деле сравнивать напрямую эти два понятия не совсем корректно.
UNIX – это операционная система, соответствующая единой спецификации UNIX. Linux – это ядро операционной системы с открытым исходным кодом. Так почему сравнивают UNIX c Linux и что означает термин UNIX-подобная система? Давайте разберёмся в этих вопросах.
Чем отличается Unix от Linux?
Сразу стоит уточнить, что называть операционную систему Debian, или любой другой дистрибутив, одним словом Linux не совсем правильно. GNU/Linux, именно так лучше именовать операционную систему на основе ядра Linux. Что такое GNU и как он связан с UNIX можно понять, изучив историю создания операционных систем.
Краткая история создания UNIX
История UNIX начинается в 1969 году, когда в одном из подразделений AT&T Bell Labs была начата разработка операционной системы для компьютера PDP-7 производства DEC. В её основу легли идеи, заложенные в более продвинутую и требовательную к ресурсам компьютера Multics. Например, модель хранения данных была взята именно из этой операционной системы.
Изначально операционная система была написана на ассемблере, но в скором времени Кен Томпсон, один из создателей UNIX, решил перенести язык BCPL на машину с более скромными характеристиками. В результате получился компилируемый язык программирования Би, а на его основе в скором времени появился язык Си.
Таким образом на свет появилась не только одна из самых распространённых операционных систем, но ещё и язык программирования, оказавший влияние при создании C++, C#, Java и многих других языках программирования.
В компании AT&T хотели создать коммерческую версию ОС. Однако, из-за запрета правительства США на ведение деятельности, не связанной с телефонным и телеграфным оборудованием, пришлось лицензировать исходный код для нескольких университетов. В 1973 году университет Беркли получил в своё пользование код и уже в 1978 году появилась их собственная операционная система BSD, имевшая в своём составе сетевые протоколы TCP/IP, разработанные там же. Эти протоколы перекочевали в собственную систему AT&T. С этого момента можно сказать, что UNIX стал семейством операционных систем. Наработки одной системы появлялись в другой и со временем становились неким стандартом.
Краткая история создания Linux
В 1983 году Ричард Столлман, программист лаборатории Массачусетского технологического университета, решил посвятить свою жизнь созданию открытого программного обеспечения. Так появился проект GNU. Акроним расшифровывается как GNU is Not UNIX (GNU – это не UNIX). Одной из первых программ стал текстовый редактор Emacs. В дальнейшем выходили и другие утилиты под лицензией GNU GPL.
Разработка ядра свободной операционной системы началась в 1990 году. Но спустя всего один год появилась первая версия ядра Linux. Его автором стал финский студент Линус Торвальдс. Вдохновившись книгой о создании операционных систем на примере MINIX за авторством Эндрю Таненбаума, Линус решил создать своё ядро операционной системы, но со свободной лицензией. MINIX разрешалось использовать только в образовательных целях. Изначально применялись системные утилиты MINIX, но очень скоро они были заменены на GNU.
С этого началось развитие проекта GNU/Linux. Именно так нередко называют семейство операционных систем Linux. Ядром является Linux, а набором системных утилит – GNU. Хотя это заявление справедливо не всегда. Например, Android хоть и использует ядро Linux, но утилиты GNU заменены на собственную разработку.
Почему Linux называют UNIX-подобной ОС?
Операционные системы UNIX должны соответствовать единой спецификации UNIX, основным семейством стандартов которой является POSIX. Этот набор документов описывает то, как программы общаются с операционной системой. Например, в нём описан формат времени, отсчёт которого идёт с 1 января 1970 года. POSIX был создан для того, чтобы была возможность переносить исходный код с одной операционной системы на другую.
Некоторые операционные системы полностью соответствуют требованиям стандартов и прошли сертификацию, чтобы иметь право называться UNIX. К таким операционным системам можно отнести macOS, HP-UX, AIX и ещё ряд операционных систем.
Но сертификация не бесплатна и большая часть операционных систем является UNIX-подобными. Такие системы соответствуют большей части требований POSIX, но при этом могут иметь небольшие отличия. Среди таких операционных систем можно выделить семейство Linux, семейство BSD, Solaris.
Многие пакеты программного обеспечения написаны с учётом этих требований и позволяют переносить код с одной операционной системы на другую, что заметно упрощает портирование проектов. Например, графическая оболочка GNOME в большей мере соответствует стандартам POSIX, что позволяет использовать её не только на Linux, но и на BSD.
Распространение и сфера применения
Операционные системы Linux получили широкое распространение не только на промышленном и серверном оборудовании. Linux можно встретить на персональных компьютерах, в том числе для домашнего использования.
Системы UNIX, за исключением macOS, применяются исключительно на серверах, рабочих станциях и промышленном оборудовании. Несложно догадаться, что UNIX имеет гораздо меньшее распространение, чем UNIX-подобные системы, и тем более Windows.
И несмотря на то, что систем UNIX не так много и используются они на относительно небольшом количестве компьютеров, опять же, если не учитывать macOS, влияние UNIX значительно. Для той же Microsoft Windows, а ранее и для DOS, выходили наборы утилит для обеспечения совместимости с POSIX. Последним таким решением является WSL, слой совместимости для запуска приложений Linux на Windows 10.
Выводы
UNIX внёс огромный вклад в развитие операционных систем. Заложенные в нём принципы используются до сих пор. Даже язык программирования Си обязан своим появлением этой операционной системе. Однако, далеко не все разработчики готовы проходить сертификацию UNIX и выпускают UNIX-подобные операционные системы.
Как раз к таким можно отнести семейство Linux. Операционные системы Debian, Arch, Fedora объединяет то, что они используют ядро Linux. С другой стороны, UNIX фактически может быть основан на любом ядре, лишь бы оно удовлетворяло всем требованиям единой спецификации UNIX.
Теперь вы знаете чем отличается Unix от Linux. В двух словах, проект GNU/Linux – это реализация идей UNIX со свободной лицензией.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.