Що таке Unix і як працюють Unix-системи?

Автор: Опубліковано

Коротко: Unix — операційна система, створена в Bell Labs. Її рішення стали основою цілої родини систем і вплинули на багато інших. Unix розробили для одночасної роботи багатьох користувачів і виконання багатьох завдань. Linux — Unix-подібна система, а не просто інша назва Unix; macOS має основу Unix, а окремі її версії та конфігурації отримали сертифікацію UNIX.

Що таке Unix і звідки він походить?

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

Історія Unix починається наприкінці 60-х років XX століття з робіт у Bell Labs. Серед головних розробників були Ken Thompson і Dennis Ritchie. Переписування значної частини системи мовою C спростило її перенесення на різні комп’ютери: більше не потрібно було створювати кожну версію майже з нуля під конкретне обладнання.

Згодом з’явилися різні різновиди Unix. Тому сьогодні слово «Unix» може означати історичну систему, родину систем або набір характерних принципів їхньої роботи. Не варто сприймати його як назву одного продукту, який завжди має однаковий вигляд і працює однаково.

Як працює Unix-система?

Центральний елемент системи — ядро, тобто частина, яка керує процесором, пам’яттю, пристроями та процесами. Процес — це запущена програма разом із ресурсами, потрібними для її роботи. Навколо ядра працюють службові інструменти, служби та інтерфейси, якими користується користувач.

Для Unix-систем характерні:

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

З Unix пов’язаний і принцип створення невеликих інструментів, які виконують конкретні завдання та можуть працювати разом. Замість однієї складної програми можна поєднати кілька простіших, передаючи результат роботи однієї до наступної.

Unix, Linux і macOS — головні відмінності

UNIX — також торговельна марка, пов’язана із сертифікацією, яку проводить The Open Group. Сертифікація підтверджує відповідність конкретного продукту вимогам стандарту. Подібної роботи або спільного історичного походження недостатньо, щоб автоматично вважати будь-яку систему сертифікованою UNIX.

НазваЩо означає на практиці?
Unix / UNIXІсторична система та її родина, а в контексті сертифікації — система, що відповідає вимогам відповідного стандарту.
LinuxУ точному значенні — ядро системи. У повсякденному вжитку — операційна система з цим ядром, яку поширюють як дистрибутив, наприклад Debian або Ubuntu.
macOSСистема Apple з основою Unix і графічним інтерфейсом; сертифікація стосується конкретних випусків і конфігурацій.
FreeBSDUnix-подібна система, що походить від лінії BSD й відрізняється від Linux.

Linux створено незалежно від оригінального ядра Unix, але він наслідує його модель роботи. Тому багато команд і навичок можна застосовувати в Linux, macOS та інших Unix-подібних системах. Це не означає повної взаємозамінності: можуть відрізнятися параметри інструментів, керування службами, встановлення пакетів і підтримувані застосунки.

Якщо сертифікація є вимогою для закупівлі або проєкту, потрібно перевірити конкретну версію та платформу в офіційному реєстрі The Open Group, а не покладатися на загальну назву системи.

Чи означає Unix роботу лише в терміналі?

Ні. Unix-система може мати графічне середовище — звичний приклад цього macOS. Термінал — це застосунок, який надає доступ до текстового інтерфейсу, а командна оболонка, наприклад Bash або Zsh, інтерпретує введені команди. Термінал, оболонка й операційна система — різні компоненти.

Наприклад, у типовому Unix-середовищі команда:

ls /etc

виводить назви видимих файлів і каталогів у /etc, де зазвичай зберігаються налаштування системи та служб. Сама команда не змінює цих файлів.

Інструменти також можна поєднувати конвеєром, який позначають символом |:

printf 'кіт\nпес\nкіт\n' | sort | uniq

Перша команда створює три рядки тексту, sort сортує їх, а uniq видаляє повтори в сусідніх рядках. Результат — два рядки: kot і pies. Це простий приклад принципу Unix: невеликі програми працюють разом.

Навіщо вивчати Unix?

Знання моделі Unix допомагає адмініструвати сервери, програмувати, автоматизувати завдання та працювати з хмарними службами. Воно стане в пригоді й власнику сайту, який користується хостингом на основі Linux: допоможе розуміти шляхи, права доступу та команди, які виконуються через SSH — зашифроване віддалене з’єднання.

Для навчання не потрібна комерційна система Unix. Можна скористатися терміналом macOS, дистрибутивом Linux у віртуальній машині або середовищем Linux у Windows через WSL. Почніть із переходів між каталогами та створення файлів в окремому навчальному каталозі, без прав адміністратора.

Дивіться також: Що таке Linux?

Читайте також

Дізнайтеся, як PHP-FPM обробляє запити PHP, чим відрізняється від вебсервера та як налаштувати процеси під трафік і ресурси хостингу.
Дізнайтеся, як BIND обслуговує DNS, чим відрізняються його серверні ролі та коли варто розгортати його самостійно замість керованої послуги.
Дізнайтеся, що означають польський реєстр і номер REGON, чим вони відрізняються від NIP та KRS і як перевірити дані підприємства.