Skip to content

Лекція 24. Kernel, shell і terminal

Лекція 24. Kernel, shell і terminal

Section titled “Лекція 24. Kernel, shell і terminal”

Рівень 5: Оператор операційної системи

Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.

Що ми сьогодні розкриємо

Section titled “Що ми сьогодні розкриємо”
  • не плутати ядро, shell і terminal emulator
  • зрозуміти шлях команди від клавіатури до системи
  • дізнатися, який shell використовується

Зв’язок з попередніми лекціями

Section titled “Зв’язок з попередніми лекціями”

У цій лекції ми використаємо поняття операційної системи з лекції 23, щоб зрозуміти, як пов’язані kernel, shell і terminal.

Kernel — центральний керівник низького рівня

Section titled “Kernel — центральний керівник низького рівня”

Ядро (kernel) керує процесами, пам’яттю, пристроями та іншими фундаментальними ресурсами. Linux у строгому технічному сенсі — це саме ядро, хоча в побуті «Linux» часто називають цілу операційну систему на його основі.

Shell — командний перекладач

Section titled “Shell — командний перекладач”

Коли ти вводиш ls, shell читає текст, розбирає аргументи й запускає потрібну програму або виконує власну команду. Bash — один із популярних shell. Є також zsh, fish та інші.

Terminal — вікно/середовище для текстової розмови

Section titled “Terminal — вікно/середовище для текстової розмови”

Термінальний емулятор показує символи, приймає натискання клавіш і дає тобі сеанс shell. Спрощена схема:

graph LR
    T["Ти"] --> TM["Terminal
(вікно)"]
    TM --> SH["Shell
(перекладач)"]
    SH --> PR["Програми /
системні виклики"]
    PR --> K["Kernel
(ядро)"]
    K --> HW["Hardware
(залізо)"]

    style T fill:#fff3e0
    style SH fill:#e1f5fe
    style K fill:#e8f5e9
    style HW fill:#fce4ec

Не кожна команда йде до ядра одним прямим кроком, але модель допомагає розкласти ролі.

GNOME Terminal може запускати Bash. Якщо закрити вікно terminal, це не означає «видалити Bash із системи».

echo $SHELL зазвичай показує шлях до shell, налаштованого для користувача.

uname -r показує версію ядра, а bash --version — версію Bash. Це різні компоненти.

Linux-лабораторія: хто є хто?

Section titled “Linux-лабораторія: хто є хто?”
Terminal window
echo $SHELL
bash --version | head -n 1
uname -r
ps -p $$ -o comm=

Остання команда намагається показати назву shell поточного процесу. Результат може залежати від середовища.

Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.

  1. запиши шлях із echo $SHELL
  2. запиши версію ядра і версію Bash окремо
  3. намалюй схему terminal → shell → kernel → hardware
  4. поясни, чому terminal і shell не є синонімами
  5. назви приклад дії, де shell запускає окрему програму, наприклад ls
  • Що робить kernel?
  • Що робить shell?
  • Що таке terminal emulator?
  • Чи є Bash ядром Linux?
  • Яка команда показує версію ядра?
  • Kernel (ядро) — центральний керівник низького рівня: процеси, пам’ять, пристрої.
  • Shell (оболонка) — командний перекладач: читає текст команди й запускає програми.
  • Terminal emulator (термінал) — вікно, яке показує символи та дає сеанс shell.
  • Bash — один популярний shell (є ще zsh, fish).
  • Системний виклик — «прохання» програми до ядра щось зробити.
  • echo $SHELL — команда, що показує шлях до shell користувача.

Чек-лист перед наступною лекцією

Section titled “Чек-лист перед наступною лекцією”
  • Чи можеш ти пояснити різницю між ядром, оболонкою та терміналом?
  • Чи знаєш ти, що таке Bash і як його запустити?
  • Чи розумієш ти, як оболонка інтерпретує команди?

Що потрібно винести з лекції

Section titled “Що потрібно винести з лекції”
  • kernel, shell і terminal — різні шари
  • shell тлумачить команди користувача
  • ядро керує фундаментальними ресурсами системи

Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.