Введення в Linux
Linux — це сімейство Unix-подібних операційних систем із відкритим вихідним кодом на ядрі Linux, а ядро ОС було вперше опубліковано 17 вересня 1991 року Лінус Торвальдс . Як правило, Linux упаковується як дистрибутив Linux, який містить допоміжні бібліотеки та системне програмне забезпечення та ядро, деякі з яких пропонуються Проектом GNU. Кілька дистрибутивів Linux використовують цей термін 'Linux' у назві, але Free Software Foundation використовує 'GNU/Linux' назва, щоб зосередити увагу на необхідності програмного забезпечення GNU, викликаючи кілька суперечок.
Відомими дистрибутивами Linux є Ubuntu, Fedora Linux і Debian, останній з яких складається з кількох різних модифікацій і дистрибутивів, включаючи Xubuntu і Lubuntu. Комерційними дистрибутивами є SUSE Linux Enterprise і Red Hat Enterprise Linux. Настільні дистрибутиви Linux – це віконні системи, такі як Wayland або X11, і робочі середовища, такі як KDE Plasma та GNOME.
- Спочатку Linux був розроблений для персональних комп’ютерів на базі архітектури Intel x86, але з тих пір його перемістили в більшу кількість середовищ, ніж інші операційні системи.
- Включно з Android, Linux має найбільшу базу встановлених операційних систем загального призначення через контроль Android на базі Linux над смартфонами станом на травень 2022 року.
- Однак станом на листопад 2022 року Linux використовують лише близько 2,6% настільних комп’ютерів.
- Крім того, Linux працює на багатьох вбудованих системах, тобто на пристроях, чия ОС зазвичай розроблена у вбудованому програмному забезпеченні та надзвичайно адаптована до системи.
- До нього входять космічні кораблі (марсохід Perseverance, капсула Dragon crew і ракета Falcon 9), автомобілі (Toyota, Hyundai, Mercedes-Benz, Audi і Tesla), телевізори (телевізори LG і Samsung Smart TV), ігрові приставки, пристрої для розумного дому, засоби автоматизації та маршрутизатори.
Linux є одним із найвидатніших прикладів співпраці відкритого програмного забезпечення та вільного програмного забезпечення. Вихідний код може поширюватися, змінюватися та використовуватися в некомерційних чи комерційних цілях усіма на умовах відповідних ліцензій, як-от GNU GPL (Загальна публічна ліцензія). Наприклад, ядро Linux ліцензовано відповідно до GPLv2.
Історія ОС Linux
Операційна система на базі Unix була реалізована та задумана в 1969 році в Дзвоник AT&T лабораторії Джо Оссанни, Дугласа Макілроя, Денніса Річі та Кена Томпсона в Сполучених Штатах. Вперше опублікований у 1971 році, Unix був повністю написаний мовою асемблера, як це було основною практикою того часу. У 1973 році його було оновлено на мові C Деннісом Річі. Наявність високорівневої реалізації мови Unix зробило його перенесення на різні комп’ютерні платформи зручним.
Восени 1990-х Торвальдс записався на курс Unix під час відвідування Гельсінського університету. У курсі використовувався міні-комп’ютер MicroVAX, який запускав Ultrix, і одним із необхідних текстів був «Операційні системи: проектування та впровадження» Ендрюса С. Таненбаума. Підручник містив копію операційної системи MINIX Таненбаума. Саме разом із цим курсом Торвальдс спочатку став відкритим для Unix. Він зацікавився операційними системами в 1991 році. Розчарований ліцензуванням MINIX, яке на той час обмежувало його лише освітнім використанням, він почав працювати над ядром своєї операційної системи, яке згодом стало ядром Linux.
Торвальдс почав розробку ядра Linux на MINIX, і програмне забезпечення, написане для MINIX, також використовувалося на Linux. Пізніше Linux був культивований, а потім на системах Linux з'явилася розробка ядра Linux. Крім того, додатки GNU замінили кожен компонент MINIX, оскільки було вигідно використовувати вільний код через проект GNU з новою ОС; код, ліцензований згідно з GNU GPL, можна повторно застосувати в інших функціях комп’ютера, якщо вони також опубліковані під сумісною або такою ж ліцензією.
Торвальдс почав перехід від своєї фактичної ліцензії, яка забороняла комерційне розповсюдження, до GNU GPL. Розробники працювали над розробкою елементів GNU з ядром Linux, створюючи безкоштовну та повністю функціональну операційну систему.
Провідним супроводжувачем ядра Linux є Грег Кроа-Хартман хто керує його розвитком. Електронним виконавчим директором Free Software Foundation є Вільям Джон Салліван , який, у свою чергу, підтримував компоненти GNU. Корпорації та окремі особи нарешті розробляють сторонні компоненти, що не належать до GNU.
Компоненти сторонніх розробників складаються з великої кількості робіт і можуть містити як користувацькі бібліотеки та програми, так і модулі ядра. Спільнота та постачальники Linux розповсюджують і поєднують ядро, компоненти, що не належать до GNU, і компоненти GNU з додатковим програмним забезпеченням для керування пакунками, як у дистрибутивах Linux.
У виробничих середовищах впровадження Linux почало розвиватися в середині 1990-х років у суперкомп’ютерному співтоваристві замість того, щоб його використовували лише любителі, де такі організації, як NASA, почали все частіше замінювати свої дорогі машини недорогими стандартними комп’ютерними кластерами під управлінням Linux. Комерційне використання почалося, коли IBM і Dell, переслідувані Hewlett-Packard, почали надавати підтримку Linux, щоб уникнути монополії Microsoft на ринку настільних ОС.
Системи Linux сьогодні повністю використовуються в обчислювальній техніці, від вбудованих систем до практично кожного суперкомп’ютера, і забезпечили собі позицію в інсталяціях серверів, як знаменитий стек програм LAMP. Розвивається використання дистрибутивів Linux на корпоративних і домашніх комп’ютерах.
Крім того, дистрибутиви Linux стали відомими на ринку нетбуків: кілька пристроїв переміщуються з інстальованими налаштованими дистрибутивами Linux, а Google публікує свою ChromeOS, розроблену для нетбуків.
Проектування ОС Linux
Різні розробники з відкритим кодом визнають, що ядро Linux не було розроблено, а натомість еволюціонувало в результаті природного відбору. Система на базі Linux — це сумісна Unix-подібна ОС, яка отримала більшу частину свого загального дизайну з принципів, створених у Unix протягом 1970-х і 1980-х років. Така система використовує ядро Linux, монолітне ядро, яке керує файловими системами, периферійним доступом, мережею та контролем процесів. Драйвери пристроїв або безпосередньо інтегровані з ядром, або включені як модулі, які завантажуються під час роботи пристрою.
Встановлені компоненти системи Linux включають:
- А завантажувач , наприклад, systemd-boot, SYSLINUX, LILO та GNU GRUB. Це програма, яка може завантажувати ядро Linux в основну пам’ять комп’ютера, запускаючи її комп’ютером після входу в мікропрограму та коли її ввімкнено.
- Ан увійти в програму , наприклад традиційний sysvinit і новіші Upstart, OpenRC і systemd. Це перший процес, оголошений ядром Linux і коренем дерева процесів. Іншими словами, кожен процес відкривається з init. Він ініціює такі процеси, як запити входу та системні служби (у термінальному чи графічному режимі).
- Стандартна бібліотека C потрібна для виконання програм C у системі, в якій стандартом є бібліотека GNU C. Були розроблені такі альтернативи, як uClibc (розроблений для uClinux), EGLIBC (розгалуження glibc, який колись використовувався Debian) і musl. Однак перші два зараз не обслуговуються. Android використовує свою бібліотеку C, яка відома як Біонічний .
- Оболонки графічного інтерфейсу є найвідомішими користувальницькими інтерфейсами на настільних системах, укомплектованими широкими настільними середовищами, такими як Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME та KDE Plasma, хоча доступний набір із кількох користувальницьких інтерфейсів.
- Більшість відомих інтерфейсів користувача працюють із концепцією системи X Window, відомої як 'X' .
- Він забезпечує прозорість мережі та дозволяє графічній програмі, активній у системі, відображатися в іншій, у якій користувач може співпрацювати з програмою.
- Хоча деякі розширення системи X Window не можуть працювати в мережі.
- Багато серверів відображення X доступні з сервером X.Org, еталонна реалізація є найвідомішою.
Крім того, інтерфейс користувача називається оболонкою. Це або GUI (графічний інтерфейс користувача), CLI (інтерфейс командного рядка), або елементи керування, підключені до відповідного апаратного забезпечення, що є нормальним для вбудованих систем. Інтерфейс користувача за умовчанням є графічним для настільних систем. Однак CLI доступний у вікнах емулятора терміналу або на ізольованій віртуальній консолі.
Оболонки інтерфейсу командного рядка — це текстові інтерфейси користувача, які використовують текст як для виведення, так і для введення. Домінуючою оболонкою є bash (Bourne-Again Shell), яка використовується в Linux і спочатку розроблена для проекту GNU. Майже кожен низькорівневий компонент Linux, включно з кількома частинами користувацької області, використовує виключно CLI. Зокрема, CLI сумісний із автоматизацією завдань із затримкою або повторюваними завданнями та забезпечує дуже простий зв’язок між процесами.
Наразі Linux має два API-інтерфейси ядра для обробки відеовхідних пристроїв: DVB API для прийому ТБ та V4L2 API для радіо- та відеопотоків.
Ця інфраструктура потребує розвитку, щоб краще відповідати іншим пристроям через різноманітність і складність різних пристроїв, а також через велику кількість стандартів і форматів, якими керують ці API. Краща бібліотека пристроїв простору користувача також є запорукою успіху створення програм простору користувача, які можуть працювати з усіма форматами, підтримуваними пристроями.
Використання ОС Linux
Кілька кількісних досліджень відкритого/вільного програмного забезпечення зосереджені на таких темах, як надійність і частка ринку, причому багато досліджень вивчають конкретно Linux. Ринок Linux розвивається, і очікується, що розмір ринку ОС Linux збільшиться на 19,2% до 2027 року, досягнувши 15,64 мільярда доларів порівняно з 3,89 мільярда в 2019 році. Прихильники та аналітики пояснюють успіх асоціативної Linux його свободою, низькою ціною , надійність і безпека від блокування постачальника.
W3Cook публікує статистику, яка використовує топ-1 000 000 доменів Alexa, згідно з якими станом на травень 2015 року 96,55% веб-серверів використовують Linux, 1,73% використовують Windows і 1,72% використовують FreeBSD.
Згідно зі статистикою веб-серверів станом на травень 2022 року орієнтовна частка ринку настільних комп’ютерів Linux становить близько 2,5%. Частка ринку Microsoft Windows становить приблизно 75,5%, а macOS – близько 14,9%.
Android став провідною ОС для смартфонів на основі ядра Linux. У липні 2022 року 71,9% смартфонів у всьому світі, які користуються Інтернетом, використовували Android. Крім того, Android є відомою ОС для планшетів, на яку припадає понад 60% продажів планшетів станом на 2013 рік.
Linux протягом багатьох років була популярною платформою в кіноіндустрії. Першим великим фільмом, випущеним на сервері Linux, був «Титанік» 1997 року. Відтоді великі студії, зокрема Industrial Light & Magic, Weta Digital, Pixar і DreamWorks Animation, перейшли на Linux.
Дистрибутиви Linux також набули популярності в кількох національних і місцевих урядах. Керала дійшла до того, що кожна середня школа штату використовує Linux у своїх системах. Китай використовує Linux виключно як ОС для сімейства процесорів Loongson для досягнення технологічної незалежності.
Кілька регіонів інтегрували свій дистрибутив Linux в Іспанії, який широко використовується в офіційних і освітніх установах. Крім того, Німеччина та Франція зробили кроки до впровадження Linux. Північнокорейська ОС Red Star заснована на версії Fedora Linux, яка розроблялася з 2002 року.
ОС Linux працює
Операційна система Linux має стандартний дизайн, який є ключем до її кількох дистрибутивів і варіацій. Кожен дистрибутив Linux базується на ядрі Linux, але може відрізнятися залежно від таких факторів, як:
- Драйвери пристроїв, які використовують код, який керує роботою зв’язаних пристроїв.
- Драйвери файлової системи, які використовують код, який керує роботою ядра з різними файловими системами.
- Системні виклики, які використовують код, який керує тим, як програми вимагають послуг через ядро.
- Завантаження та завантаження ядра Linux.
- Ядро обробляє кожен вихід і вхід системи після завантаження. Система завантажується, процеси можна ініціалізувати.
- Систему можна використовувати для процесів, які містять команди, що вводяться в інтерактивному режимі за допомогою командного рядка, функцій мережевого сервера, настільних програм або будь-якої програми чи програми під час завантаження системних процесів.
Ядро — це те, що є спільною для кожної системи під керуванням Linux. Linux працює за допомогою:
Взаємодія з користувачем може значно відрізнятися залежно від того, як використовується система Linux, тоді як ядро може бути майже ідентичним з деякими відмінностями компіляції та розбіжностями в конфігурації. Наприклад, кілька варіантів використання Linux із відмінним користувацьким досвідом:
Linux працює дуже подібно до будь-якої операційної системи на основі графічного інтерфейсу користувача, якщо використовувати її як графічний інтерфейс користувача з робочим середовищем. Програми та багато інших ресурсів можна запускати, натискаючи піктограми, а файли можна видаляти, копіювати або переміщувати за допомогою трекпада або миші.
Дистрибутиви Linux
Linux прийняв положення про копілефт Фонду вільного програмного забезпечення, який створив GNU GPL з моменту його розробки. GPL описує, що все, що береться для модифікації та є безкоштовним, має вільно поширюватися.
Доступні сотні версій Linux, які також називають дистрибутивами або дистрибутивами. Зазвичай дистрибутиви диференціюються через пакет, визначаючи конкретну мету, цільовий ринок, функцію чи філософію.
Існує багато дистрибутивів для певних цільових функцій, таких як безпека, ігри, робочі столи, сервери або вбудовані пристрої, такі як системи Raspberry Pi. Майже кожен сучасний дистрибутив готовий до використання та попередньо скомпільований, тоді як інші, такі як Gentoo Linux, складаються з вихідного коду, який будь-який користувач може локально скомпілювати під час початку встановлення для використання конфігурації своєї системи.
Плюси і мінуси ОС Linux
Деякі переваги використання Linux перелічені та пояснені нижче:
Кілька недоліків Linux: