Все буде Україна!

Що таке Linux? Історія створення Linux

  Юрій  | 

  Оновл. 1 Тра 2022  | 

 63

Linux — це сімейство Unix-подібних операційних систем, які використовують ядро ​​Linux розробки фінно-американського програміста Лінуса Торвальдса. ОС, що використовують ядро ​​Linux, називаються дистрибутивами Linux, і є такими ж операційними системами як Microsoft Windows або Apple macOS, але з однією дуже важливою особливістю — їх вихідні коди є відкритими, оскільки вони поширюються під ліцензією GNU GPL, яка передбачає створення вільного та відкритого програмного забезпечення (open source software). Це означає, що будь-який користувач має право вивчати та змінювати вихідний код.

Примітка: Варто відзначити, що також є і платні дистрибутиви Linux, наприклад, Red Hat Enterprise Linux, Astra Linux Special Edition тощо.

Офіційним талісманом Linux з 1996 року є пінгвін Tux (скор. від Torvalds UniX). Ідею використання пінгвіна як талісману Linux висунув творець цього ядра Лінус Торвальдс.

Пінгвін Tux є талісманом Linux

GNU/Linux чи просто Linux?

У спільноті програмістів існує суперечка щодо назви операційних систем, які використовують ядро Linux і програмне забезпечення, розроблене під ліцензією GNU GPL. Оскільки ядро Linux саме по собі не є операційною системою, то багато хто вважає коректним використовувати термін «GNU/Linux».

Примітка: Оскільки статті циклу “Уроки по Linux” мають на меті донести простими словами про Linux-системи та їх використання для початківців, то заради збереження простоти та лаконічності ми будемо використовувати термін “Linux” для позначення операційних систем, що працюють на базі ядра Linux.

Ви можете використовувати як термін “Linux”, так і термін “GNU/Linux”.

Архітектура Linux-систем

На наступному малюнку зображена архітектура Linux-систем:

Розглянемо детально:

   “Залізо” — апаратне забезпечення комп’ютера (процесор, відеокарта, оперативна пам’ять тощо) з усіма його периферійними пристроями.

   Ядро — основний компонент операційної системи, який взаємодіє безпосередньо з апаратним забезпеченням, граючи роль посередника між низькорівневим “залізом” і компонентами верхнього рівня.

   Оболонка (або “shell”, «командний ітерпретатор») — інтерфейс для взаємодії між користувачами системи та ядром ОС. Приймає команди від користувачів і запускає відповідні функції.

   Утиліти (vi, cat, sed, date, компілятори тощо) — службові програми, які надають користувачеві більшу частину функціональних можливостей операційної системи.

Ядро Linux

Ядро — це свого роду головна програма, яка є основною частиною операційної системи. Воно виступає в ролі посередника між пристроями комп’ютера (процесором, відеокартою, оперативною пам’яттю тощо) та його програмним забезпеченням, абстрагуючи від звичайних програм і користувачів складну, низькорівневу роботу з “залізом” комп’ютера, надаючи натомість простий, зрозумілий і зручний для використання інтерфейс. Для цього в код ядра були включені драйвери пристроїв, які можуть як завантажуватися в пам’ять разом з ядром ОС, так і завантажуватися в міру виникнення потреби в ресурсах необхідного пристрою.

Примітка: Ядро Linux розроблено в 1991 году програмістом Лінусом Торвальдсом. Про це знято документальний фільм “Revolution OS” (2001 г.).

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

Як правило, більшість ядер поділяються на 3 типи:

   Мікроядро — це ядро, що складається з декількох незалежних модулів, які завантажуються в пам’ять при необхідності і виконуються в окремих адресних просторах. По суті, у такому варіанті виконання воно не дуже відрізняється від стандартних прикладних програм. До переваг даного ядра можна віднести теоретично кращу надійність у порівнянні з іншими архітектурами (насправді ж не все так просто) та його модульність (легкість у підключенні додаткових частин ядра). До мінусів мікроядерної архітектури відноситься “повільність” ядра (адже йому потрібно постійно перемикатися між окремими частинами).

   Монолітне ядро — це повна протилежність мікроядра, оскільки у пам’яті комп’ютера завжди знаходиться весь (або майже весь) код ядра, внаслідок чого швидкість його роботи вища порівняно з мікроядром.

   Гібридне ядро — це ядро, що поєднує в собі елементи як монолітної, так і мікроядерної архітектури.

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

Історія створення Linux

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

Для вирішення питання з операційною системою компанія AT&T створила операційну система Unix, яка дала старт виникненню відкритого програмного забезпечення та створенню Linux.

Виникнення Unix

У 1969 році команда розробників, яка складалася з Кена Томпсона, Денніса Рітчі та Дугласа Макілроя з дослідницького центру “Bell Labs” компанії AT&T розпочала проект по створенню єдиної операційної системи (скор. “ОС”) для всіх комп’ютерів, назвавши її “Unix”. Перша версія системи була написана на мові Асемблера. У 1972 році для того, щоб переписати систему за допомогою простішої мови програмування, Денніс Рітчі створює мову програмування Сі, завдяки чому 15 жовтня 1973 виходить нова версія Unix (четверта), ядро ​​якої було переписано на Сі. А через 2 роки (в 1975 році) з’являється вже повністю написана мовою Сі редакція Unix (п’ята).

Довгий час операційна система була лише дослідницьким проектом, але в 1973 році проходить конференція Асоціації обчислювальних машин (скор. “ACM” від Association for Computing Machinery”), на якій творці Unix розповідають про свою систему, і відразу ж отримують безліч прохань від інших людей поділитися копією. І тут варто відзначити одну дуже важливу історичну деталь, яка зіграла свою роль у подальшому розвитку подій. Справа в тому, що в 1956 році компанія AT&T (яка на той момент є монополістом на американському ринку місцевого і міжміського зв’язку) завершує черговий судовий розгляд з федеральною владою і антимонопольним комітетом з приводу свого монопольного становища, результатом якого стає підписання угоди, що накладає на AT&T обмеження щодо продажу продуктів та послуг, не пов’язаних безпосередньо з телефонами та телекомунікаціями. А це означає, що Unix не могла продаватися всім бажаючим її отримати. У зв’язку з цим фактом поширення вихідних кодів системи Unix відбувалося абсолютно безкоштовно.

Спочатку Unix використовувалася в основному в університетах та великих фінансових корпораціях. До 1978 року налічувалося близько 600 комп’ютерів із встановленою системою Unix.

Поява проекту GNU

У 1980-х роках багато компаній, серед яких IBM і HP, почали створювати свої власні (зокрема і комерційні) версії системи Unix. Це призвело до плутанини серед дистрибутивів Unix. До того ж фірми, які продають свої дистрибутиви, забороняли розповсюджувати їх вихідні коди. Через це інші програмісти не могли застосовувати вже впроваджені на той момент нові компоненти системи, і їм доводилося писати їх з нуля.

У 1982 році програміст з Массачусетського технологічного інституту Річард Столмен (Richard Stallman) стикається з проблемою того, що існуюча на той момент комерційна ліцензія програмного забезпечення, з яким він змушений працювати, обмежує свободу свого використання і не дозволяє Столмену обмінюватися вихідними кодами ПЗ навіть у стінах свого інституту.

Тому в 1983 році з метою створення доступної повноцінної Unix-подібної операційної системи з відкритими вихідними кодами, обмінюватися якою зможуть усі бажаючі, він починає розробку проекту GNU (скор. від GNU is Not Unix”).

Логотип GNU

В рамках проекту GNU створюються необхідні для розробки ядра системи компоненти: текстовий редактор Emacs, набір компіляторів gcc, інтерпретатор bash, архіватор gzip, утиліти sed, gawk, Autoconf та багато інших. Крім цього, в 1988 році з метою юридично закріпити за користувачами права на копіювання, модифікування та розповсюдження програм та вихідних кодів проекту GNU, Столменом публікується ліцензія GNU GPL (скор. від GNU General Public License” = “Загальна публічна ліцензія GNU”). Однак, незважаючи на всі його успіхи, навіть через 8 років після старту проекту, не вистачало найважливішого компонента операційної системи — її ядра…

Cтворення Linux

У січні 1991 року, фінський студент Лінус Торвальдc, перебуваючи під враженням від купленої ним книги «Проектування та реалізація операційних систем» автора Ендрю С. Таненбаума, з метою детального вивчення концепцій та будови ОС Unix, вирішує купити новий комп’ютер на базі процесора Intel 80386, на який ставить розроблену Таненбаумом навчальну ОС Minix.

Але навчальна система — вона на те й навчальна, що має низку недоліків. Зокрема, у Minix не тільки була погана емуляція терміналу, але й не було можливості перевести у фоновий режим програму, якою тимчасово не користуєшся.

І тоді в серпні 1991 року Торвальдс оголошує в мережі Usenet про те, що створює свою власну (вільну) операційну систему з відкритими вихідними кодами — Linux. Варто зазначити, що на той момент мова йшла не про повноцінну систему, а швидше про її прообраз у вигляді ядра.

   17 вересня того ж 1991 року, без будь-яких особливо публічних оголошень, виходить Linux версії 0.01.

   Незабаром після цього, 5 жовтня, Торвальдс представляє версію 0.02, яка стала першою “офіційною” версією розроблюваної системи.

   А вже 16 квітня 1994 року, коли, на думку Лінуса, система стала повністю працездатною, вийшов перший після більш ніж двох років розвитку мажорний реліз системи — Linux 1.0.

Примітка: Спочатку ОС називалася Freax, що є гібридом від англійських слів “freak” (дивак) та “free” (безкоштовний) із закінченням X, як данина операційній системі Unix. Однак саме ім’я “Linux” системі дав Арі Лемке (Ari Lemmke), який на прохання Торвальдса розмістив ОС на FTP-сервері університету в директорії linux, а не freax.

Відкриття у вільний доступ вихідних кодів операційної системи зіграло вирішальну роль в подальшому розвитку Linux. Але необхідно все-таки пам’ятати, що технічно Linux — це лише ядро, без супутніх прикладних програм. Повноцінною ОС його робить супутнє програмне забезпечення. Поки що роль такого програмного забезпечення грали компоненти навчальної системи Таненбаума.

Пізніше, коли Linux трохи “зміцнів і став на ноги”, програми з проекту GNU замінили відповідні програми з Minix, оскільки ліцензія (GNU GPL) на вихідні коди програм проекту GNU була зручнішою для використання в молодій операційній системі.

Таким чином світ отримав повноцінну діючу операційну систему під назвою “GNU/Linux”, яку ми звикли називати просто “Linux”, що складається з ядра Linux, написаного Торвальдсом, і супутнього програмного забезпечення GNU, створеного в рамках проекту Столмена.

Висновки

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

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

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (1 оцінок, середня: 5,00 з 5)
Loading...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *