Відмінності між версіями «Історія виникнення»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
м (Захист на Історія виникнення встановлено (‎[edit=sysop] (безстроково) ‎[move=sysop] (безстроково)))
 
(32 проміжні версії 2 користувачів не показані)
Рядок 1: Рядок 1:
{{Картка ОС
+
'''Історія Linux'''
|name          = Linux
+
----
|logo          = [[Файл:Tux.svg|150px|Пінгвін Tux - логотип і талісман ядра Linux]]
+
Коріння ОС Linux бере ще з 70-х років ХХ-го століття. Точкою відліку можна вважати появу операційної системи Unix в 1969-му році в США у фірмі Bell Laboratories, дочірнього підрозділу компанії AT&T. Unix стала основною для великої кількості операційних систем промислового класу.
|screenshot    =
+
|caption      = Пінгвін [[Tux]] — логотип і талісман ядра Linux
+
|website      = [http://www.kernel.org/ kernel.org]
+
|developer    = Різні компанії та особистості
+
|programmed_in =
+
|family        = [[UNIX]]-подібні
+
|working_state =
+
|source_model  = [[Вільне програмне забезпечення]]
+
|released      =
+
| latest_release_version =
+
| latest_release_date =
+
| latest_test_version =
+
| latest_test_date =
+
|marketing_target      = [[Настільний комп'ютер|Настільні комп'ютери]], [[сервер]]и, [[Вбудована система|вбудовані пристрої]]
+
|language              =
+
|prog_language          =
+
|influenced            =
+
|influenced_by          =
+
|kernel_type            = [[Монолітне ядро|Монолітне]]
+
|ui                    =
+
|license                = різні, в основному [[GNU GPL]]
+
|working_state          = активний
+
|supported_platforms    = [[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]]
+
|support status        =
+
|updatemodel            =
+
|package_manager        =
+
}}
+
: ''Ця стаття про операційні системи на основі ядра Лінукс. Для отримання інформації про саме ядро, читайте статтю [[ядро Linux]]''
+
  
'''Лі́нукс''' ([[англійська мова|англ.]] '''Linux''', також відомий, як '''GNU/Linux''') — загальна назва [[UNIX]]-подібних [[операційна система|операційних систем]] на основі [[ядро Лінукс|однойменного ядра]]. Це один із найвидатніших прикладів розробки з відкритим кодом ([[Відкрите програмне забезпечення|open source]]) та [[вільне програмне забезпечення|вільного програмного забезпечення]] (free software); на відміну від [[Власницьке програмне забезпечення|пропрієтарних]] операційних систем, на кшталт [[Microsoft Windows]] та [[MacOS X]], її вихідні коди доступні усім для використання, модифікації та розповсюдження абсолютно вільно (в т.ч. безкоштовно).
+
Linux  найбільше зобов'язаний своїм життям двом проектам - GNU та Minix.
 +
----
 +
'''GNU'''
 +
----
 +
Історія проекту GNU почалася у вересні 1983-го року. Основоположник проекту GNU, Річард Столлман (Richard M. Stallman) працював у цей час в лабораторії штучного інтелекту Массачусетського технологічного інституту (Massachusetts Institute of Technology, MIT, Cambridge, Massachusetts). Столлмана називають одним з найвидатніших програмістів нашого часу.
  
Спершу розроблювалася та використовувалася індивідуальними [[ентузіаст]]ами на [[Персональний комп'ютер|персональних комп'ютерах]], з тих пір Linux завдяки підтримці таких компаній як [[IBM]], [[Sun Microsystems]], [[Hewlett-Packard|HP]], [[Novell]] та інших, набув неабиякої популярності, як серверна операційна система; так, 8 із 10 найбільших компаній, що надають послуги [[веб-хостинг|веб-хостингу]] використовують Лінукс на своїх [[веб-сервер|веб-серверах]].
+
У тому середовищі, до якої належав Столлман, було прийнято вільно обмінюватися програмами і їх вихідними кодами. Ліцензія ж на Unix від AT&T, наприклад, коштувала 40 000 доларів. Дозволити собі купити її могли тільки досить великі фірми. А без володіння ліцензією, програміст не мав права використовувати вихідні коди системи в своїх розробках. Це перешкоджало обміну ідеями у сфері програмування і сильно гальмувало процес створення програм, оскільки замість того, щоб запозичити готовий шматок коду для вирішення того чи іншого завдання, розробник програми був змушений писати цю частину коду заново.
  
Лінукс портовано на велику кількість апаратних платформ. Тепер вона досить успішно використовується, як на [[Суперкомп'ютер|суперкомп'ютерах]], так і на [[мобільний телефон|мобільних телефонах]].
+
Столлман вирішив змінити цей стан речей в програмуванні. У 1983-му році він оголосив про початок розробки проекту GNU, метою якого було створення повністю відкритої операційної системи:
 +
----
 +
Четвер, 27 вересня 1983, 12:35:59 EST
  
Значна кількість спеціалізованих дистрибутивів Linux, котрі розробляються та підтримуються різними спільнотами, дає широкі можливості вибору програмного забезпечення.
+
'''Вільний Unix!'''
  
Станом на травень 2009 року операційні системи Linux займали долю біля 1 % світового ринку операційних систем на персональних комп’ютерах (без врахування використання на серверах та спеціалізованих пристроях)<ref>[http://marketshare.hitslink.com/os-market-share.aspx?qprid=9 Top Operating System Share Trend]</ref>.
+
Після Дня Подяки я починаю писати Unix-сумісну програмну систему GNU (Gnu's Not Unix), яку буду надавати вільно (!) Всім, хто може її використати. Потрібна допомога у вигляді часу, грошей, програм і обладнання.
  
== Історія ==
+
GNU міститиме ядро плюс всі утиліти, необхідні для того, щоб писати і запускати програми на С: редактор, оболонку, компілятор С, линкер, асемблер і ще кілька речей. Після цього будуть додані програма форматування тексту, YACC, гра Empire, електронна таблиця і сотні інших речей. Ми сподіваємося включити все, що зазвичай поставляється з Unix-системами, і все, що ще може виявитися корисним, у тому числі онлайнову і друковану документацію.
  
=== Початкова ===
+
GNU буде здатна запускати програми Unix, але не буде ідентична Unix. Ми будемо вносити в систему поліпшення, грунтуючись на нашому досвіді роботи з іншими операційними системами ...
[[Файл:Linus Torvalds.jpeg|thumb|left|[[Лінус Торвальдс]], творець ядра Лінукс]]
+
----
 +
Абревіатура GNU розшифровується як «GNU - це не Unix» (GNU is Not Unix). Unix завжди була закритим, тобто вона позбавляє своїх користувачів свободи співробітництва, а також контролю над своїми комп'ютерами (як Windows в наші дні). Трохи пізніше Столлман написав свій знаменитий Маніфест GNU, який став основою для ліцензії GPL (GNU General Public License). Роль цієї ліцензії не можна переоцінити, вона змінила всю комп'ютерну індустрію.
  
У [[1983]] році [[Столмен Річард|Річард Столмен]] заснував [[проект GNU]], з метою створення повноцінної Unix-подібної [[операційна система|операційної системи]], і наповнення її повністю [[відкрите програмне забезпечення|відкритим програмним забезпеченням]]. На самому початку 1990-х [[проект]] зібрав майже усі необхідні компоненти цієї системи: бібліотеки, [[компілятор|компілятори]], [[текстовий редактор|текстові редактори]], [[Командна оболонка Unix|командну оболонку Unix]]&nbsp;, за винятком основного компоненту&nbsp;— [[ядро (операційної системи)|ядра]]. У [[1990]] році проект почав розробку ядра [[GNU Hurd]] на основі [[мікроядро|мікроядра]] [[Mach]], однак робота розпочалася із серйозними перешкодами і просувалася досить повільно.
+
Основна ідея GPL полягає в тому, що користувач повинен володіти чотирма правами (або чотирма свободами):
 +
-Правом запускати програму для будь-яких цілей (свобода 0);
 +
-Правом вивчати пристрій програми і пристосовувати її до своїх потреб (свобода 1), що передбачає доступ до вихідного коду програми;
 +
-Правом поширювати програму, маючи можливість допомогти іншим (свобода 2);
 +
-Правом поліпшувати програму і публікувати поліпшення, на користь всієї спільноти (свобода 3), що теж передбачає доступ до вихідного коду програми.
  
Тим часом, у [[1991]] фінський студент [[Університет Гельсінкі|Університету Гельсінкі]], [[Лінус Торвальдс]], як своє хобі розпочав розробку іншого ядра. Спершу Торвальдс використовував на своєму комп'ютері [[Minix]], спрощену Unix-подібну [[операційна система|операційну систему]], розроблену [[Ендрю Таненбаум|Ендрю Тененбаумом]] з метою використання у навчальних цілях. Однак, Таненбаум не дозволив іншим розширювати його [[операційна система|операційну систему]], що спонукало Торвальдса створити заміну для [[Minix]].
+
Програмне забезпечення, яке розповсюджується під цією ліцензією, можна як завгодно використовувати, копіювати, допрацьовувати, модифікувати, передавати або продавати модифіковані (або навіть немодифіковані) версії іншим особам за умови, що результат такої переробки теж буде поширюватися під ліцензією GPL. Остання умова - найважливіше і визначальне у цій ліцензії. Вона гарантує, що результати зусиль розробників вільного ПЗ залишаться відкритими і не стануть частиною будь-якого ліценійного продукту. Воно також відрізняє тим, що розповсюджуваного безкоштовно. Одна з вимог цієї ліцензії полягає в тому, що продаючи ПЗ під ліцензією GPL, ви повинні надати вихідні коди цього ПЗ кожному, хто захоче отримати до них доступ. Ліцензія GPL «робить ПЗ вільним до змін».
  
Спершу, Торвальдс назвав своє ядро «Freax», що є схрещенням слів «free» та «freek», плюс додання літери «Х», котра часто використовується у іменах Unix-подібних операційних систем. Ім'я «Linux» придумав [[Арі Лемке]], котрий на той час адміністрував [[FTP]]-сервер [[FUNET|мережі фінських університетів]], віддав ім'я «Linux» мережі, з якої проект Торвальдса був уперше доступний для завантаження.
+
До 1990-го року в рамках проекту GNU було створено більшість компонентів, необхідних для функціонування вільної операційної системи. Крім текстового редактора Emacs, Столлман створив компілятор gcc (GNU C Compiler) і відладчик gdb. Будучи видатним програмістом, Річард Столлман поодинці зумів створити ефективний і надійний компілятор, який перевершує за своїми якостями продукти комерційних постачальників, створювані цілими групами програмістів. Оскільки спочатку при його створенні ставилося завдання забезпечення переносимості, сьогодні існують версії цього компілятора практично для всіх операційних систем. Пізніше були створені компілятори і для інших мов програмування, включаючи C++, Pascal та Fortran. Тому зараз абревіатура GCC розшифровується як GNU Compiler Collection.
  
[[Файл:Unix history.en.svg|thumb|300px|Графічна історія [[Unix]] систем. Лінукс є Unix-подібною операційною системою, однак її код не було запозичено з оригінальної Unix]]
+
Як пише Річард Столлман: «До 1990-го року система GNU була практично закінчена, не вистачало тільки одного з базових компонентів - ядра." Очікувалося, що ядро (воно отримало назву Hurd) буде реалізовано як набір серверних процесів, що працюють на Mach - мікроядрі , що створюється в Університеті Карнегі-Меллона, а потім в Університеті штату Юта. Початок розробки відкладалося в очікуванні випуску Mach, яке, як було обіцяно, буде випущено у вигляді вільно поширюваного програмного забезпечення. Але його поява все відкладалося, і тут з'явилося ядро, розроблене фінським студентом Линусом Торвальдсом, що отримало назву Linux. Лінус створив його в спробах удосконалити свою домашню операційну систему Minix, про яку варто згадати окремо.
На початку для налаштування та встановлення Лінукс був потрібен [[комп'ютер]] під керівництвом [[Minix]]. Перші версії Лінукс також вимагали присутності на [[твердий диск|твердому диску]] іншої [[операційна система|операційної системи]] для здійснення завантаження, але пізніше з'явилися незалежні завантажувачі, на кшталт [[LILO]]. Лінукс швидко перевершила [[Minix]] у функціональності; Торвальдс та інші ранні розробники ядра адаптували свою роботу для компонентів GNU та користувацького програмного забезпечення, задля створення завершеної, повнофункціональної, вільної операційної системи.
+
----
 +
'''Minix'''
 +
----
 +
Протягом 1990-х років персональні комп'ютери на основі мікропроцесора Intel, оснащені операційними системами від Microsoft, зайняли панівне становище на ринку настільних систем і захопили також істотну частку ринку серверів - традиційної сфери застосування Unix-систем. Комп'ютери на основі Intel та Intel-сумісних процесорів досягли обчислювальної потужності, порівнянної з потужністю робочих станцій з Unix. Але більшість комерційних Unix-систем не мали версії, здатні працювати на обладнанні Intel. Виробники Unix зазвичай тісно співпрацювали з виробниками конкретних процесорів або навіть мали частку власності в компаніях, які виробляли ці процесори, а тому були зацікавлені у використанні своїх власних розробок. Прикладами можуть служити лінійки процесорів SGI і MIPS.
 +
Оскільки апаратні можливості ПК стрімко зростали, природньо, то рано, чи пізно повинні були з'явитися варіанти Unix для комп'ютерів на основі Intel-сумісних процесорів. Один з таких варіантів Unix-подібної операційної системи, який зіграв особливу роль в історії Linux, був розроблений в січні 1987-го року Е.Таненбаумом (Andrew S. Tanenbaum), професором Університету Вріе, Амстердам, Нідерланди. Таненбаум був одним з провідних фахівців в області розробки операційних систем. Свою операційну систему Minix (Мінікс) він розробив як навчальний посібник, на прикладі якого показував студентам внутрішній устрій реальної операційної системи.
  
Сьогодні [[Лінус Торвальдс|Торвальдс]] продовжує координувати процес розробки ядра, у той час, як інші підсистеми, як то компоненти GNU продовжують розвиватися окремо (розвиток ядра Лінукс не є частиною проекту GNU). Інші спільноти і компанії комбінують і поширюють усі ці компоненти із додатковим [[прикладне програмне забезпечення|прикладним програмним забезпеченням]] у вигляді [[дистрибутиви Лінукс|дистрибутивів Лінукс]].
+
Звичайно, як операційна система, Minix не була вершиною досконалості. Вона була орієнтована на мікропроцесор Intel 80286, який в той час панував на ринку. Але в неї було одне дуже важливе якість - відкриті вихідні коди. Кожен, хто мав книгу Таненбаума «Операційні системи», міг вивчити і проаналізувати 12000 рядків коду, написаного на мові С і на асемблері. Це був той рідкісний випадок, коли вихідні коди не були замкнені під сімома печатками в сейфах розробника. Чудовий автор, Таненбаум зумів залучити найвидатніші уми комп'ютерної науки в обговорення мистецтва створення операційних систем. Minix можна було придбати і окремо від книжки, він міг бути реально встановленим на персональний комп'ютер. Студенти комп'ютерних факультетів по всьому світу працювали над книгою Таненбаума, вчитуючись в коди з метою зрозуміти, як працює та сама система, яка управляє їх комп'ютером. І одним з таких студентів був Лінус Торвальдс.
 +
----
 +
'''Linux'''
 +
----
 +
У 1991-му році, Лінус Торвальдс, фінський студент, надзвичайно захопився ідеєю написати сумісне з Unix ядро операційної системи для свого персонального комп'ютера з процесором Intel. Прототипом для майбутнього ядра стала операційна система Minix: сумісна з Unix операційна система для персональних комп'ютерів, яка завантажувалася з дискет і вміщувалася в дуже обмеженою у ті часи пам'яті персонального комп'ютера.
  
=== Лінукс та Проект GNU ===
+
Нова система отримала назву «Linux». Самого Торвальдса трохи бентежило співзвуччя цієї назви з його ім'ям, тому він намагався назвати свою розробку Freax. Ця назва можна виявити у файлі kernl/Makefile версії 0.11, і у вихідних кодах інших програм. Але Арі Лемке, який надав місце для викладання системи на FTP сайті, назвав каталог pub/OS/Linux. І ця назва закріпилася за нової ОС.
[[Файл:Richard Stallman at Marlboro College.jpg|thumb|[[Річард Столмен]], засновник проекту [[GNU]]]]
+
Метою [[Проект GNU|проекту GNU]] є створення Unix-сумісної операційної системи, що складається цілковито з [[вільне програмне забезпечення|вільного програмного забезпечення]], і найуніверсальніші дистрибутиви Лінукс залежать від бібліотек GNU та програмного інструментарію написаного у межах даного проекту. [[Free Software Foundation]] розглядає усі ці дистрибутиви Лінукс, як «варіанти» системи GNU, і просить, щоб усі ці операційні системи відносили до GNU/Linux або Лінукс систем на основі GNU. Хоча деякі дистрибутиви, наприклад [[Debian GNU/Linux]], використовують таку назву, її використання за межами спільноти ентузіастів є дещо обмеженим, і [[Лінус Торвальдс]] назвав даний заклик [[FSF]] ''«просто смішним»''. Однією з причин використання простішої назви (Лінукс) є те, що відмінності між ядром операційної системи та її дистрибутивом заплутують новачків.
+
  
=== Судовий процес з SCO ===
+
Той факт, що Лінус виклав код своєї ОС в інтернет, був вирішальним у подальшій долі Linux. Хоча в 1991-му році Інтернет ще не був так широко поширений, як у наші дні, зате користувалися ним в основному люди, які мають достатню технічну підготовку. І вже з самого початку Торвальдс отримав кілька зацікавлених відгуків.
У березні 2003 року [[SCO Group]] розпочала судовий процес проти [[IBM]], стверджуючи, що [[IBM]] додала до [[Лінукс (ядро)|ядра Лінукс]] код, авторські права на який належать [[SCO Group]], і порушила таким чином умови ліцензії на використання [[Unix]]. Додатково, [[SCO Group|SCO]] надіслала лист декільком великим компаніям із попередженням, що використання ними Лінукс без відповідної ліцензії SCO може стати причиною судового переслідування. Даний лист став наслідком появи припущення про можливість появи судових позовів проти рядових користувачів Лінукс. Ця дискусія втягнула у судовий процес [[AutoZone]] та [[Red Hat]]. Питання про те, чи дійсно SCO володіє авторським правом на [[Unix]] є спірним, і наразі заперечується компанією [[Novell]].
+
  
[[3 липня]] [[2006]] року окружний суд штату [[Юта]] відхилив 182 із 294 заяв поданих [[SCO Group]] проти [[IBM]].
+
Приблизно в лютому 1992-го року Лінус висловив прохання до всіх, хто вже користувався або тестував Linux, надіслати йому листівку. Таких листівок було отримано кілька сотень з усіх кінців світу - з Нової Зеландії, Японії, Нідерландів, США. Це говорило про те, що Linux почала набувати певної популярності.
  
До цих пір [[SCO Group]] не надала жодного доказу стосовно наявності у неї авторських прав на присутній у [[Лінукс (ядро)|ядрі Лінукс]] код.
+
Спочатку до розробки приєдналися сотні, потім тисячі, потім сотні тисяч добровільних помічників. Система вже не була просто іграшкою для хакерів. Доповнена масою програм, розроблених в рамках проекту GNU, ОС Linux стала придатна для практичного використання. А те, що ядро системи поширювалося під ліцензією GNU General Public License, гарантувало, що вихідні коди системи залишаться вільними, тобто зможуть копіюватися, вивчатися і модифікуватися без побоювання нарватися на яку-небудь переслідування з боку розробника або якоїсь комерційної фірми. Цей факт привертав до лав користувачів і прихильників Linux все нових послідовників, в першу чергу з числа студентів і програмістів.
  
=== Хто створює Лінукс ===
+
До цього часу сформувалася окрема конференція в інтернеті, присвячена Linux, - comp.os.linux. Ентузіасти утворили безліч груп користувачів і на початку 1994-го року вийшов перший номер журналу «Linux Journal». Linux привернула увагу промислових фірм і кілька невеликих компаній почали розробляти і продавати власні версії Linux.
GNU/Linux&nbsp;— складна [[система]], що включає тисячі різних пакетів, від найпоширеніших, таких, як утиліти [[GNU]], [[X.org]], графічні середовища [[GNOME]] і [[KDE]], до специфічних для якогось одного з дистрибутивів. Команди розробників кожного проекту відрізняються чисельністю, підходом до роботи, інструментами, що застосовуються, і методами планування робіт. При цьому ядро Linux займає особливе місце серед всіх інших застосувань. Від нього залежить можливість роботи системи GNU/Linux на різних апаратних платформах і ступінь підтримки різних пристроїв. Тому характеристики процесу його розробки можуть, якоюсь мірою, служити індикатором для всієї системи GNU/Linux.
+
  
[[Linux Foundation]] провело дослідження<ref>[http://www.linux-foundation.org/publications/linuxkerneldevelopment.php Linux Kernel Development (звіт, квітень 2008)]</ref>, що охоплює трирічний період розробки ядра (від версії 2.6.11 до версії 2.6.24) і фокусується на таких характеристиках, як частота релізів і змін, розмір початкових текстів ядра, і найголовніше, дозволяє отримати уявлення про тих, хто зрештою розробляє ядро Linux.
+
Спочатку Лінус Торвальдс не хотів продавати свою розробку. І не хотів, щоб її продавав хтось інший. Це було чітко прописано в повідомленні про авторські права, вміщеному в файл COPYING самої першої версії - 0.01. Причому вимога Лінуса накладало значно жорсткіші обмеження на поширення Linux, ніж ті, які проголошувалися в ліцензії GNU: не дозволялося стягувати ніяких грошей за передачу або використання Linux. Але вже в лютому 1992-го року до нього стали звертатися за дозволом брати плату за розповсюдження дискет з Linux, щоб покрити тимчасові витрати і вартість дискет. Крім того, необхідно було рахуватися і з тим, що при створенні Linux використовувалося безліч вільно розповсюджуваних по Інтернету інструментів, найважливішим з яких був компілятор GCC. Авторські права на нього обумовлені в суспільному ліцензії GPL, яку винайшов Річард Столлман. Торвальдсу довелося переглянути свою заяву про авторські права, і, починаючи з версії 0.12, він теж перейшов на використання ліцензії GPL.
  
[[Статистика]] показує, що, в середньому, кожен новий реліз ядра виходить раз на 2,5&nbsp;— 3 місяці (60&nbsp;— 110 днів). В першу чергу це пов'язано з вибраною в 2005&nbsp;р. моделлю розробки, направленою на зведення до мінімуму тривалості проміжків між розробкою нових функцій, появою підтримки нових пристроїв і включенням їх в ядро; а також що зводить до мінімуму потребу творців дистрибутивів в модифікаціях ядра.
+
З технічної точки зору, Linux являє собою тільки ядро Unix-подібної операційної системи, що відповідає за взаємодію з апаратною частиною комп'ютера і виконання таких завдань, як розподіл пам'яті виділення процесорного часу різними програмами і так далі. Крім ядра, операційна система включає в себе безліч різних утиліт, які служать для організації взаємодії користувача з системою. Успіх Linux як операційної системи багато в чому обумовлений тим, що до 1991-го року в рамках проекту GNU вже було розроблено безліч утиліт, вільно розповсюджуваних в інтернеті. Проекту GNU не вистачало ядра, а ядро, швидше за все, залишилося б незадіяним, якщо б були відсутні необхідні для роботи утиліти. Лінус Торвальдс опинився зі своєю розробкою в потрібному місці в потрібний час. І Річард Столлман правий, коли стам наполягати на тому, що операційну систему слід називати не Linux, а GNU/Linux. Але назва Linux історично закріпилося за цією ОС, тому ми теж будемо називати її просто Linux (не забуваючи про заслуги Столлман і його попередників).
  
При цьому число латок (патчів), що вносяться до ядра, має тенденцію до зростання. Зводячи воєдино ці дві характеристики, можна відзначити, що, в середньому, до ядра вноситься 2,83 патча за годину, при цьому, в рядках коду щодня в ядро додається понад 3 тис. рядків, більше 1,4 тис. рядків модифікується. Число розробників, що взяли участь у випуску версії 2.6.24, більш ніж вдвічі перевищило цей показник для версії 2.6.11 і склало 1057 чоловік.
+
----
 
+
При цьому, проте, всього 10 провідних розробників спільно внесли майже 15 % змін, а 30 провідних розробників&nbsp;— 30 %. Це, однак, не означає, що поширене в деяких кругах уявлення про Linux як про систему, що розробляється аматорами, правильне. Не зважаючи, що далеко не у всіх компаній, що займаються вільним ПЗ, є необхідність вносити зміни до ядра, число компаній, що беруть участь в його розробці, росте. Чотири найбільші компанії-розробники ядра&nbsp;— [[Red Hat]], [[Novell]], [[IBM]] і [[Intel]]&nbsp;— внесли більше 32 % зроблених за час дослідження змін, а сумарний відсоток змін в ядро, внесених розробниками, що працюють на компанії, склав більше 70 %.
+
 
+
При цьому серед компаній, що беруть участь в розробці ядра, виділяється декілька груп по основній меті участі в розробці. Це група компаній, що включає IBM, Intel, HP, SGI, MIPS та інших, яка орієнтується в основному на підтримку роботи Linux на власному устаткуванні. [[Дистриб'ютор]]и, такі, як Red Hat, Novell, MontaVista мають на меті додавання в ядро можливостей, на які існує попит серед користувачів, і які підсилюють конкурентоспроможність дистрибутивів як кінцевих продуктів. Такі компанії, як [[Sony]], [[Nokia]], [[Samsung]] працюють над ядром для поліпшення роботи систем на базі ядра Linux у власних пристроях.
+
 
+
<table class="wikitable" width="80%" align="center">
+
<caption>Компанії, які найактивніше здійснюють доопрацювання ядра Linux</caption>
+
<tr>
+
<th>Назва компанії</th>
+
<th>Кількість змін</th>
+
<th>% від загального числа змін</th>
+
</tr>
+
<tr>
+
<td>Приватні користувачі</td>
+
<td>11,594</td>
+
<td>13.9%</td>
+
</tr>
+
<tr>
+
<td>Назва не визначена</td>
+
<td>10,803</td>
+
<td>12.9%</td>
+
</tr>
+
<tr>
+
<td>[[Red Hat]]</td>
+
<td>9,351</td>
+
<td>11.2%</td>
+
</tr>
+
<tr>
+
<td>[[Novell]]</td>
+
<td>7,385</td>
+
<td>8.9%</td>
+
</tr>
+
<tr>
+
<td>[[IBM]]</td>
+
<td>6,952</td>
+
<td>8.3%</td>
+
</tr>
+
<tr>
+
<td>[[Intel]]</td>
+
<td>3,388</td>
+
<td>4.1%</td>
+
</tr>
+
<tr>
+
<td>[[Linux Foundation]]</td>
+
<td>2,160</td>
+
<td>2.6%</td>
+
</tr>
+
<tr>
+
<td>[[Consultant]]</td>
+
<td>2,055</td>
+
<td>2.5%</td>
+
</tr>
+
<tr>
+
<td>[[SGI]]</td>
+
<td>1,649</td>
+
<td>2.0%</td>
+
</tr>
+
<tr>
+
<td>[[MIPS Technologies]]</td>
+
<td>1,341</td>
+
<td>1.6%</td>
+
</tr>
+
<tr>
+
<td>[[Oracle]]</td>
+
<td>1,122</td>
+
<td>1.3%</td>
+
</tr>
+
<tr>
+
<td>[[MontaVista]]</td>
+
<td>1,010</td>
+
<td>1.2%</td>
+
</tr>
+
<tr>
+
<td>[[Google]]</td>
+
<td>965</td>
+
<td>1.1%</td>
+
</tr>
+
<tr>
+
<td>[[Linutronix]]</td>
+
<td>817</td>
+
<td>1.0%</td>
+
</tr>
+
<tr>
+
<td>[[HP]]</td>
+
<td>765</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[NetApp]]</td>
+
<td>764</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[SWsoft]]</td>
+
<td>762</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[Renesas Technology]]</td>
+
<td>759</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[Freescale]]</td>
+
<td>730</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[Astaro]]</td>
+
<td>715</td>
+
<td>0.9%</td>
+
</tr>
+
<tr>
+
<td>[[Academia]]</td>
+
<td>656</td>
+
<td>0.8%</td>
+
</tr>
+
<tr>
+
<td>[[Cisco]]</td>
+
<td>442</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[Simtec]]</td>
+
<td>437</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[Linux Networx]]</td>
+
<td>434</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[QLogic]]</td>
+
<td>398</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[Fujitsu]]</td>
+
<td>389</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[Broadcom]]</td>
+
<td>385</td>
+
<td>0.5%</td>
+
</tr>
+
<tr>
+
<td>[[Analog Devices]]</td>
+
<td>358</td>
+
<td>0.4%</td>
+
</tr>
+
<tr>
+
<td>[[Mandriva]]</td>
+
<td>329</td>
+
<td>0.4%</td>
+
</tr>
+
<tr>
+
<td>[[Mellanox]]</td>
+
<td>294</td>
+
<td>0.4%</td>
+
</tr>
+
<tr>
+
<td>[[Snapgear]]</td>
+
<td>285</td>
+
<td>0.3%</td>
+
</tr>
+
</table>
+
 
+
Таким чином, з дослідження Linux Foundation можна зробити висновок, що ядро Linux є безпрецедентним прикладом успішної співпраці різних за розміром і виробленою продукцією компаній і індивідуальних розробників. Кількість цих розробників і розподіл їх внеску в розробку може служити, в деякому розумінні, гарантією стабільності і незалежності розробки. Це наочно демонструє переваги як відкритої моделі розробки в цілому, так і гарантій, що надаються розробникам і кінцевим користувачам самою концепцією вільного ПЗ, закріпленою в ліцензії GNU GPL.
+
 
+
Також доступні новіші версії статистики для ядер 2.6.30 та 2.6.33<ref>http://lwn.net/Articles/334721/</ref><ref>http://lwn.net/Articles/373405/</ref>{{ref-en}}.
+

Поточна версія на 23:55, 20 вересня 2012

Історія Linux


Коріння ОС Linux бере ще з 70-х років ХХ-го століття. Точкою відліку можна вважати появу операційної системи Unix в 1969-му році в США у фірмі Bell Laboratories, дочірнього підрозділу компанії AT&T. Unix стала основною для великої кількості операційних систем промислового класу.

Linux найбільше зобов'язаний своїм життям двом проектам - GNU та Minix.


GNU


Історія проекту GNU почалася у вересні 1983-го року. Основоположник проекту GNU, Річард Столлман (Richard M. Stallman) працював у цей час в лабораторії штучного інтелекту Массачусетського технологічного інституту (Massachusetts Institute of Technology, MIT, Cambridge, Massachusetts). Столлмана називають одним з найвидатніших програмістів нашого часу.

