Linux

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Linux
Пінгвін Tux — логотип і талісман ядра Linux
Розробник Різні компанії та особистості
Родина ОС UNIX-подібні
Стан проекту активний
Модель сирцевого коду Вільне програмне забезпечення
Ринкова ніша Настільні комп'ютери, сервери, вбудовані пристрої
Платформи, що підтримуються 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
Ця стаття про операційні системи на основі ядра Лінукс. Для отримання інформації про саме ядро, читайте статтю ядро Linux

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

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

Лінукс портовано на велику кількість апаратних платформ. Тепер вона досить успішно використовується як на суперкомп'ютерах, так і на смартфонах.

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

Станом на травень 2009 року операційні системи Linux займали частку близько 1 % світового ринку операційних систем на персональних комп'ютерах (без врахування використання на серверах та спеціалізованих пристроях)[1].

Історія[ред.ред. код]

Початкова[ред.ред. код]

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

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

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

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

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

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

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

Лінукс та Проект GNU[ред.ред. код]

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

Метою проекту GNU є створення Unix-сумісної операційної системи, що складається цілковито з вільного програмного забезпечення. Навіть найуніверсальніші дистрибутиви Лінукс залежать від бібліотек GNU та програмного інструментарію написаного у межах даного проекту. Free Software Foundation розглядає усі ці дистрибутиви Лінукс, як «варіанти» системи 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 працюють над ядром для поліпшення роботи систем на базі ядра 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](англ.).

Мобільність[ред.ред. код]

КПК Sharp Zaurus SL-5500, що працює під управлінням Лінукс

Ядро лінукс спочатку проектувалося для мікропроцесорів Intel 80386, однак, наразі підтримує чималу кількість комп'ютерних архітектур. Лінукс входить до списку операційних систем, котрі працюють на найбільшій кількості архітектур — від кишенькових комп'ютерів iPAQ на основі ARM до мейнфреймів, на кшталт IBM System z9. Спеціалізовані дистрибутиви розповсюджують для значно меншої кількості архітектур.

Авторське право і ліцензія[ред.ред. код]

Ядро Лінукс та більшість програмного забезпечення GNU розповсюджується під ліцензією GNU General Public License (GNU GPL). Ліцензія GPL вимагає, щоб усі зміни, що вносяться до джерельних текстів програмного забезпечення також розповсюджувалися під ліцензією GPL. У 1997 році Лінус Торвальдс заявив, що «Випуск Лінукс під ліцензією GPL, певно, найкраще, що я зробив». Інше програмне забезпечення може використовувати інші ліцензії; багато бібліотек використовують GNU Lesser General Public License (LGPL), ліберальніший варіант GPL, а X Window System використовує ліцензію MIT.

Торгова марка Лінукс[ред.ред. код]

У США ім'я Linux є зареєстрованою торговою маркою, власником якої є Лінус Торвальдс. Спочатку, ніхто її не реєстрував, але 15 серпня 1994 року Вільгельм Р. Дела Крос, Молодший зареєстрував торгову марку Linux, а потім вимагав авторські гонорари від розповсюджувачів Лінукс. У 1996 Торвальдс і деякі організації, подали позов до суду з вимогою передати права на торгову марку Торвальдсу, і в 1997 конфлікт був врегульований на користь останнього.

Ліцензуванням торгової марки наразі керує Linux Mark Institute. Торвальдс заявив, що отримав права на торгову марку винятково для того, щоб перешкодити будь-кому вимагати за її використання гроші, але був «притиснутий» Законом США про торгові марки. В результаті, LMI надіслала ряд листів до продавців дистрибутивів з «вимогою» сплатити грошовий збір і ряд компаній поступилися.

Захист Linux[ред.ред. код]

Заснований у 2007 консорціум Linux Foundation захищає Лінукса шляхом підтримки ключових розробників Лінукса і надання юридичних послуг. Linux Foundation розпоряджається торговою маркою «Linux» і надає розробникам юридичний захист інтелектуальної власності за допомогою таких проектів, як Open Source as Prior Art, Patent Commons Project, і спонсорства в Linux Legal Defense Fund.

У 2005 році IBM, Novell, Philips, Red Hat і Sony заснували компанію Open Invention Network, скорочено OIN, (укр. Мережа відкритих винаходів) для формування портфеля патентів, який можна було б використати з метою захисту екосистеми Linux від патентних позовів. Цей портфель патентів використовують усі члени OIN на основі безплатного ліцензування. Пізніше до засновників приєдналися власники патентів NEC та Google. У 2007 році компанія Oracle ліцензувала патенти OIN, таким чином погодившись не використати патенти проти середовища на основі GNU/Linux, включаючи своїх конкурентів MySQL і PostgreSQL, в тих випадках, коли вони використовуються у складі систем GNU/Linux.

У 2011 році Open Invention Network оголосила про перехід в її руки низки патентів, пов'язаних з ранніми розробками організації WebMate Foundation.[5][6] В патентах фігурують одні з перших згадок технологій створення динамічного веб-вмісту, які передбачили появу таких систем, як ASP від ​​Microsoft, JSP від ​​Sun/Oracle і PHP.

Вимова[ред.ред. код]

У 1992 Торвальдс пояснив, як він вимовляє слово Linux:

'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc. 'nux' is also short, non-diphthong, like in pUt {IPA /ʊ/}. It's partly due to minix: linux was just my working name for the thing, and as I wrote it to replace minix on my system, the result is what it is… linus' minix became linux.

— Linus Torvalds ,  comp.os.linux newsgroup

Програмне забезпечення[ред.ред. код]

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

Низька вартість та висока гнучкість сприяли використанню лінукс у вбудованих системах, як то мобільні телефони, кишенькові ПК та інші ручні пристрої. Linux став конкурентом на цій арені для пропрієтарної ОС Symbian, котра застосовується у мільйонах мобільних телефонів, і відмінною альтернативою домінуючим на ринку Windows CE та Palm OS. Популярний декодер цифрового відео TiVo використовує дещо модифіковану версію лінукс. Деякі брандмауери та маршрутизатори, зокрема декілька моделей виробництва Linksys також працюють під управлінням Лінукс.

Лінукс усе частіше використовується на суперкомп'ютерах. У списку 500 найпотужніших комп'ютерів світу 2005 року, 371 (74.2 %) працювали під управлінням лінукс, їм же належать 1 та 2 місця даного списку, та 7 місць із перших десяти.

Ігрова консоль PlayStation 3 за замовчуванням працюватиме під Лінукс. Компанія Sony заздалегідь випустила PS2 Linux для PlayStation 2. Такі розробники ігор, як Atari та id Software випускають свою продукцію для операційної системи Лінукс. Linux Game Publishing також займається переносом ігор з Microsoft Windows на Лінукс.

Проект Ноутбук за 100 доларів, метою котрого є забезпечення усіх дітей комп'ютерами задля допомоги у розвитку бідних та малорозвинених націй використовує Лінукс, як основну операційну систему.

Дистрибутиви[ред.ред. код]

Ядро лінукс за звичай використовується, як частина дистрибутиву лінукс. Їх компілюють окремі ентузіасти, спільнота та комерційні підприємства. Як правило, до їхнього складу входить додаткове системне та користувацьке програмне забезпечення, встановлювач і вбудований керівник встановлення та оновлення програмного забезпечення. Дистрибутиви створюються з багатьма цілями, на кшталт підтримки певної архітектури, локалізації для специфічного регіону або мови, для вбудованих та систем реального часу; багато з них свідомо включають винятково відкрите програмне забезпечення. Наразі відомо понад 300 дистрибутивів, що стабільно розвиваються, серед них близько 15 найпопулярніших — для універсального використання.

Типові дистрибутиви для універсального використання включають у себе ядро лінукс, утиліти та бібліотеки GNU, командні оболонки, X Window System, і стільничне середовище, на кшталт KDE та GNOME, разом із сотнями, а то й тисячами пакунків із різноманітним програмним забезпеченням, від простих текстових редакторів до наборів офісного ПЗ, компіляторів та наукового інструментарію.

