Що саме ми маємо на увазі, коли говоримо, що використовуємо Linux?


9

Я переглядав статтю про GNU, де йде щось на кшталт нижче

Дійсно є Linux, і ці люди його використовують, але це лише частина системи, якою вони користуються. Linux - це ядро: програма в системі, яка розподіляє ресурси машини на інші програми, які ви запускаєте. Ядро є важливою частиною операційної системи, але марною саме по собі; він може функціонувати лише в умовах повної операційної системи. Linux зазвичай використовується в поєднанні з операційною системою GNU: вся система в основному GNU з доданим Linux, або GNU / Linux. Усі так звані “Linux” дистрибуції - це справді дистрибутиви GNU / Linux.

Я завжди вважав Linux як ядро ​​та операційну систему, але це виглядає як Linux = Linux ядро ​​та GNU OS.

Невже хтось може вказати на точну функціональність кожного з термінологій "Linux", якими ми користуємось у нашому повсякденному житті. Крім того, згідно з wiki, дизайн GNU схожий на Unix, але відрізняється від Unix тим, що є вільним програмним забезпеченням і не містить коду Unix. Я думав, що Unix є відкритим кодом. Чи не так?


2
Ядро Linux - це як двигун: життєво необхідний для роботи машини, але майже марний сам по собі.
злий

Відповіді:


7

Я вважаю, що біт, на який ви посилаєтесь, міститься тут на веб-сайті Фонду вільного програмного забезпечення (FSF):

На думку FSF, їх твердження полягає в тому, що Linux - це лише ядро. Працездатна система складається з ядра + інструментів , такі як ls, find, раковини і т.п. Тому , коли відносяться до всієї системи, вона повинна називатися GNU / Linux, так як інші інструментів разом з ядром Linux складає повним зручна система. Вони навіть продовжують говорити про ядро FSF Unix, Hurd , доводячи аргументи, що Hurd і Linux по суті є взаємозамінними ядрами в системі GNU / X.

Я вважаю весь аргумент стомлюючим і думаю, що є кращі речі, що стосуються нашого часу. Ім'я - це лише назва і той факт, що люди вважають, що система, що включає програмне забезпечення GNU + Linux Kernel + інше програмне забезпечення, яке не є GNU, є Linux або GNU / Linux - це питання смаку, і це не має значення в грандіозній схемі речі. Насправді я думаю, що цей аргумент більше шкодить Linux та GNU / Linux, розбиваючи спільноту та заплутуючи широку громадськість щодо того, що насправді є кожною річчю.

Більше, ніж ви коли-небудь хотіли дізнатись з цієї теми, подивіться на Вікіпедію з назвою: полеміка щодо іменування GNU / Linux .

Усі відкриті джерела Unixes?

Наскільки мені відомо, не всі Unix є відкритим джерелом. Більшість функціональних можливостей в Unix визначені так, що те, як працюють речі, є відкритим, але конкретні реалізації цієї функціональності є чи не відкритими залежно від того, в якому дистрибутиві вона входить.

Наприклад, до недавнього часу Solaris, Unix, не вважався відкритим кодом. Тільки коли випущені основні компоненти Sun Microsystem в проект OpenSolaris, це принаймні компоненти Solaris стали відкритими.

Історія Unix

Я аж ніяк не експерт з цієї теми, тому я б запропонував переглянути сторінку Вікіпедії Unix, щоб дізнатися більше про цю тему.

Історія Linux

Ознайомтеся з діаграмою лінійки Unix, щоб дізнатися більше про те, як Unixes вважається відкритим, змішаним чи закритим джерелом.

  ss історії

Я також вважаю, що проект GNU / Linux розповсюдження часу є корисним під час розмови.

s часової шкали Linux


2
Жоден UNIX не є відкритим кодом, а Linux не є Unix. На відміну від FreeBSD, який є прямим нащадком і колись містив код ATT UNIX, Linux не має прямого зв'язку і є лише Unix-подібним. OSX - UNIX.
Роб

1
@Rob FreeBSD більше не містить код ATT: саме це зробило його безкоштовним. У нього немає більш-менш претензій до імені Unix, ніж Linux або MINIX або OSF / 1.
Жил 'SO- перестань бути злим'

1
@Rob - будь ласка, посилання на сайт. Я впевнений, що ви не маєте на увазі, що цей коментар виглядає так, як звучить як троль, але це, принаймні, трохи 8 -). У цілому Linux вже обговорював дискусію про Unix. Перегляньте цю тему: unix.stackexchange.com/questions/4091/is-linux-a-unix . Я вважаю цей аргумент стомлюючим. Це як аргумент, як вимовляється помідор.
slm

@Gilles Як все, що я сказав, не відповідає дійсності? Чому ви відчули потребу коментувати це?
Роб

