Хочу знати, яка насправді різниця між Unix та Linux.
- Вони поділяють одне ядро?
- Чи побудований Linux на Unix?
- Чи працюють програми, написані для Linux, на Unix і навпаки?
Хочу знати, яка насправді різниця між Unix та Linux.
Відповіді:
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" виникли у 90-х роках. Одним з них був 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 є емулятор ABI Linux, який по суті виявляє, що програми були створені для 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
Linux не був побудований "над" Unix, він побудований як клон UNIX. Усі різноманітні утиліти gnu (bash тощо) писалися з нуля як клони відповідних утиліт UNIX.
Як не дивно, Mac OS X, який має ядро UNIX, постачається з bash, gcc та, можливо, іншими утилітами GNU. Отже, це система UNIX, яка включає частини GNU, а не навпаки, як можна було очікувати.
Історія UNIX Не відповідь на ваші запитання, але, можливо, буде цікавою.
UNIX є ім'ям, захищеним авторським правом. Лише великим компаніям дозволяється використовувати авторські права та ім'я UNIX, тому IBM AIX та Sun Solaris та HP-UX - це UNIX. Відкрита група зберігає торговельну марку UNIX у довірі для галузі та керує програмою ліцензування торговельних марок UNIX. Linux - це клон UNIX
Але якщо врахувати стандарти інтерфейсу портативної операційної системи (POSIX), то Linux можна розглядати як UNIX. Цитувати з офіційного файлу ядра Linux README: Linux - це клон Unix, написаний з нуля Лінусом Торвальдсом за допомогою невмілої команди хакерів по Мережі. Він спрямований на відповідність POSIX. Linux - це просто ядро
Linux - це просто ядро. Розподіл Linux включає систему GUI, інструменти встановлення та управління, компілятори, редактори тощо
Більшість осей UNIX розглядаються як конкуруюча операційна система.
Як я вже говорив раніше, Linux просто ядро з дистрибутивом Linux робить його повним корисним. Більшість осей UNIX поставляється з програмами AZ, такими як редактор, компілятори тощо. Наприклад, FreeBSD поставляється з програмами AZ. Ліцензія та вартість
Linux вільний (як у пиві [свобода]). Ви побачите найкращу підтримку громади навколо. Багато UNIX ози не є безкоштовними (але це швидко змінюється, наприклад, OpenSolaris / Solaris UNIX). Зручний для користувачів
Linux вважається найбільш зручним для користувача UNIX, як os. Це дозволяє легко встановити звукову карту, флеш-плеєри та інші смаколики на робочому столі. Перспектива кінцевого користувача
Відмінності не такі великі для середнього кінцевого споживача.