Використання на робочих місцях[ред.ред. код]

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

Останні роки цей стереотип швидко розвінчується. Тепер Лінукс може використовувати графічний користувацький інтерфейс анітрохи не гірший за той, що використовують інші популярні операційні системи, на кшталт Microsoft Windows та MacOS X. Хоча, для Лінукс досі не створені повнофункціональні аналоги деякого спеціалізованого програмного забезпечення, однак, загалом ситуація є досить непоганою, і більшість необхідних програм наявні у надлишку. Чимало компаній починають випуск своєї продукції і для Лінукс, а спеціально створені емулятори та середовища виконання (наприклад, Wine) дозволять використовувати розроблене для Microsoft Windows ПЗ в Лінуксі.

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

Ринкова частка[7][ред.ред. код]

Згідно з результатами дослідження ринку компанією IDC у 2004 році, 25 % серверів та 2.8 % персональних комп'ютерів працюють під управлінням Лінукс. Аналітики пояснюють такий успіх її безпекою, надійністю та низькою вартістю у поєднані зі свободою у модифікації вихідних кодів системи. Основними факторами що заважають подальшому розвитку Лінуксу є відсутність підтримки деякого апаратного забезпечення та чималої кількості програмного забезпечення, розробленого для Microsoft Windows, до якого звикла велика кількість користувачів — переважно ігри та власницьке ПЗ.

У 2008 році Стів Балмер (Мікрософт) оцінив у 60% частку ОС GNU/Linux серед серверних систем в світі[8].

Ринок Лінукс росте стрімкими темпами, як для серверів, так і для персональних комп'ютерів, і за деякими оцінками у 2012 році сягне майже 7,7[9] мільярдів доларів США.

Станом на червень 2012, Лінукс як операційна система практично повністю домінує на суперкомп'ютерах. З 500 найпотужніших, 92,4 % використовують[10] саме цю ОС.

Інсталяція[ред.ред. код]

Найпоширенішим методом інсталяції Лінукс на персональні комп'ютери є завантаження з CD-ROM дисків, котрі містять інсталятор та готове до інсталяції програмне забезпечення. Такий компакт-диск може бути записаний із завантаженого ISO образу, придбаний (за низьку ціну) або взятий у будь-кого.

Як і сервери, персональні комп'ютери із вже інстальованим дистрибутивом Лінукс розповсюджуються такими компаніями, як Hewlett-Packard та Dell, хоча й переважно для своїх бізнес-клієнтів.

Альтернативою стандартній інсталяції операційної системи є можливість її інсталяції на тонкого клієнта. За цим методом операційна система завантажується з одного з комп'ютерів в мережі. Це дозволяє зменшувати кошторис одного комп'ютеризованого робочого місця.

У вбудованих пристроях Лінукс зазвичай знаходиться у firmware і не завжди доступний для здійснення змін.

Програмування для Linux[ред.ред. код]

Eclipse 3.3 в Ubuntu Linux

GNU Compiler Collection (GCC) є стандартним сімейством компіляторів для більшості Лінукс-систем. Окрім того, GCC забезпечує frontend для С, C++ та Java. Більшість дистрибутивів включають у себе встановлені інтерпретатори Perl, Python та інших сценарійних мов.

Існує ряд середовищ для розробки (IDE): KDevelop, Eclipse, NetBeans, Lazarus та інші; також доступні і традиційні текстові редактори, як Emacs та Vim.

Двома поширеними бібліотеками розробки візуальних елементів для створення графічних інтерфейсів користувача є Qt та GTK+.

Технічна підтримка[ред.ред. код]

Технічну підтримку надають інші користувачі лінукс, зазвичай на веб-форумах, списках поштових розсилок, групах новин тощо.

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

Виноски[ред.ред. код]

Див. також[ред.ред. код]

Посилання[ред.ред. код]

Українські ресурси інтернет[ред.ред. код]