unix vs linux what is difference between unix
Unix проти Linux: Дізнайтеся, в чому полягає основна різниця між архітектурою, ядром та командами UNIX та Linux
Linux - це не що інше, як клон UNIX, написаний Лінусом Торвальдом з нуля за допомогою деяких хакерів по всьому світу.
Unix та Unix-подібні операційні системи - це сімейство комп'ютерних операційних систем, що походять від оригінальної системи Unix від Bell Labs, яка простежується з 1965 року.
Linux є найпопулярнішим варіантом, і він існує в багатьох різних дистрибутивах.
=> Клацніть тут, щоб переглянути повну серію підручників Unix
Unix - це сімейство багатозадачних портативних багатокористувацьких комп'ютерних операційних систем, які також мають конфігурації розподілу часу.
У системах Unix використовується централізоване ядро ОС, яке відповідає за управління цілою системою.
Інтерфейс програмування, абстракція файлів, вбудована мережа та стійка фонова обробка, що називаються демонами, - це інші функції та можливості, які підтримує ОС Unix.
Що ви дізнаєтесь:
- Що таке UNIX?
- Що таке Linux?
- Різниця між Unix та Linux
- Linux проти ядра Unix
- Команди Unix проти Linux
- Висновок
- Рекомендована література
Що таке UNIX?
Unix вважається матір’ю більшості операційних систем.
Дизайн систем Unix базується на “Unix Philosophy”, що включає такі характеристики:
- Використання простого тексту для зберігання даних.
- Ієрархічна файлова система.
- Обробка пристроїв та деяких специфічних видів міжпроцесорного зв'язку (IPC) у вигляді файлів.
- Використовуючи величезну кількість програмних засобів.
- Кілька невеликих, простих та модульних програм, які можна поєднати за допомогою інтерпретатора командного рядка, використовуючи канали, на відміну від використання єдиної монолітної програми, що містить однакову функціональність.
Тут варто згадати нижченаведену цитату про Unix Philosophy:
«Хоча цю філософію неможливо записати одним реченням, оскільки її суть полягає в ідеї, що сила системи походить більше від взаємозв’язків між програмами, ніж від самих програм. Багато програм UNIX роблять досить тривіальні речі ізольовано, але в поєднанні з іншими програмами стають загальними та корисними інструментами '. - Брайан Керніган і Роб Пайк
Архітектура Unix
На наведеній нижче схемі буде зображена вам архітектура Unix.
(зображення джерело )
Основною програмою управління Unix є його ядро. Ядро має повний контроль над усією системою. Він має підсистеми, які пропонують послуги з обробки файлової системи, обробки ресурсів, управління пам’яттю, запуску та зупинки програм та кількох інших основних завдань низького рівня.
Ядро є серцем ОС і діє як інтерфейс між користувачем та обладнанням. Кожна підсистема ядра має певні функції, такі як паралельність, віртуальна пам’ять, підкачка та віртуальна файлова система.
У зовнішніх шарах архітектури ми маємо оболонку, команди та прикладні програми. Оболонка - це інтерфейс між користувачем і ядром. Shell та користувач вводять команди, інтерпретують ці команди та викликають комп’ютерні програми відповідно.
Приклад операційною системою Unix є Solaris та HP-UX. Найбільшими дистриб'юторами систем UNIX є IBM, HP та SUN.
Рекомендуємо прочитати => Безкоштовні навчальні посібники для Unix
Що таке Linux?
На даний момент ви вже мали б чітке уявлення про Unix. Давайте тепер детально дослідимо Linux.
Люди багато плутають між термінами Unix та Linux, і вони зазвичай задають такі питання 'Чи відрізняється Unix від Linux?' / 'Чи є Linux і Unix одне і те ж?' / “Чи є Linux як Unix?” / “Чи Linux побудований на Unix?” .
Ось відповідь на всі подібні запитання. По-перше, дозвольте мені очистити вашу плутанину в однокласснику. Linux та Unix відрізняються, але вони мають стосунки між собою, оскільки Linux походить від Unix.
Linux не є Unix, але це Unix-подібна операційна система. Система Linux походить від Unix і є продовженням основи дизайну Unix. Дистрибутиви Linux - це найвідоміший і найздоровіший приклад прямих похідних Unix.BSD (Berkley Software Distribution) також є прикладом похідної Unix.
На цьому етапі нам важливо пояснити, що таке Unix?
Unix-подібна ОС (її також називають UN * X або * nix) - це та, яка працює подібним чином до систем Unix, однак не обов'язково, щоб вони відповідали єдиній специфікації UNIX (SUS) або подібній POSIX (портативні Інтерфейс операційної системи).
SUS - це стандарт, який потрібно дотримуватись для будь-якої ОС, щоб отримати право на використання торгової марки „UNIX”. Ця торгова марка надана 'The Open Group'.
Кілька прикладів до зареєстрованих на сьогодні систем UNIX належать macOS, Solaris та AIX. Якщо розглядати систему POSIX, то Linux можна розглядати як Unix-подібну ОС.
Відповідно до офіційного файлу ядра Linux README, Linux - це клон UNIX що розробляється з нуля Лінусом Торвальдсом та командою. Він націлений на відповідність POSIX. Код ядра Linux був повністю написаний з нуля. Він розроблений таким чином, що діє як Unix, але в ньому немає оригінального коду Unix.
Важливо також зазначити, що Linux - це просто ядро, а не повна ОС . Це ядро Linux, як правило, упаковується в дистрибутиви Linux, що, таким чином, робить його повноцінною ОС.
Таким чином, Linux є лише ядром, тоді як дистрибутиви Linux можна розглядати як ОС. З іншого боку, UNIX сам по собі є повноцінною ОС, оскільки все (усі необхідні програми, зв’язані разом) походить від одного постачальника. Наприклад, Соляріс.
Дистрибутив Linux (коротше також називаний дистрибутивом) - це операційна система, яка створена із набору програмного забезпечення, побудованого на ядрі Linux, і є системою управління пакетами.
Стандартний дистрибутив Linux складається з ядра Linux, системи GNU, утиліт GNU, бібліотек, компілятора, додаткового програмного забезпечення, документації, віконної системи, диспетчера вікон та робочого середовища.
Більшість програм, що входять до дистрибутива Linux, є безкоштовними та з відкритим кодом. Вони можуть включати деяке запатентоване програмне забезпечення, таке як двійкові краплі, що є важливим для декількох драйверів пристроїв.
Архітектура ОС на базі Linux
(зображення джерело )
Таким чином, дистрибутиви Linux насправді роблять ядро Linux цілком придатним для використання як операційна система, додаючи до нього різні програми. Існують різні смаки дистрибутивів Linux, які задовольняють широкий спектр потреб користувачів.
Наприклад , ми маємо ОС на основі OpenWrt Linux для вбудованих пристроїв, Linux Mint для персональних комп’ютерів і Rocks Cluster Distribution для суперкомп’ютерів. Загалом існує близько 600 дистрибутивів Linux.
Вам буде цікаво знати, що популярна мобільна ОС Google для Android на базі Linux. Кожна ітерація ОС Android побудована на поточному ядрі Linux.
Різниця між Unix та Linux
Linux | Unix та інші варіанти |
---|---|
Різні варіанти, що підтримуються різними громадами; з ядром, що зливається у гілку, яку підтримує Лінус | Різні варіанти, що підтримуються різними компаніями; кожен підтримує своє ядро |
Linux відноситься до ядра операційної системи GNU / Linux. Більш загально, це стосується сімейства похідних розподілів. | Unix відноситься до оригінальної операційної системи, розробленої AT&T. Більш загально, це стосується сімейства похідних операційних систем. |
Оригінальний код, розроблений Лінусом та Фондом GNU | Оригінальний код, розроблений AT&T |
Торгова марка Linux є власністю Лінуса Тровальдса і управляється Інститутом Linux Mark під управлінням Фонду Linux. | Торгова марка UNIX сертифікована Open Group. Список сертифікованих операційних систем. |
Стандартна база Linux (LSB), доступна як ISO / IEC 23360, є зусиллями стандартизації багатьох дистрибуторів Linux. LSB в основному є розширенням POSIX, але має деякі відмінності. Однак гострої потреби в сертифікації LSB немає, оскільки різні дистрибутиви в будь-якому випадку використовують одне і те ж ядро. | Сертифікація UNIX на основі «Специфікації єдиного Unix», яка є розширенням IEEE 1003 (POSIX), також доступна як ISO / IEC 9945. POSIX визначає API програмування та інтерфейси оболонки та службових програм. POSIX був розроблений як спосіб забезпечення взаємодії між різними постачальниками UNIX. |
GNU / Linux та такі похідні файли, як Debian та Fedora | System-V Unix та такі похідні, як IBM-AIX та HP-UX; Berkeley Unix та такі похідні, як FreeBSD та macOS |
Відкритий код під загальною публічною ліцензією copyleft | Berkeley Unix є частково відкритим кодом за ліцензією BSD. Джерело System-V Unix можна придбати за власною комерційною ліцензією. |
Розроблена як масштабована платформа загального призначення для широкого набору програм. | Зазвичай розроблений для вузької аудиторії з певним набором цільових платформ та додатків. |
Широко доступний як програмне забезпечення та програма встановлення, що налаштовується. | Зазвичай постачається разом із обладнанням, наприклад MacBook |
Безкоштовна підтримка громади. Платна підтримка доступна у багатьох постачальників послуг. | Платна комерційна підтримка. Часто призводить до блокування продавця. |
Інтерфейси часто еволюціонують | Інтерфейси, як правило, стабільні |
Часті оновлення, з швидкими виправленнями помилок | Нечасті оновлення та виправлення можуть зайняти час |
Підтримує майже всі файлові системи, що використовуються в операційних системах | Більшість версій підтримують дві або, можливо, три файлові системи |
Широта інструментів системного адміністрування, часто з обмеженим фокусом, напр. Suse YAST | У кожній версії зазвичай є зрілий інструмент адміністрування системи, наприклад HP SAM |
Бажана ОС для хмарного розгортання та центрів обробки даних насамперед з економічних причин | Бажана ОС для спеціальних вимог до серверів через доступність додатків та Інтернет-сервери із застарілих причин |
Масштабованість, досягнута за допомогою кластерів, сіток або хмари. | Масштабованість, досягнута за допомогою кластерів або сіток |
(Кластер - це колекція однорідних комп’ютерів, сітка - це колекція розподілених комп’ютерів, а хмарний сервіс - це колекція віртуалізованих кластерів.) | |
Більшість командного рядка та графічні утиліти схожі на Unix | Більшість командного рядка та графічні утиліти схожі на Linux |
Сподіваємось, ви, мабуть, зрозуміли основні відмінності між Unix та Linux з цієї статті.
Давайте тепер побачимо деякі важливіші відмінності між Linux та Unix у табличному форматі, наведеному нижче:
Особливості | Linux | Unix |
---|---|---|
Початковий випуск | Linux є новішим у порівнянні з Unix. Він був похідний від Unix і випущений у вересні 1991 року. | Unix старший. Був випущений у жовтні 1973 року для сторонніх вечірок. До цього він використовувався всередині лабораторій Bell з моменту його створення в 1970 році. |
Розробник | Натхненний MINIX (Unix-подібною ОС), Linux спочатку був розроблений фінсько-американським інженером-програмістом Лінусом Торвальдсом. Оскільки це відкритий код, у нас є розробники спільнот для Linux. | Спочатку похідний від AT&T Unix, він був розроблений в Bell Labs Кеннетом Лейном Томпсоном, Деннісом Річі та 3 іншими. |
Написано в | C та інші мови програмування. | C та асемблер. |
Сімейство ОС | Unix-подібний | Unix |
Робочий стан | Поточний | Поточний |
Модель джерела | Відкрите джерело | Змішані. Традиційно закрите джерело, однак, кілька проектів Unix є відкритими, до яких належать ОС OS Illumos та ОС BSD (Berkley Software Distribution). |
Доступно в | Багатомовний | Англійська |
Тип ядра | Монолітне ядро | Тип ядра різний. Він може бути монолітним, мікроядерним і гібридним. |
Ліцензія | GNUv2 (Загальна публічна ліцензія GPL) та інші. | Ліцензування різниться. Мало версій є власністю, тоді як інші безкоштовні / OSS. |
Офіційний веб-сайт | https://www.kernel.org/ | http://opengroup.org/unix |
Інтерфейс користувача за замовчуванням | Оболонка Unix | CLI (інтерфейс командного рядка) та графічний (система X Windows) |
Інтерфейс текстового режиму | За замовчуванням оболонкою є BASH (Bourne Again Shell). Більше того, сумісний з багатьма інтерпретаторами команд. | Спочатку панцир Борна. Він також сумісний з багатьма інтерпретаторами команд. |
Вартість | Можна отримати та використовувати вільно. Існують також цінові версії Linux. Але, як правило, Linux дешевший за Windows. | Фірмові операційні системи мають різну структуру витрат, відповідно встановлену продавцями, які її продають. |
Приклади | Debian, Ubuntu, Fedora, Red Hat, Android тощо. | IBM AIX, Solaris, HP-UX, Darwin, macOS X тощо. |
Архітектура | Спочатку був створений для обладнання Intel x86, порти доступні для багатьох типів процесорів. | Сумісний з машинами PA та Itanium. Solaris також доступний на x86 / x64. OSX - це PowerPC. |
Виявлення загрози та її вирішення | Оскільки Linux в основному керується спільнотою з відкритим кодом, багато розробників з різних частин світу працюють над кодом. Отже, виявлення та вирішення загрози є досить швидким у випадку Linux. | Через патентовану природу Unix користувачам потрібно чекати належних виправлень для виправлення помилок. |
Безпека | Як ОС Linux, так і Unix, як правило, вважаються дуже добре захищеними від шкідливих програм. Це пояснюється відсутністю root-доступу, швидкими оновленнями та порівняно низькою часткою ринку (порівняно з Windows). Станом на 2018 рік поширеного вірусу Linux не було. | Unix також вважається дуже безпечним. Ще важче заразитися, оскільки джерело також недоступний. В даний час для Unix не існує вірусу, який активно поширюється. |
Ціна | Linux безкоштовний. Однак корпоративна підтримка доступна за ціною. | Unix не безкоштовний. Однак деякі версії Unix є безкоштовними для розробки (Solaris). У середовищі спільної роботи Unix коштує 1407 доларів на користувача, а Linux - 256 доларів на користувача. Отже, UNIX надзвичайно дорогий. |
Linux проти ядра Unix
Оскільки лише Linux є лише ядром, варто обговорити основні відмінності між ядром Linux та ядром Unix.
Є три типи ядра, тобто монолітне, мікро та гібридне (поєднання монолітного та мікро), як показано на зображенні нижче.
(зображення джерело )
В монолітній архітектурі ядра вся ОС працює в одному ядерному просторі. Він одноосібно визначає віртуальний інтерфейс високого рівня поверх обладнання комп'ютера.
Хоча ядро Linux отримує більшу частину своїх характеристик від Unix / Unix-подібних ядер, однак, між ними є деякі суттєві відмінності.
В архітектурі мікроядра основні служби ОС працюють в одному процесі, тоді як інші служби працюють в різних процесах.
У µ ядрі майже мінімальна кількість механізмів включена в режим ядра. Ці механізми включають базовий IPC (міжпроцесний зв’язок), планування та управління адресним простором на низькому рівні.
Що стосується розміру вихідного коду, як правило, мікроядро менше, ніж монолітне ядро.
Особливості | Ядро Linux | Ядро Unix |
---|---|---|
Ядерний підхід | Linux дотримується монолітного підходу до ядра. | Ядро Unix може бути монолітним, мікроядерним або гібридним. Наприклад, macOS має гібридне ядро, Solaris - монолітне ядро, а AIX - монолітне ядро з динамічно завантажуваними модулями. |
Додавання / видалення функцій ядра | Забезпечує чудову функцію, завдяки якій компоненти ядра, такі як накопичувачі пристроїв, можуть динамічно додаватися та видалятися як модулі. Ця функція називається завантажуваними модулями ядра (LDM). Це позбавляє від необхідності компілювати все ядро знову. Ця функція, в свою чергу, забезпечує велику гнучкість Linux. | Традиційне ядро систем Unix потребує статичного зв’язування нових систем. |
Потоки | У Linux немає підсистеми вводу-виводу потоків. | У більшості ядер Unix включена підсистема вводу-виводу потоків, яка виявляється бажаним інтерфейсом для запису драйверів пристроїв, драйверів терміналів тощо. |
Попереджувальний та непередбачувальний підхід | Зазвичай ядро Linux не є переважним. Однак останнім часом ОС реального часу Linux почала використовувати переважні ядра. | Деякі системи Unix є переважними. Наприклад, Solaris 2.x. тощо |
Різьблення ядра | Linux використовує потік ядра лише для періодичного запуску деякого коду ядра. | Багато Unix-подібних операційних систем використовують потік ядра з метою переключення контексту процесу. |
Способи роботи з багатопоточним середовищем | За допомогою багатопоточності створюється більше одного незалежного потоку виконання, який називається легким процесом (LWP). У Linux LWP створюється за допомогою виклику функції clone (). Ці процеси в Linux можуть спільно використовувати фізичну пам’ять, відкриті файли, адресний простір тощо. | У Unix LWP базується на потоках ядра. |
Команди Unix проти Linux
Існують певні відмінності між командами оболонки, тобто навіть серед версій того самого варіанту Unix. Однак найбільше змінюється вбудована внутрішня оболонка, а не презентація.
Загалом, докладаються зусилля, щоб Linux максимально наблизився до Unix, дотримуючись стандартів POSIX. Отже, команди терміналу в дистрибутивах Linux та операційних системах Unix не зовсім однакові, але, тут також не так багато відмінностей.
Кожен дистрибутив Linux сам по собі має свій спосіб виконання.
Наприклад , в CentOS, яка є ОС сімейства Linux, ми використовуємо команди yum (модифікатор оновлення yellowdog) для встановлення нових пакетів, тоді як у Debian, яка є іншою ОС із сімейства Linux, ми використовуємо команди apt-get для встановлення.
Ми використовуємо IBM AIX, яка є власною ОС Unix -палець команда, щоб перевірити, хто ввійшов у систему. Але ця команда не використовується в Linux. У Linux ми використовуємо мізинець команда для отримання того самого результату.
як переглянути файли .swf -
В Ubuntu / Debian (ОС Linux) ми маємо fdisk, розділено, розділено команди для завдання 'створити'. З іншого боку, у Solaris (ОС Unix) ми маємо формат, fmthard для завдання 'створити' .
Ви можете звернутися до списку команд Linux і Unix, ви виявите, що команди Linux і Unix схожі, але не зовсім однакові.
Приклади
Наразі в цій статті ми бачили узагальнені основні відмінності між Linux та Unix. Ці відмінності можуть бути більш конкретними, якщо порівняти точні версії цих двох. Побачимо це на кількох прикладах.
Solaris проти Linux
Solaris, яку зараз називають Oracle Solaris - це ОС сімейства Unix. Давайте порівняємо Linux із Solaris.
Linux підтримує більше системних архітектур, ніж Solaris. Отже, Linux є більш портативним.
Говорячи про стабільність та апаратну інтеграцію, Solaris, здається, тут краще. Linux також має більш швидкі темпи розвитку в порівнянні з Solaris.
Інших технічних відмінностей між ними мало, але тут ми обмежуємо наше порівняння лише ефективністю.
MacOS проти Linux
MacOS - це сертифікована ОС Unix. Він має власне ядро під назвою XNU. Він використовується на комп’ютерах Apple, які вважаються найнадійнішими ПК.
MacOS відносно просто налаштувати. З іншого боку, Linux дешевший і має багато програмного забезпечення з відкритим кодом, порівняно з фірмовими рішеннями Apple. Крім того, Linux є більш гнучким, оскільки може виконуватися практично на будь-якому обладнанні, тоді як MacOS може працювати лише на апаратному забезпеченні Apple. Наприклад , iPhone.
MacOS використовує HFS + як файлову систему за замовчуванням, тоді як Linux використовує ext4.
Висновок
Unix дуже старий і кажуть, що він мати всіх операційних систем. Ядро Linux також походить від Unix. Основна різниця між операційними системами на основі Unix та Linux полягає не в презентаційній частині, а в тому, як вони працюють внутрішньо, тобто переважно в частині ядра.
Різниця між ними також залежатиме від того, які саме версії Linux та Unix ви порівнюєте.
Важливо також зазначити, що Linux (і багато інших Unix-подібних ОС) можуть вільно отримувати та змінювати, тоді як операційні системи Unix - ні. Вартість завжди є головною проблемою, коли вирішується, яку технологію використовувати, і Linux має перевагу в цьому плані.
Linux є більш гнучким і безкоштовним у порівнянні з справжніми системами Unix, і тому Linux набув більшої популярності. Обговорюючи команди в Unix та Linux, вони не однакові, але дуже схожі. Насправді команди в кожному розподілі однієї і тієї ж сімейної ОС також змінюються.
Solaris, HP, Intel тощо використовують Інтернет-сервери Unix, робочі станції та персональний комп’ютер. Хоча Linux широко застосовується для комп'ютерного програмного забезпечення та обладнання, ігор, планшетів, мейнфреймів тощо.
Є дослідження, які говорять про те, що Linux росте швидко, ніж будь-яка інша ОС за останні кілька років. Отже, в майбутньому Linux може, як правило, залишати установки UNIX далеко позаду.
Список літератури: Linux, Unix, Дистрибутив Linux, Книга: Середовище програмування Unix
Сподіваюся, вам сподобалась ця інформативна стаття про різницю в Unix та Linux !!
=> Клацніть тут, щоб переглянути повну серію підручників Unix
НАЗАД Підручник | НАСТУПНИЙ підручник
Рекомендована література
- Що таке Unix: короткий вступ до Unix
- Команди Unix: основні та вдосконалені команди Unix з прикладами
- Команди обробки тексту Unix: фільтри Unix із прикладами
- Підручник з труб Unix: Труби в програмуванні Unix
- Відмінність Linux від Windows: яка найкраща операційна система?
- Більше команд Unix Filter та Awk, Sed в обробці тексту
- Підручник UNIX для початківців (20+ поглиблених навчальних відеороликів Unix)
- Як порівняти два файли в Unix: команди порівняння файлів