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

Матеріал з Wiki TNEU
Перейти до: навігація, пошук

Історія 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 можна було придбати і окремо від книжки, він міг бути реально встановленим на персональний комп'ютер. Студенти комп'ютерних факультетів по всьому світу працювали над книгою Таненбаума, вчитуючись в коди з метою зрозуміти, як працює та сама система, яка управляє їх комп'ютером. І одним з таких студентів був Лінус Торвальдс.

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

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