Linux

Linux
Пінгвін Tux — логотип і талісман ядра Linux
GNU and Tux.svg
Пінгвін Tux — логотип і талісман ядра Linux
Розробник Різні компанії та особистості
Родина ОС UNIX-подібні
Стан проекту активний
Модель коду Вільне програмне забезпечення
Початковий випуск 17 вересня 1991
Ринкова ніша Настільні комп'ютери, сервери, вбудовані пристрої
Платформи, що підтримуються DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8/300, Itanium, M32R, m68k, Microblaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa
Тип ядра Монолітне
Ліцензія різні, в основному GNU GPL
Веб-сайт kernel.org

CMNS:  Linux на Вікісховищі
Ця стаття про операційні системи на основі ядра Лінукс. Для отримання інформації про саме ядро, читайте статтю ядро Linux

Лі́нукс ( англ. Linux, повна назва — GNU/Linux) — загальна назва UNIX-подібних операційних систем на основі однойменного ядра. Це один із найвидатніших прикладів розробки вільного (free) та відкритого (з відкритим кодом, open source) програмного забезпечення (software). На відміну від власницьких операційних систем (на кшталт Microsoft Windows та MacOS X), їх вихідні коди доступні усім для використання, зміни та розповсюдження абсолютно вільно (в тому числі безкоштовно).

Linux, спершу розроблений для використання окремими ентузіастами на своїх персональних комп'ютерах, пізніше, завдяки підтримці таких компаній, як IBM, Sun Microsystems, HP, Novell та інших, набув неабиякої популярності як серверна операційна система (так, 8 із 10 найбільших компаній, що надають послуги веб-хостингу, використовують Лінукс на своїх веб-серверах).

Лінукс портовано на велику кількість апаратних платформ. Тепер ця ОС досить успішно використовується як на мейнфреймах та суперкомп'ютерах, так і вбудована в багато інших пристроїв ( смартфони, планшетні ПК, маршрутизатори комп'ютерних мереж ( роутери), пристрої автоматики, системи управління телевізорами та ігровими консолями тощо). Від середини 1990-х років Linux все частіше встановлюється і на настільні комп'ютери. Так, станом на березень 2015 року його частка складала 1,21 % світового ринку операційних систем на персональних комп'ютерах (без урахування використання на серверах та спеціалізованих пристроях) [1].

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

Історія

Початкова

Лінус Торвальдс, творець ядра Лінукс

У 1983 році Річард Столмен заснував проект GNU, щоб створити повноцінну Unix-подібну операційну систему і наповнити її лише відкритим програмним забезпеченням. На початок 1990-х проект зібрав майже всі необхідні компоненти цієї системи: бібліотеки, компілятори, текстові редактори, командну оболонку Unix, — за винятком основного компоненту — ядра. У 1990 році проект почав розробку ядра GNU Hurd на основі мікроядра Mach, однак робота розпочалась із серйозними перешкодами і просувалася досить повільно.

Тим часом, 1991 р., Лінус Торвальдс ( англ. Linus Torvalds), фінський студент Університету Гельсінкі, як своє хобі розпочав розробку іншого ядра. Спершу Торвальдс використовував на своєму комп'ютері Minix — спрощену Unix-подібну операційну систему, розроблену Ендрю Таненбаумом для навчання. Однак, Таненбаум не дозволив іншим розширювати його операційну систему, що спонукало Торвальдса створити заміну для Minix.

Спершу Торвальдс назвав своє ядро «Freax», що є схрещенням слів «free» та «freak», плюс додання літери «Х», котра часто використовується у іменах Unix-подібних операційних систем. Назву «Linux» придумав Арі Лемке, котрий на той час адміністрував FTP-сервер мережі фінських університетів, він дав назву «Linux» мережі, з якої проект Торвальдса був уперше доступний для завантаження.

Графічна історія Unix систем. Лінукс є Unix-подібною операційною системою, однак її код не було запозичено з оригінальної Unix.

На початку для налаштування та встановлення Лінукс був потрібен комп'ютер під керівництвом Minix. Перші версії Лінукса також вимагали наявності на твердому диску іншої операційної системи для здійснення завантаження, але пізніше з'явилися незалежні завантажувачі на кшталт LILO. Функціональність Лінукс швидко перевершила можливості Minix; Торвальдс та інші ранні розробники ядра адаптували свою роботу для компонентів GNU та користувацького програмного забезпечення задля створення завершеної, повнофункціональної, вільної операційної системи.

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

Лінукс та Проект GNU

Річард Столмен, засновник проекту GNU

Метою проекту GNU є створення Unix-сумісної операційної системи, що складається цілковито з вільного програмного забезпечення. Навіть найуніверсальніші дистрибутиви Лінукс залежать від бібліотек та програмного інструментарію, написаного в межах проекту GNU. Free Software Foundation (FSF) розглядає всі ці дистрибутиви Лінукс, як «варіанти» системи GNU, і просить, щоб усі ці операційні системи відносили до GNU/Linux або Лінукс системи на основі GNU. Хоча деякі дистрибутиви, наприклад Debian GNU/Linux, використовують таку назву, її використання за межами спільноти ентузіастів є дещо обмеженим, і Лінус Торвальдс назвав цей заклик FSF «просто смішним». Однією з причин використання простішої назви «Лінукс» є те, що відмінності між ядром операційної системи та її дистрибутивом заплутують новачків.

Судовий процес зі SCO

Докладніше: Конфлікт SCO—Linux

У березні 2003 року SCO Group (американська компанія-розробник системного й прикладного програмного забезпечення) розпочала судовий процес проти IBM, стверджуючи, що IBM додала до ядра Лінукс код, авторські права на який належать SCO Group, порушивши таким чином умови ліцензії на використання Unix. Додатково, SCO надіслала лист кільком великим компаніям із попередженням, що використання ними Лінукс без відповідної ліцензії SCO може стати причиною судового переслідування. Цей лист став наслідком появи припущення про можливість появи судових позовів проти пересічних користувачів Лінукс. Ця дискусія втягнула в судовий процес AutoZone та Red Hat. Питання про те, чи дійсно SCO володіє авторським правом на Unix, є спірним, і заперечується компанією Novell.

3 липня 2006 року окружний суд штату Юта відхилив 182 із 294 заяв, поданих SCO Group проти IBM.

Досі SCO Group не надала жодного доказу стосовно наявності в неї авторських прав на присутній у ядрі Лінукс код.

Хто створює Лінукс

GNU/Linux — складна система, що включає тисячі різних пакунків: від найпоширеніших (таких, як утиліти GNU, X.org, графічні середовища GNOME і KDE) до специфічних для якогось конкретного дистрибутиву. Команди розробників кожного проекту відрізняються чисельністю, підходом до роботи, застосованими інструментами і методами планування робіт. При цьому ядро Linux займає особливе місце серед усіх інших застосувань. Від нього залежить можливість роботи системи GNU/Linux на різних апаратних платформах і рівень підтримки різних пристроїв, тому характеристики процесу його розробки можуть якоюсь мірою слугувати індикатором для всієї системи GNU/Linux.

Linux Foundation провела дослідження [2], що охоплює трирічний період розробки ядра (від версії 2.6.11 до версії 2.6.24) і фокусується на таких характеристиках, як частота релізів і змін, розмір початкових текстів ядра, і, найголовніше, дозволяє отримати уявлення про тих, хто, зрештою, розробляє ядро Linux.

Статистика показує, що, в середньому, кожен новий реліз ядра виходить раз на 2,5 — 3 місяці (60 — 110 днів). В першу чергу це пов'язано з вибраною в 2005 р. моделлю розробки, спрямованою на зведення до мінімуму тривалості проміжків між розробкою нових функцій, на зменшення потреби творців дистрибутивів у модифікаціях ядра, а також появою підтримки нових пристроїв і включенням їх у ядро.

При цьому число латок (патчів), що вносяться до ядра, має тенденцію до зростання. Зводячи воєдино ці дві характеристики, можна відзначити, що, в середньому, до ядра вноситься 2,83 латки за годину, при цьому в код ядра щодня додається понад 3 тис. рядків і понад 1,4 тис. рядків модифікується. Число розробників, що взяли участь у випуску версії 2.6.24, більш ніж удвічі перевищило цей показник для версії 2.6.11 і склало 1057 чоловік.

При цьому, проте, всього 10 провідних розробників спільно внесли майже 15 % змін, а 30 провідних розробників — 30 %. Це, однак, не означає, що поширене в деяких колах уявлення про Linux, як про систему, що розробляється аматорами, правильне. Незважаючи на те, що далеко не в усіх компаній, що займаються вільним ПЗ, є необхідність вносити зміни до ядра, число таких, що беруть участь у його розробці, росте. Чотири найбільші компанії-розробники ядра — Red Hat, Novell, IBM і Intel — внесли понад 32 % зроблених за час дослідження змін, а сумарний відсоток змін ядра, внесених розробниками, що працюють на компанії, становить понад 70 %.

При цьому серед компаній, що беруть участь у розробці ядра, виділяється декілька груп за основною метою участі в розробці:

  • Група компаній, що включає IBM, Intel, HP, SGI, MIPS та інших, яка орієнтується в основному на підтримку роботи Linux на власному устаткуванні.
  • Дистриб'ютори, — такі, як Red Hat, Novell, MontaVista — мають на меті додавання в ядро можливостей, на які існує попит серед користувачів, і які підсилюють конкурентоспроможність дистрибутивів як кінцевих продуктів.
  • Такі компанії, як Sony, Nokia, Samsung, Google працюють над ядром для поліпшення роботи систем на базі ядра Linux у власних пристроях.


Компанії, які найактивніше здійснюють доопрацювання ядра Linux
Назва компанії Кількість змін % від загального числа змін
Приватні користувачі 11,594 13.9 %
Назва не визначена 10,803 12.9 %
Red Hat 9,351 11.2 %
Novell 7,385 8.9 %
IBM 6,952 8.3 %
Intel 3,388 4.1 %
Linux Foundation 2,160 2.6 %
Consultant 2,055 2.5 %
SGI 1,649 2.0 %
MIPS Technologies 1,341 1.6 %
Oracle 1,122 1.3 %
MontaVista 1,010 1.2 %
Google 965 1.1 %
Linutronix 817 1.0 %
HP 765 0.9 %
NetApp 764 0.9 %
SWsoft 762 0.9 %
Renesas Technology 759 0.9 %
Freescale 730 0.9 %
Astaro 715 0.9 %
Academia 656 0.8 %
Cisco 442 0.5 %
Simtec 437 0.5 %
Linux Networx 434 0.5 %
QLogic 398 0.5 %
Fujitsu 389 0.5 %
Broadcom 385 0.5 %
Analog Devices 358 0.4 %
Mandriva 329 0.4 %
Mellanox 294 0.4 %
Snapgear 285 0.3 %

Таким чином, із дослідження Linux Foundation можна зробити висновок, що ядро Linux є безпрецедентним прикладом успішної співпраці різних за розміром і виробленою продукцією компаній та індивідуальних розробників. Кількість цих розробників і розподіл їх внеску в розробку може служити, в деякому розумінні, гарантією стабільності й незалежності розробки. Це наочно демонструє переваги як відкритої моделі розробки в цілому, так і гарантій, що надаються розробникам і кінцевим користувачам самою концепцією вільного ПЗ, закріпленою в ліцензії GNU GPL.

Також доступні новіші версії статистики для ядер 2.6.30 та 2.6.33 [3] [4].

