Операційна система Linux



Сергей Киселев

Вступ про Linux і не тільки


Цей чоловік в окремих уявленнях не потребує! Він вже писав для нашого сайту цикл статей про Євро 2012 (фінальної частини чемпіонату європи з футболу), що проходила в нашому рідному місті Львові.

На цей раз він вирішив написати для нашого сайту нову статтю, присвячену операційній системі Linux (Лінукс), яку ми з задоволенням і відкриваємо новий розділ на сайті!

Щось на зразок змісту:

  • Витоки річки Linux.
  • Розпушування ґрунту для "ядерного письменника".
  • Альтернативне ядро і чому саме Торвальдс?
  • Феномен розвитку GNU/Linux.
  • Сьогоднішнє становище Linux на ринку електронних пристроїв.
  • Термінологія: Open Source або Free software?
  • На чому заробляють Linux компанії.
  • Висновок. А ти - встановив Linux?
  • Витоки річки Linux


    Река LINUX

    Ми всі знаємо, що Linux це - круто... він виконує нескінченні цикли за 5 секунд
    Лінус Торвальдс про переваги Linux на Amsterdam Linux Symposium.

    Звідки і чому з'явився Linux? Так, це питання іноді мучить продавців у відділах збуту якоїсь корпорації (тієї в якій співробітники, граючи в дартс, на мішенях використовують фото автора Linux), а також частини власників акцій згаданої "майже монополії". Втім, таке питання з'являється не тільки у них. Отже, звідки? З славного минулого, звичайно!

    Адже як було раніше: програму писали в машинних кодах, а це процес повільний і трудомісткий. "Старалися" і виробники самих обчислювальних машин, радуючи користувачів, різноманітністю і вдосконаленням апаратної частини («заліза») обчислювальних комплексів. Також ускладнювалися і самі користувальницькі програми - все це призвело до появи операційних систем (ОС) - комплексу системних програм для взаємодії користувачів (нас з Вами) з комп'ютером. ОС абстрагировали нас від нюансів функціонування «заліза» пк і значної частини рутини, при написанні самих програм.

    Операційних систем було предостатньо. Виділимо ОС Multics, що зробила великий вплив на комп'ютерну індустрію в середині 60-х років. Концепції і багато ідеї Multics використовуються донині в сучасних ОС.

    Кілька людей, які розробляли ОС Multics, стали займатися новою ОС. Так в кінці 60-х років була написана перша версія ОС "UNICS" (Uniplexed Information and Computing System - односложная інформаційна та обчислювальна служба) пізніше назва перетворилася на відоме всім - UNIX.

    Потім з'явилася версія UNIX на мові високого рівня Сі, що спрощувало перенесення цієї ОС на нове «залізо» і, в кінцевому підсумку, сприяло стрімкому зростанню її популярності. Не довелося довго чекати і комерційних версій UNIX.

    З появою програмних продуктів виникає природне бажання, причетних до їх появи, увічнити авторство над ними. Першою ластівкою умовно можна вважати стрічку з комп'ютерною програмою, надану на реєстрацію у Copyright Office в США 30 листопада 1961 року.

    Що за звір такий цей "copyright"?


    Знак копирайта

    В англійській мові слово "копірайт" позначає дію, яка може проводитися тільки автором, або з дозволу автора. Символ копірайту" © підтверджує право поширення, але ніяк не володіння авторськими правами. Наприклад, автор програми, за яку замовник заплатив гроші, таки є її автором, але замовник, забезпечивши програму охоронним знаком ©, має право на її поширення.

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

    Виробники комп'ютерів і ПЗ для захисту своїх інтересів починають лякати користувачів ліцензією - своєрідним договором між власником авторських прав і користувачем (покупцем) програмного забезпечення. Користувач при цьому, мабуть, повинен прийняти вид кота, якому пообіцяли більше ніколи не давати сметану, піджати "хвіст" і витягнутися? :)

    Фото - кликабельно:




    Як наочний приклад сказаного вище - показовий випадок, не так давно стався з автором сайту і розказаний ним на форумі.

    Розпушування ґрунту для "ядерного письменника"

    Знаєш, потрібно бути не просто хорошим програмістом, щоб написати систему, подібну Linux. Потрібно бути ще й хитрою сволотою.
    Лист в групу comp.os.linux.development.system.

    Але знаходяться люди (богатирі!), вважають, що повинно бути і з гарантовано відкритим процесом розробки і завжди з доступним початковим програмним кодом. У 80-х роках Річард Столлмэн (засновник руху вільного ПЗ) ініціює проект GNU - створення вільної UNIX-подібної ОС з нуля, без використання оригінального вихідного коду UNIX. Абревіатура операційної системи GNU це - гра слів: gnu's Not UNIX «GNU - не UNIX».


    Гуру GNU и GPL Ричард Столлмэн (Richard Stallman)

    Пізніше ним же (з допомогою юристів) в 1988 році складається GNU GPL - General Public License (Відкрите ліцензійна угода GNU) - ліцензія на вільне ПЗ. GPL створюється як частина проекту GNU для використання разом з програмними розробками.

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

    Таким чином реалізується принцип успадкування прав - «copyleft» (термін, придуманий тим самим Річардом Столлмэном на противагу згаданому «copyright»). Ліцензуючи свою роботу на умовах GNU GPL, розробники програми зберігають за собою авторство над нею. Версій ліцензій на сьогоднішній день є три: GPL v1, GPL v2 і GPL v3.

    А на початку 1991-го року сталася ще одна чудова подія - фінський студент зі шведським корінням Лінус Торвальдс придбав IBM-сумісний персональний комп'ютер і - пристойно розчарувався в MS-DOS (нагадаємо, це перша ОС від Microsoft Corporation). MS-DOS поставлялася тоді разом з багатьма IBM-сумісними комп'ютерами. Вона, м'яко кажучи, не вразила Торвальдса використанням можливостей, тодішнього просунутого чіпа Intel серії і386. Він рішуче віддавав перевагу більш могутню і стабільну ОС UNIX, яка використовується ним на комп'ютерах Гельсінського університету.




    Торвальдс спробував роздобути ОС UNIX менше ніж за 5 000$, але це йому не вдалося (на щастя для всіх нас). Лінус розглядав також альтернативну ОС MINIX, від професора Амстердамського університету Ендрю Таненбаума (Andrew Tanenbaum), але вона не влаштувала його, так як не всі її вихідні коди були доступні. У MINIX Торвальдсу також не вистачало деяких функцій і тієї продуктивності, якою володіла UNIX.

    Тоді студент (на той момент Лінус був студентом Гельсінського університету) вирішує створити нову ОС з нуля! В основу її лягає як MINIX, так і UNIX. Він бере перерву у навчанні (академічну відпустку по-нашому) і присвячує весь вільний час проекту.

    Якщо бути нудно-точним, то тут, в першу чергу, мова йде про розробку з нуля ядра нової ОС. Термін «ядро» в різних ОС трактується по-різному. У даному контексті під ядром (англ. "kernel") ОС, мається на увазі частина операційної системи, постійно перебуває в оперативній пам'яті (ОЗП) і реалізує базові функції всієї системи: керування процесами, пам'яттю, пристроями введення-виведення, планувальником завдань, обробкою системних переривань і т. д.

    В ОЗП знаходиться, принаймні, велика частина ядра. Такий підхід зручний тим, що забезпечує високу швидкість роботи самої ОС.

    У ядра є і функції для підтримки програм: програми можуть звертатися до нього з запитами, системними викликами, наприклад, для відкриття і читання файлу, виведення графічної інформації на дисплей і т. д. Функції ядра, які можуть викликатися додатками, утворюють інтерфейс прикладного програмування - API (Application Programming Interface).

    Щоб підкреслити наявність частини ОС GNU на момент написання ядра Торвальдсом і, взагалі, для політкоректності, при згадці цієї ОС, ми будемо вживати позначення GNU/Linux.

    Невідомо, чи у повній мірі усвідомлював Торвальдс величезну роботу, яку необхідно було виконати, а також наслідки цього для свого життя і життя інших людей, але в жовтні восени того ж року світу була представлена перша офіційна версія ОС за номером 0.02. Вона могла працювати, як з bash shell (традиційний текстовий інтерфейс в Unix-подібних системах для обробки і виконання команд), так і з GCC (GNU Compiler Collection) - набір компіляторів для різних мов програмування, розроблений в рамках проекту GNU.

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

    Статистика використання операційної системи GNU/Linux і кількість її користувачів почали стрімко рости. Це, фактично, стало початком найбільшого спільного проекту, про який коли-небудь знав світ!