@slm Я лише відповів на ваш коментар, що "Не всі Unixes є відкритим кодом", і правда, немає Unixes з відкритим кодом. UNIX - торгове найменування, перевірка та сертифікація. Це також означає, що існує відповідність POSIX рівню Linux та інші системи не можуть перевірити (але OSX може). Я нічого не сперечався, окрім UNIX - це UNIX, а Linux - це не UNIX, про що, здавалося б, ваш пост, iirc. (Мені не було відомо про попередню тему чи будь-яку іншу.
Роб

3

Як правило, те, що ми зазвичай називаємо Операційною системою, - це комбінація програмного забезпечення, що включає ядро , завданням якого є управління ресурсами машини та деякими програмами, які працюють над ядром, що називається userland (це містить браузери, компілятори, читачів pdf, нічого, що не є ядром, драйвером або, можливо, гіпервізором vm).

На решту цього питання неможливо відповісти без якогось історичного контексту. Річард Сталлман оприлюднив проект GNU 27 вересня 1983 року. Метою було забезпечення програмного забезпечення, необхідного для розробки операційної системи на зразок UNIX (та супроводжуючої користувача) як вільного програмного забезпечення . До 1992 року проект GNU виконав майже всі фрагменти, необхідні для їх програмного забезпечення - крім одного: ядра. У той же час Лінус Торвальдс випустив своє ядро Linux (версія 0,12) як безкоштовне програмне забезпечення, що має ліцензію за ліцензією GPL . Отже, вперше можна було запустити комп'ютер, що складається майже (майже) з вільного програмного забезпечення.

Linux (як уже згадувалося) є ядром , і, хоча це головна база програмного забезпечення, що дозволяє користуватися своїм комп'ютером, це не дуже корисно. Ви повинні з’єднати його з якимось додатком (userland) для запуску. Саме так роблять дистрибутиви GNU / Linux на зразок Debian або Ubuntu тощо.

Варто зазначити, що ядро ​​одночасно є важливим і неважливим. Дозвольте мені пояснити. Більшість людей, які користуються комп’ютером, звикли до області користування, а не до ядра. Ядро здебільшого прозоре, і більшість людей використовуватиме інше ядро ​​з тією ж землею користувача, і навіть не може помітити різницю (якщо, звичайно, вони не залежать від функції, яку надає певне ядро).

Тому, використовуючи Linux , ви справді використовуєте реалізацію операційної системи GNU; це ядро Linux та країна користувача GNU (GNOME, колекція компілятора GNU, відладчик GNU, GNU Coreutils, бітути GNU тощо). Тому FSF наполягає на тому, щоб називати це GNU / Linux (на мій погляд, справедливий запит).

Ви, звичайно, можете використовувати Linux без GNU userland (підказка: Android, Busybox ) і, звичайно, використовувати GNU userland на інших ядрах (kfreebsd, hurd тощо).

Що стосується Unix з відкритим кодом тощо, це питання, яке може спричинити небагато сперечань. Однак ви можете знайти тут корисну інформацію


2

Ядро Linux - це програма, яка вносить в ОС такі функції:

   зображення карти ядра Linux

оригінальне посилання на зображення: http://www.makelinux.net/kernel_map/

Ядро є важливим, і крім нього у вас є утиліти та все інше пакується програмне забезпечення. Різниця між повною ОС та ядром дорівнює решті програмного забезпечення та тому, як воно поєднується диспетчерами дистрибуції.

Ці технічні працівники не обов'язково роблять все це додаткове програмне забезпечення, вони збирають його та модифікують його іноді і складають все разом, щоб забезпечити те, що досвід Linux сьогодні для більшості людей - вони додають "аромат", так би мовити, і часто існує лінія до дуже усталених дистрибутивів, таких як Debian і Redhat тощо. Справа в тому, що значна частина початкових утиліт та програмного забезпечення, що пакуються в дистрибутивах Linux, включає програмне забезпечення, адаптоване з проекту GNU. Багато цього програмного забезпечення було зібрано проектом GNU, використовуючи свої ресурси до того, як ядро ​​Linux було навіть винайдено. І це безкоштовно, і багато цього програмного забезпечення допомогло збільшити популярність linux, оскільки вони були безкоштовними та відкритими програмами, пов'язаними ліцензією GPL. Frabework libc, робочий стіл Gnome та компілятор gcc - приклади програмного забезпечення, що підтримується GNU.

Це, звичайно, не банально, і визнати, що це не так, що політично, але є вокальні люди з обох сторін, і дебати. Незалежно від практичних застосувань, знання більше про історію програмного забезпечення в дистрибутивах, які ми використовуємо, та його творців - це дійсне завдання.


Чи можете ви надати посилання на оригінальне зображення?
heinrich5991

1
@ heinrich5991 - я додав посилання на оригінал.
slm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.