Лекція 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
Не кожна команда йде до ядра одним прямим кроком, але модель допомагає розкласти ролі.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”GNOME Terminal може запускати Bash. Якщо закрити вікно terminal, це не означає «видалити Bash із системи».
Приклад 2
Section titled “Приклад 2”echo $SHELL зазвичай показує шлях до shell, налаштованого для користувача.
Приклад 3
Section titled “Приклад 3”uname -r показує версію ядра, а bash --version — версію Bash. Це різні компоненти.
Linux-лабораторія: хто є хто?
Section titled “Linux-лабораторія: хто є хто?”echo $SHELLbash --version | head -n 1uname -rps -p $$ -o comm=Остання команда намагається показати назву shell поточного процесу. Результат може залежати від середовища.
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- запиши шлях із
echo $SHELL - запиши версію ядра і версію Bash окремо
- намалюй схему terminal → shell → kernel → hardware
- поясни, чому
terminalіshellне є синонімами - назви приклад дії, де shell запускає окрему програму, наприклад
ls
Перевір себе
Section titled “Перевір себе”- Що робить kernel?
- Що робить shell?
- Що таке terminal emulator?
- Чи є Bash ядром Linux?
- Яка команда показує версію ядра?
Терміни однією фразою
Section titled “Терміни однією фразою”- Kernel (ядро) — центральний керівник низького рівня: процеси, пам’ять, пристрої.
- Shell (оболонка) — командний перекладач: читає текст команди й запускає програми.
- Terminal emulator (термінал) — вікно, яке показує символи та дає сеанс shell.
- Bash — один популярний shell (є ще zsh, fish).
- Системний виклик — «прохання» програми до ядра щось зробити.
echo $SHELL— команда, що показує шлях до shell користувача.
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити різницю між ядром, оболонкою та терміналом?
- Чи знаєш ти, що таке Bash і як його запустити?
- Чи розумієш ти, як оболонка інтерпретує команди?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- kernel, shell і terminal — різні шари
- shell тлумачить команди користувача
- ядро керує фундаментальними ресурсами системи
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.