Історія виникнення

Матеріал з Wiki TNEU
Версія від 23:55, 20 вересня 2012; Donserg (Обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Історія 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 (не забуваючи про заслуги Столлман і його попередників).


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

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