Лекція 8. Процеси та потоки
Мета
Ця лекція спрямована на формування у студентів цілісного розуміння процесів і потоків в операційній системі Linux. Вона дозволяє зрозуміти, як створюються процеси, як вони взаємодіють між собою, як здійснюється керування їх виконанням, а також які механізми використовуються для багатозадачності та паралельності.
Конкретні очікувані результати:
Після завершення лекції студенти повинні знати поняття процесу та потоку, їх життєвий цикл і стани. Вони повинні вміти переглядати список процесів, керувати ними (зупиняти, відновлювати, завершувати), запускати процеси у фоновому режимі, розуміти принципи багатопоточності та відмінності між процесами і потоками.
План
- Поняття процесу в операційній системі
- Життєвий цикл процесу
- Стани процесів (running, sleeping, stopped, zombie)
- Ідентифікатори процесів (PID, PPID)
- Створення процесів (fork, exec)
- Перегляд процесів (ps, top, htop)
- Керування процесами (kill, fg, bg, jobs)
- Фонові та передні процеси
- Планування процесів і пріоритети (nice, renice)
- Поняття потоку (thread)
- Відмінності між процесами та потоками
- Багатопоточність у Linux
- Механізми синхронізації потоків
- Міжпроцесна взаємодія (IPC)
Анотація
Лекція присвячена вивченню процесів і потоків в операційній системі Linux. Розглядаються механізми створення та керування процесами, їх стани та життєвий цикл, інструменти моніторингу, принципи планування та пріоритетів. Окрему увагу приділено поняттю потоків, багатопоточності та відмінностям між процесами і потоками, а також базовим механізмам синхронізації та міжпроцесної взаємодії.
Ключові слова
Процеси, Потоки, PID, PPID, Життєвий цикл, Стани процесу, Fork, Exec, Планування, Пріоритет, Nice, Багатопоточність, Синхронізація, IPC, Zombie
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу