День 1 – Вступ до Linux

📆 День -01 | Огляд Linux, історія та архітектура

Що таке Linux? Історія та дистрибутиви

Огляд архітектури Linux

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

pic

  • Ядро: В основі Linux лежить ядро, яке є серцем ОС. Воно керує системними ресурсами та взаємодією з апаратним забезпеченням.
  • Відкритий код: Код доступний для всіх, що дозволяє змінювати, поширювати та використовувати систему за потребою.
  • Багатоплатформність: Linux працює на різноманітному обладнанні — від персональних комп’ютерів до суперкомп’ютерів і пристроїв IoT.

Історія Linux

Вихід з Unix (1969):

Unix був розроблений у Bell Labs як багатокористувацька, багатозадачна операційна система. Його принципи проектування мали великий вплив на Linux.

MINIX (1987):

Ендрю С. Таненбаум розробив MINIX, спрощену систему, схожу на Unix, для навчальних цілей. Це надихнуло Лінуса Торвальдса створити Linux.

Народження Linux (1991):

  • Лінус Торвальдс, студент інформатики з Фінляндії, почав писати нове ядро ОС як особистий проект. Він анонсував його 25 серпня 1991 року.
  • Перша версія (0.01) була випущена 17 вересня 1991 року.
  • Торвальдс випустив її під GNU General Public License (GPL), об’єднавши своє ядро з утилітами GNU для створення повноцінної ОС.

Зростання та впровадження (1990-ті - 2000-ні):

  • Завдяки внеску розробників з усього світу, Linux стрімко покращувався.
  • Корпорації та спільноти почали використовувати Linux для серверів, робочих столів і вбудованих систем.

Сучасна ера:

  • Linux підтримує 90% хмарної інфраструктури, 100% з топ-500 суперкомп’ютерів та операційну систему Android.

Популярні дистрибутиви Linux

Дистрибутив Linux (distro) — це пакет, що об’єднує ядро Linux, інструменти GNU, бібліотеки, середовище робочого столу та інше програмне забезпечення. Існує сотні дистрибутивів, орієнтованих на різні цілі.

Debian-based:

  • Debian: Відомий своєю стабільністю та великими репозиторіями програм.
  • Ubuntu: Легкий у використанні, підходить як для початківців, так і для професіоналів.
  • Linux Mint: Заснований на Ubuntu, акцент на простоту та зручність використання.

Red Hat-based:

Red Hat Enterprise Linux (RHEL): Стабільний і безпечний дистрибутив для підприємств.

Fedora: Орієнтований на новітні технології, підтримується спільнотою.

CentOS: Безкоштовна альтернатива RHEL (недавно замінена на CentOS Stream).

Arch-based:

  • Arch Linux: Мінімалістичний та дуже налаштовуваний, для досвідчених користувачів.
  • Manjaro: Дистрибутив на базі Arch, зручний для початківців, з попередньо налаштованими параметрами.

Інші:

  • OpenSUSE: Стабільний і зручний для користувачів, ідеальний для розробників.
  • Kali Linux: Спеціалізований для пентестингу та етичного хакінгу.
  • Alpine Linux: Легкий і орієнтований на безпеку, ідеальний для контейнерів.

Основні особливості Linux

  • Відкритий код: Налаштовуваний і вигідний.
  • Безпека: Потужні вбудовані механізми безпеки.
  • Мультизадачність: Ефективне управління кількома процесами одночасно.
  • Підтримка спільноти: Активні глобальні спільноти та форуми.
  • Масштабованість: Підходить для систем будь-якого розміру, від вбудованих пристроїв до дата-центрів.

➤ Огляд архітектури Linux

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

1. Шари архітектури Linux

1.1.

Шар апаратного забезпечення

  • Шар апаратного забезпечення включає фізичні компоненти системи (ЦП, пам'ять, зберігання, пристрої вводу/виводу).
  • Він взаємодіє з ядром Linux, яке безпосередньо спілкується з апаратним забезпеченням через драйвери пристроїв.

1.2. Ядро

  • Ядро Linux — це основний компонент ОС, який відповідає за управління системними ресурсами та комунікацію з апаратним забезпеченням.
  • Основні функції:
  1. Управління процесами: Керує створенням, плануванням та завершенням процесів.
  2. Управління пам'яттю: Виділяє та звільняє пам'ять для процесів та керує віртуальною пам'яттю.
  3. Драйвери пристроїв: Інтерфейсує з апаратними пристроями, такими як диски, клавіатури та принтери.
  4. Управління файловою системою: Надає доступ та організовує дані у файлах і каталогах.
  5. Мережеві можливості: Обробляє комунікацію між системами через мережу.

1.3. Оболонка

  • Оболонка виступає як інтерфейс між користувачем і ядром.
  • Вона інтерпретує команди користувача та передає їх до ядра для виконання.

Типи оболонок:

  1. Bash (Bourne Again Shell): Найпоширеніша та зручна оболонка.
  2. Zsh (Z Shell): Розширена функціональність з покращеними можливостями сценаріїв.
  3. C Shell (csh): Синтаксис, подібний до мови програмування C.
  4. Korn Shell (ksh): Поєднує функції оболонок C та Bourne.

1.4. Системні бібліотеки

  • Бібліотеки надають багаторазово використовуваний код для загальних функцій, таких як робота з файлами, управління пам'яттю чи операції з GUI.
  • GNU C Library (glibc) — важлива бібліотека в Linux.

1.5. Системні утиліти

  • Це інструменти та утиліти на рівні користувача, які дозволяють виконувати завдання, такі як управління файлами, редагування текстів та моніторинг процесів.
  • Приклади:
    • ls (перелік файлів та каталогів)
    • cp (копіювання файлів)
    • ps (статус процесів)

pic

Архітектура Linux

Перекладено з: Day 1 -Introduction to Linux

Leave a Reply

Your email address will not be published. Required fields are marked *