У тому середовищі, до якої належав Столлман, було прийнято вільно обмінюватися програмами і їх вихідними кодами. Ліцензія ж на Unix від AT&T, наприклад, коштувала 40 000 доларів. Дозволити собі купити її могли тільки досить великі фірми. А без володіння ліцензією, програміст не мав права використовувати вихідні коди системи в своїх розробках. Це перешкоджало обміну ідеями у сфері програмування і сильно гальмувало процес створення програм, оскільки замість того, щоб запозичити готовий шматок коду для вирішення того чи іншого завдання, розробник програми був змушений писати цю частину коду заново.

Столлман вирішив змінити цей стан речей в програмуванні. У 1983-му році він оголосив про початок розробки проекту GNU, метою якого було створення повністю відкритої операційної системи:


Четвер, 27 вересня 1983, 12:35:59 EST

Вільний Unix!

Після Дня Подяки я починаю писати Unix-сумісну програмну систему GNU (Gnu's Not Unix), яку буду надавати вільно (!) Всім, хто може її використати. Потрібна допомога у вигляді часу, грошей, програм і обладнання.

GNU міститиме ядро плюс всі утиліти, необхідні для того, щоб писати і запускати програми на С: редактор, оболонку, компілятор С, линкер, асемблер і ще кілька речей. Після цього будуть додані програма форматування тексту, YACC, гра Empire, електронна таблиця і сотні інших речей. Ми сподіваємося включити все, що зазвичай поставляється з Unix-системами, і все, що ще може виявитися корисним, у тому числі онлайнову і друковану документацію.

GNU буде здатна запускати програми Unix, але не буде ідентична Unix. Ми будемо вносити в систему поліпшення, грунтуючись на нашому досвіді роботи з іншими операційними системами ...


Абревіатура GNU розшифровується як «GNU - це не Unix» (GNU is Not Unix). Unix завжди була закритим, тобто вона позбавляє своїх користувачів свободи співробітництва, а також контролю над своїми комп'ютерами (як Windows в наші дні). Трохи пізніше Столлман написав свій знаменитий Маніфест GNU, який став основою для ліцензії GPL (GNU General Public License). Роль цієї ліцензії не можна переоцінити, вона змінила всю комп'ютерну індустрію.

Основна ідея GPL полягає в тому, що користувач повинен володіти чотирма правами (або чотирма свободами): -Правом запускати програму для будь-яких цілей (свобода 0); -Правом вивчати пристрій програми і пристосовувати її до своїх потреб (свобода 1), що передбачає доступ до вихідного коду програми; -Правом поширювати програму, маючи можливість допомогти іншим (свобода 2); -Правом поліпшувати програму і публікувати поліпшення, на користь всієї спільноти (свобода 3), що теж передбачає доступ до вихідного коду програми.

Програмне забезпечення, яке розповсюджується під цією ліцензією, можна як завгодно використовувати, копіювати, допрацьовувати, модифікувати, передавати або продавати модифіковані (або навіть немодифіковані) версії іншим особам за умови, що результат такої переробки теж буде поширюватися під ліцензією GPL. Остання умова - найважливіше і визначальне у цій ліцензії. Вона гарантує, що результати зусиль розробників вільного ПЗ залишаться відкритими і не стануть частиною будь-якого ліценійного продукту. Воно також відрізняє тим, що розповсюджуваного безкоштовно. Одна з вимог цієї ліцензії полягає в тому, що продаючи ПЗ під ліцензією GPL, ви повинні надати вихідні коди цього ПЗ кожному, хто захоче отримати до них доступ. Ліцензія GPL «робить ПЗ вільним до змін».

До 1990-го року в рамках проекту GNU було створено більшість компонентів, необхідних для функціонування вільної операційної системи. Крім текстового редактора Emacs, Столлман створив компілятор gcc (GNU C Compiler) і відладчик gdb. Будучи видатним програмістом, Річард Столлман поодинці зумів створити ефективний і надійний компілятор, який перевершує за своїми якостями продукти комерційних постачальників, створювані цілими групами програмістів. Оскільки спочатку при його створенні ставилося завдання забезпечення переносимості, сьогодні існують версії цього компілятора практично для всіх операційних систем. Пізніше були створені компілятори і для інших мов програмування, включаючи C++, Pascal та Fortran. Тому зараз абревіатура GCC розшифровується як GNU Compiler Collection.

Як пише Річард Столлман: «До 1990-го року система GNU була практично закінчена, не вистачало тільки одного з базових компонентів - ядра." Очікувалося, що ядро (воно отримало назву Hurd) буде реалізовано як набір серверних процесів, що працюють на Mach - мікроядрі , що створюється в Університеті Карнегі-Меллона, а потім в Університеті штату Юта. Початок розробки відкладалося в очікуванні випуску Mach, яке, як було обіцяно, буде випущено у вигляді вільно поширюваного програмного забезпечення. Але його поява все відкладалося, і тут з'явилося ядро, розроблене фінським студентом Линусом Торвальдсом, що отримало назву Linux. Лінус створив його в спробах удосконалити свою домашню операційну систему Minix, про яку варто згадати окремо.


Minix


Протягом 1990-х років персональні комп'ютери на основі мікропроцесора Intel, оснащені операційними системами від Microsoft, зайняли панівне становище на ринку настільних систем і захопили також істотну частку ринку серверів - традиційної сфери застосування Unix-систем. Комп'ютери на основі Intel та Intel-сумісних процесорів досягли обчислювальної потужності, порівнянної з потужністю робочих станцій з Unix. Але більшість комерційних Unix-систем не мали версії, здатні працювати на обладнанні Intel. Виробники Unix зазвичай тісно співпрацювали з виробниками конкретних процесорів або навіть мали частку власності в компаніях, які виробляли ці процесори, а тому були зацікавлені у використанні своїх власних розробок. Прикладами можуть служити лінійки процесорів SGI і MIPS. Оскільки апаратні можливості ПК стрімко зростали, природньо, то рано, чи пізно повинні були з'явитися варіанти Unix для комп'ютерів на основі Intel-сумісних процесорів. Один з таких варіантів Unix-подібної операційної системи, який зіграв особливу роль в історії Linux, був розроблений в січні 1987-го року Е.Таненбаумом (Andrew S. Tanenbaum), професором Університету Вріе, Амстердам, Нідерланди. Таненбаум був одним з провідних фахівців в області розробки операційних систем. Свою операційну систему Minix (Мінікс) він розробив як навчальний посібник, на прикладі якого показував студентам внутрішній устрій реальної операційної системи.

Звичайно, як операційна система, Minix не була вершиною досконалості. Вона була орієнтована на мікропроцесор Intel 80286, який в той час панував на ринку. Але в неї було одне дуже важливе якість - відкриті вихідні коди. Кожен, хто мав книгу Таненбаума «Операційні системи», міг вивчити і проаналізувати 12000 рядків коду, написаного на мові С і на асемблері. Це був той рідкісний випадок, коли вихідні коди не були замкнені під сімома печатками в сейфах розробника. Чудовий автор, Таненбаум зумів залучити найвидатніші уми комп'ютерної науки в обговорення мистецтва створення операційних систем. Minix можна було придбати і окремо від книжки, він міг бути реально встановленим на персональний комп'ютер. Студенти комп'ютерних факультетів по всьому світу працювали над книгою Таненбаума, вчитуючись в коди з метою зрозуміти, як працює та сама система, яка управляє їх комп'ютером. І одним з таких студентів був Лінус Торвальдс.


Linux


У 1991-му році, Лінус Торвальдс, фінський студент, надзвичайно захопився ідеєю написати сумісне з Unix ядро операційної системи для свого персонального комп'ютера з процесором Intel. Прототипом для майбутнього ядра стала операційна система Minix: сумісна з Unix операційна система для персональних комп'ютерів, яка завантажувалася з дискет і вміщувалася в дуже обмеженою у ті часи пам'яті персонального комп'ютера.

Нова система отримала назву «Linux». Самого Торвальдса трохи бентежило співзвуччя цієї назви з його ім'ям, тому він намагався назвати свою розробку Freax. Ця назва можна виявити у файлі kernl/Makefile версії 0.11, і у вихідних кодах інших програм. Але Арі Лемке, який надав місце для викладання системи на FTP сайті, назвав каталог pub/OS/Linux. І ця назва закріпилася за нової ОС.

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

Приблизно в лютому 1992-го року Лінус висловив прохання до всіх, хто вже користувався або тестував Linux, надіслати йому листівку. Таких листівок було отримано кілька сотень з усіх кінців світу - з Нової Зеландії, Японії, Нідерландів, США. Це говорило про те, що Linux почала набувати певної популярності.

Спочатку до розробки приєдналися сотні, потім тисячі, потім сотні тисяч добровільних помічників. Система вже не була просто іграшкою для хакерів. Доповнена масою програм, розроблених в рамках проекту GNU, ОС Linux стала придатна для практичного використання. А те, що ядро системи поширювалося під ліцензією GNU General Public License, гарантувало, що вихідні коди системи залишаться вільними, тобто зможуть копіюватися, вивчатися і модифікуватися без побоювання нарватися на яку-небудь переслідування з боку розробника або якоїсь комерційної фірми. Цей факт привертав до лав користувачів і прихильників Linux все нових послідовників, в першу чергу з числа студентів і програмістів.

До цього часу сформувалася окрема конференція в інтернеті, присвячена Linux, - comp.os.linux. Ентузіасти утворили безліч груп користувачів і на початку 1994-го року вийшов перший номер журналу «Linux Journal». Linux привернула увагу промислових фірм і кілька невеликих компаній почали розробляти і продавати власні версії Linux.

Спочатку Лінус Торвальдс не хотів продавати свою розробку. І не хотів, щоб її продавав хтось інший. Це було чітко прописано в повідомленні про авторські права, вміщеному в файл COPYING самої першої версії - 0.01. Причому вимога Лінуса накладало значно жорсткіші обмеження на поширення Linux, ніж ті, які проголошувалися в ліцензії GNU: не дозволялося стягувати ніяких грошей за передачу або використання Linux. Але вже в лютому 1992-го року до нього стали звертатися за дозволом брати плату за розповсюдження дискет з Linux, щоб покрити тимчасові витрати і вартість дискет. Крім того, необхідно було рахуватися і з тим, що при створенні Linux використовувалося безліч вільно розповсюджуваних по Інтернету інструментів, найважливішим з яких був компілятор GCC. Авторські права на нього обумовлені в суспільному ліцензії GPL, яку винайшов Річард Столлман. Торвальдсу довелося переглянути свою заяву про авторські права, і, починаючи з версії 0.12, він теж перейшов на використання ліцензії GPL.

З технічної точки зору, Linux являє собою тільки ядро Unix-подібної операційної системи, що відповідає за взаємодію з апаратною частиною комп'ютера і виконання таких завдань, як розподіл пам'яті виділення процесорного часу різними програмами і так далі. Крім ядра, операційна система включає в себе безліч різних утиліт, які служать для організації взаємодії користувача з системою. Успіх Linux як операційної системи багато в чому обумовлений тим, що до 1991-го року в рамках проекту GNU вже було розроблено безліч утиліт, вільно розповсюджуваних в інтернеті. Проекту GNU не вистачало ядра, а ядро, швидше за все, залишилося б незадіяним, якщо б були відсутні необхідні для роботи утиліти. Лінус Торвальдс опинився зі своєю розробкою в потрібному місці в потрібний час. І Річард Столлман правий, коли стам наполягати на тому, що операційну систему слід називати не Linux, а GNU/Linux. Але назва Linux історично закріпилося за цією ОС, тому ми теж будемо називати її просто Linux (не забуваючи про заслуги Столлман і його попередників).


Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти