Я хочу знать, какова реальная разница между Unix и Linux.
- У них одно ядро?
- Linux построен на Unix?
- Работают ли программы, написанные для Linux, на Unix и наоборот?
linux
unix
operating-systems
Xinus
источник
источник
Ответы:
Unix - это не одно, а название большого семейства связанных операционных систем, которые имеют разные степени, историю и архитектуру. Solaris, DEC Unix, IRIX, HP-UX являются вариантами Unix. Они в некоторой степени совместимы с приложениями, поскольку они в разной степени реализуют стандарты POSIX, а это означает, что они предоставляют аналогичные команды и API.
Их ядра не одинаковы, хотя если вы посмотрите «семейное древо Unix», вы увидите захватывающую историю того, как эти варианты эволюционировали друг от друга, как организмы. То есть зяблик и ласточка - не одно и то же животное, но у них много общего.
Linux - это переписывание с нуля Unix-подобной операционной системы. Являются ли программы, написанные для одного Unix / Linux против другого, сложным вопросом, но в некоторых случаях да.
источник
Нет, нет, да (источник)
Чтобы действительно понять ответ, нужно взглянуть на историю обеих операционных систем.
Unix был изобретен в AT & T Bell Labs Кеном Томпсоном. Его коллега Деннис Ритчи внес свой вклад, а также изобрел язык Си и написал компилятор Си. На протяжении многих лет код также вносил UC Berkeley, продолжая работу в AT & T, Sun, IBM и других.
Это было в конечном итоге стандартизировано в серии публикаций под названием POSIX. В целом, код был проприетарным, так как был защищен авторским правом AT & T, а затем продан или лицензирован другим компаниям, которые в течение многих лет переписывали его, но сохраняли различные права.
Две ветви «свободного Unix» появились в 1990-х годах. Одним из них был Linux , который является клоном, написанным так, чтобы он действовал как Unix без какого-либо реального кода Unix.
Другая ветвь существует сегодня как NetBSD , и за ней быстро последовала FreeBSD , а затем намного позже любой другой * BSD, о котором вы, возможно, слышали. Эти проекты немного отличаются от Linux тем, что они являются «частичными клонами». Они содержат смесь исходного кода «реального Unix» (часть, которая была свободно лицензирована, главным образом UC Berkeley) и некоторый недавно написанный код «клонирования» и другой более поздний код, появляющийся как часть переписанных или необходимых для поддержки современного HW и современного Технические характеристики Posix.
Linux намного более популярен, потому что NetBSD и FreeBSD были на какое-то время связаны судебным процессом между AT & T и UCB. Хотя они решены в пользу BSD, они так и не оправились от задержки, по крайней мере, не с точки зрения популярности.
Так что нет, Linux и коммерческий Unix не имеют общего кода ядра, хотя коммерческие Unix и * BSD когда-то имели много общего. Ядра Unix от лицензированных поставщиков содержат код, который они написали сами, возможно, с некоторым оригинальным кодом AT & T, все еще присутствующим здесь и там. Ядро Linux состоит из кода, написанного Линусом Торвальдсом и другими авторами.
«Программное обеспечение Unix» - это программное обеспечение, написанное для API Posix и обычно работающее на всех версиях Unix, Linux, а также NetBSD и FreeBSD. Теоретически, Posix SW может работать на системах, отличных от Unix, но это не очень хорошо работает. В наши дни «Unix» технически является товарным знаком, но имеет тенденцию неофициально использоваться как обозначение как для коммерческих Unix, Linux, так и для семейства BSD.
источник
Когда большинство людей говорят о Unix, они имеют в виду «Unix-подобную операционную систему, совместимую с POSIX», то есть Linux.
У них одно ядро? Нет, Linux - это ядро, а не операционная система. Технически в дистрибутивах Linux используется ядро Linux и GNU (см. Gnu.org) «userland». Пользовательская область - это основные программы, библиотеки и т. Д., Которые связывают большие приложения и пользовательские задачи с низкоуровневым API ядра.
Linux построен на Unix? Нет, это клон. Он создан для предоставления бесплатной и удобной версии Unix на простом настольном ПК.
Могут ли программы, написанные для Linux, работать на Unix и наоборот? Иногда. Например, во FreeBSD есть эмулятор Linux ABI, который по существу определяет, какие программы были созданы для Linux, и делает доступным другой набор вызовов ядра. Нечто подобное доступно для Linux для запуска стандартных компонентов Unix System V (или какой-либо популярной коммерческой версии unix в любом случае), но оно используется редко, так как большинство программ поставляются в виде POSIX-совместимого исходного кода и без труда компилируются в Linux. Кроме того, большинство бинарных программ для Unix напрямую доступны для Linux. FreeBSD - это меньшая проблема, и в ней нет такой роскоши. В Linux система для загрузки двоичных файлов из других систем чаще всего используется для запуска Java-программ, программ Windows (хотя это не рекомендуется) и т. Д.
Unix является товарным знаком, и поэтому Linux не может использовать это имя. Unix - это официальная старая версия (поскольку есть официальная версия), которая не так удобна для пользователя. Большинство других версий unix были спроектированы немного лучше, но не обязательно работают с практической точки зрения. Это действительно так. Многие из компаний, которые раньше использовали Unix, теперь используют Linux.
Если вы хотите увидеть различия в различных Unix-подобных операционных системах, приобретите копии FreeBSD, OpenSolaris и Debian. Я говорю об этих дистрибутивах именно потому, что их будет легче сравнивать, хотя некоторые другие, такие как pc-bsd, nexenta и ubuntu, возможно, соответственно более приятные.
источник
С технической точки зрения, GNU / Linux не меньше UNIX, чем любая из официальных систем UNIX, но только по юридическим причинам люди описывают Linux как UNIX- подобную ОС, а не просто как «UNIX» ОС.
Что касается ядер, Linux - это ядро. Таким образом, по определению, если система использует ядро Linux, то это система Linux, а не система UNIX.
Linux не был построен «поверх» Unix, он построен как клон UNIX. Все различные утилиты gnu (bash и т. Д.) Были написаны с нуля как клоны соответствующих утилит unix.
По иронии судьбы, Mac OS X с ядром UNIX поставляется с bash, gcc и, возможно, другими утилитами GNU. Так что это система UNIX, которая включает в себя части GNU, а не наоборот, как можно было бы ожидать.
источник
История UNIX Не ответ на ваши вопросы, но, возможно, будет интересно.
источник
От NixCraft
источник