Linux
Лі́нукс (англ. Linux, повна назва — GNU/Linux) — загальна назва UNIX-подібних операційних систем на основі однойменного ядра. Це один із найвидатніших прикладів розробки вільного (free) та відкритого (з відкритим кодом, open source) програмного забезпечення (software). На відміну від власницьких операційних систем (на кшталт Microsoft Windows та MacOS X), їхні вихідні коди доступні всім для використання, зміни та поширення абсолютно вільно (в тому числі безкоштовно).
Пінгвін Tux — логотип і талісман ядра Linux | |
Розробник | Різні компанії та особистості |
---|---|
Родина ОС | UNIX-подібні |
Стан проєкту | активний |
Модель коду | Вільне програмне забезпечення |
Початковий випуск | 17 вересня 1991[1] |
Ринкова ніша | Настільні комп'ютери, сервери, вбудовані пристрої |
Доступні мови програмування | C і асемблер |
Платформи, що підтримуються | 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
Linux, спершу розроблений для використання окремими ентузіастами на своїх персональних комп'ютерах, пізніше, завдяки підтримці таких компаній, як IBM, Sun Microsystems, HP, Novell та інших, набув неабиякої популярності як серверна операційна система (так, 8 із 10 найбільших компаній, що надають послуги вебхостингу, використовують Лінукс на своїх вебсерверах).
Лінукс портовано на велику кількість апаратних платформ. Тепер ця ОС досить успішно використовується як на мейнфреймах та суперкомп'ютерах, так і вбудована в багато інших пристроїв (смартфони, планшетні ПК, маршрутизатори комп'ютерних мереж (роутери), пристрої автоматики, системи керування телевізорами та ігровими консолями тощо). Від середини 1990-х років Linux все частіше встановлюється і на настільні комп'ютери. Так, станом на березень 2015 року його частка складала 1,21 % світового ринку операційних систем на персональних комп'ютерах (без урахування використання на серверах та спеціалізованих пристроях)[2].
Значна кількість спеціалізованих дистрибутивів Linux, які розробляють та підтримують різні спільноти, надає широкі можливості вибору програмного забезпечення.
Історія
Початкова
У 1983 році Річард Столмен заснував проєкт GNU, щоб створити повноцінну Unix-подібну операційну систему і наповнити її лише відкритим програмним забезпеченням. На початок 1990-х проєкт зібрав майже всі необхідні компоненти цієї системи: бібліотеки, компілятори, текстові редактори, командну оболонку Unix, — за винятком основного компоненту — ядра. У 1990 році проєкт почав розробку ядра GNU Hurd на основі мікроядра Mach, однак робота розпочалась із серйозними перешкодами і просувалася досить повільно.
Водночас 1991 року Лінус Торвальдс (англ. Linus Torvalds), фінський студент Університету Гельсінкі, як своє хобі розпочав розробку іншого ядра. Спершу Торвальдс використовував на своєму комп'ютері Minix — спрощену Unix-подібну операційну систему, розроблену Ендрю Таненбаумом для навчання. Однак, Таненбаум не дозволив іншим розширювати його операційну систему, що спонукало Торвальдса створити заміну для Minix.
Спершу Торвальдс назвав своє ядро «Freax», що є схрещенням слів «free» та «freak», плюс додання літери «Х», котра часто використовується в іменах Unix-подібних операційних систем. Назву «Linux» придумав Арі Лемке, котрий на той час адміністрував FTP-сервер мережі фінських університетів, він дав назву «Linux» мережі, з якої проєкт Торвальдса був уперше доступний для завантаження.
На початку для налаштування та встановлення Лінукс був потрібен комп'ютер під керівництвом Minix. Перші версії Лінукса також вимагали наявності на твердому диску іншої операційної системи для здійснення завантаження, але пізніше з'явилися незалежні завантажувачі на кшталт LILO. Функціональність Лінукс швидко перевершила можливості Minix; Торвальдс та інші ранні розробники ядра адаптували свою роботу для компонентів GNU та користувацького програмного забезпечення задля створення завершеної, повнофункціональної, вільної операційної системи.
Сьогодні Торвальдс продовжує координувати процес розробки ядра, а інші підсистеми (як то компоненти GNU) розвиваються окремо (робота над ядром Лінукс не є частиною проєкту GNU). Різні спільноти й компанії комбінують і поширюють усі ці компоненти разом із додатковим прикладним програмним забезпеченням, знані як дистрибутиви Лінукс.
Лінукс та Проєкт GNU
Метою проєкту GNU є створення Unix-сумісної операційної системи, що складається цілковито з вільного програмного забезпечення. Навіть найуніверсальніші дистрибутиви Лінукс залежать від бібліотек та програмного інструментарію, написаного в межах проєкту GNU. Free Software Foundation (FSF) розглядає всі ці дистрибутиви Лінукс, як «варіанти» системи GNU, і просить, щоб усі ці операційні системи відносили до GNU/Linux або Лінукс системи на основі GNU. Хоча деякі дистрибутиви, наприклад Debian GNU/Linux, використовують таку назву, її використання за межами спільноти ентузіастів є дещо обмеженим, і Лінус Торвальдс назвав цей заклик FSF «просто смішним». Однією з причин використання простішої назви «Лінукс» є те, що відмінності між ядром операційної системи та її дистрибутивом заплутують новачків.
Судовий процес зі SCO
У березні 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 провела дослідження[3], що охоплює трирічний період розробки ядра (від версії 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 у власних пристроях.
Назва компанії | Кількість змін | % від загального числа змін |
---|---|---|
Приватні користувачі | 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 % |
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[4][5].
Мобільність
Ядро Лінукс спочатку проєктувалося для мікропроцесорів Intel 80386, однак, наразі підтримує чималу кількість комп'ютерних архітектур. Лінукс входить до списку операційних систем, котрі працюють на найбільшій кількості архітектур — від кишенькових комп'ютерів iPAQ на основі ARM до мейнфреймів, на кшталт IBM System z9. Спеціалізовані дистрибутиви розповсюджують для значно меншої кількості архітектур.
Авторське право і ліцензія
Ядро Лінукс та більшість програмного забезпечення GNU розповсюджується під ліцензією GNU General Public License (GNU 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.[6][7] В патентах фігурують одні з перших згадок технологій створення динамічного вебвмісту, які передбачили появу таких систем, як 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 найпотужніших комп'ютерів світу 2019 року 500 (100 %) використовують Лінукс як свою операційну систему.
Ігрова консоль 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 означає, що, незважаючи на існування великої кількості графічних утиліт для налаштування системи, прості текстові файли й досі використовуються для зберігання цих налаштувань, і доступ до них, з дозволу адміністратора, може отримати будь-який користувач.
Ринкова частка
Згідно з результатами дослідження ринку компанією IDC у 2004 році, 25 % серверів та 2,8 % персональних комп'ютерів працюють під управлінням ОС Лінукс. Аналітики пояснюють такий успіх її безпекою, надійністю та низькою вартістю у поєднані зі свободою у модифікації вихідних кодів системи. Основними факторами, що заважають подальшому розвитку Лінукс, є відсутність підтримки цієї ОС розробниками деякого апаратного забезпечення та чималої кількості програмного забезпечення, створеного для Microsoft Windows, до якого звикла велика кількість користувачів (переважно ігри та власницьке ПЗ).
У 2008 році Стів Балмер (Microsoft) оцінив у 60 % частку ОС GNU/Linux серед серверних систем у світі[8].
Ринок Лінукс росте стрімкими темпами як для серверів, так і для персональних комп'ютерів, і, за деякими оцінками, у 2012 році сягне майже 7,7[9] мільярда доларів США.
З листопада 2017 Лінукс, як операційна система, повністю домінує на суперкомп'ютерах. Із 500 найпотужніших 100% використовують[10] саме цю ОС. Станом на Листопад 2019 статистика не змінилася. Перший суперкомп'ютер на базі Лінукс з'явився ще в 1998 році.
Інсталяція
Найпоширенішим методом установлення Лінукс на персональні комп'ютери є завантаження з CD- або DVD-дисків, котрі містять інсталятор та готове до інсталяції програмне забезпечення. Такий компакт-диск може бути записаний із завантаженого ISO-образу, придбаний (за практично символічною ціною) або взятий у будь-кого.
Як і сервери, персональні комп'ютери з уже інстальованим дистрибутивом Лінукс поширюються такими компаніями, як Hewlett-Packard та Dell, хоча й переважно для своїх бізнес-клієнтів.
Альтернативою стандартній інсталяції операційної системи є можливість встановлення її на тонкий клієнт. За цим методом операційна система завантажується з одного з комп'ютерів мережі. Це дозволяє зменшувати кошторис одного комп'ютеризованого робочого місця.
У вбудованих пристроях Лінукс зазвичай знаходиться у firmware і не завжди доступний для здійснення змін.
Програмування для Linux
GNU Compiler Collection (GCC) є стандартним сімейством компіляторів для більшості Лінукс-систем. Окрім того, GCC забезпечує frontend для С, C++ та Java. Більшість дистрибутивів містить у собі встановлені інтерпретатори Perl, Python та інших сценарійних мов.
Існує ряд середовищ для розробки (IDE): KDevelop, Eclipse, NetBeans, Lazarus та інші; також доступні й традиційні текстові редактори, як Emacs та Vim чи редактор, вбудований у Midnight Commander.
Двома поширеними бібліотеками розробки візуальних елементів для створення графічних інтерфейсів користувача є Qt та GTK+.
Технічна підтримка
Технічну підтримку надають інші користувачі Лінукс, зазвичай на вебфорумах, списках поштових розсилок, групах новин тощо.
Бізнес-модель багатьох комерційних постачальників дистрибутивів Лінукс значною мірою залежить від надання ними професійної технічної підтримки. Ряд компаній пропонують спеціальні версії своїх дистрибутивів, до складу яких входять пропрієтарні пакунки та утиліти для полегшення встановлення та налаштування системи.
Виноски
- https://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b
- Top Operating System Share Trend(англ.)
- Linux Kernel Development (звіт, квітень 2008) Архівовано 5 квітня 2008 у Wayback Machine.(англ.)
- Архівована копія. Архів оригіналу за 21 червня 2010. Процитовано 26 травня 2010.(англ.)
- Архівована копія. Архів оригіналу за 27 травня 2010. Процитовано 26 травня 2010.(англ.)
- Open Invention Network Announces Purchase of Fundamental Patent Portfolio and Recognizes Fred DuFresne as a Key Distinguished Inventor Архівовано 10 листопада 2011 у Wayback Machine.(англ.)
- В руки OIN перешли патенты, связанные с технологиями разработки web-скриптов(рос.)
- Ballmer Still Searching for an Answer to Google(англ.)
- http://www.securitylab.ru/news/348549.php?page=user&id=47169 К 2012 году рынок Linux утроится (рос.)
- http://i.top500.org/stats Архівовано 2 листопада 2019 у Wayback Machine. TOP500 Statistics (англ.)
Див. також
Посилання
- Сайт ядра Лінукс(англ.)
- Домашня вебсторінка Лінукс(англ.)
- The Linux Documentation Project(англ.)