інші мови
Afrikaans: Linux
Alemannisch: Linux
አማርኛ: ሊኑክስ
aragonés: Linux
العربية: جنو/لينكس
ܐܪܡܝܐ: ܠܝܢܘܟܣ
مصرى: لينكس
অসমীয়া: লীনাক্স
asturianu: Linux
azərbaycanca: Linux
تۆرکجه: لینوکس
Boarisch: Linux
žemaitėška: Linux
беларуская: Linux
беларуская (тарашкевіца)‎: Linux
български: Линукс
বাংলা: লিনাক্স
brezhoneg: Linux
bosanski: Linux
ᨅᨔ ᨕᨘᨁᨗ: Linux
Mìng-dĕ̤ng-ngṳ̄: Linux
Cebuano: Linux
کوردی: لینوکس
corsu: Linux
čeština: Linux
kaszëbsczi: Linux
Cymraeg: Linux
dansk: Linux
Deutsch: Linux
dolnoserbski: Linux
Ελληνικά: Linux
English: Linux
Esperanto: Linukso
eesti: Linux
euskara: Linux
فارسی: لینوکس
suomi: Linux
Võro: Linux
français: Linux
Gaeilge: Linux
galego: Linux
客家語/Hak-kâ-ngî: Linux
עברית: לינוקס
हिन्दी: लिनक्स
hrvatski: Linux
hornjoserbsce: Linux
Kreyòl ayisyen: Linux
magyar: Linux
Հայերեն: Լինուքս
interlingua: Linux
Bahasa Indonesia: Linux
Ido: Linux
íslenska: Linux
italiano: Linux
日本語: Linux
la .lojban.: linuks
Basa Jawa: Linux
ქართული: Linux
Qaraqalpaqsha: Linux
қазақша: Linux
ភាសាខ្មែរ: លីនុច
ಕನ್ನಡ: ಲಿನಕ್ಸ್
한국어: 리눅스
Kurdî: Linux
Кыргызча: Linux
Latina: Linux
Lëtzebuergesch: Linux
lumbaart: Linux
lingála: Linux
lietuvių: Linux
latviešu: GNU/Linux
Basa Banyumasan: Linux
Malagasy: Linux
македонски: Линукс
монгол: Линукс
मराठी: लिनक्स
Bahasa Melayu: Linux
မြန်မာဘာသာ: လင်းနပ်စ်
Plattdüütsch: Linux
Nedersaksies: Linux
नेपाली: लिनक्स
नेपाल भाषा: लाइनक्स
Nederlands: Linux
norsk nynorsk: Linux
occitan: Linux
ଓଡ଼ିଆ: ଲିନକ୍ସ
Ирон: Линукс
ਪੰਜਾਬੀ: ਲਿਨਅਕਸ
polski: Linux
پنجابی: لینکس
português: Linux
Runa Simi: Linux
română: Linux
русский: Linux
русиньскый: Лінукс
саха тыла: Linux
sardu: Linux
sicilianu: Linux
Scots: Linux
srpskohrvatski / српскохрватски: Linux
සිංහල: ලිනක්ස්
Simple English: Linux
slovenščina: Linux
Soomaaliga: Linux
shqip: Linux
српски / srpski: Линукс
Seeltersk: Linux
svenska: Linux
ślůnski: Linux
தமிழ்: லினக்சு
తెలుగు: లినక్స్
tetun: Linux
Tagalog: Linux
Türkçe: Linux
татарча/tatarça: Linux
удмурт: Linux
اردو: لینکس
vèneto: Linux
vepsän kel’: Linux
Tiếng Việt: Linux
West-Vlams: Linux
walon: Linux
Winaray: Linux
Wolof: Linux
吴语: Linux
მარგალური: Linux
ייִדיש: לינוקס
Yorùbá: Linux
Zeêuws: Linux
中文: Linux
文言: 林納斯
Bân-lâm-gú: Linux
粵語: Linux