You are on page 1of 6

Міністерство освіти і науки України

Національний технічний університет України


«Київський політехнічний інститут імені Ігоря Сікорського»

Навчально-науковий інститут атомної та теплової енергетики

Кафедра цифрових технологій в енергетиці

Лабораторна робота №6 з дисципліни «Операційна система UNIX»


Робота з процесами ОС Linux

Виконав:
студент 2-го курсу
групи ТР-11
Власенко Максим

Перевірила:
д.т.н. проф. Левченко Л. О.

КИЇВ 2022
Мета роботи:
- набуття навичок управління процесами в оболонці Bash;
- опанування команд ps, top, pstree, bg, fg, nice, renice, kill, killall.

Короткі теоретичні відомості:


Процеси - це одна з найбільш фундаментальних абстракцій в системах UNIX
після файлів. Від оптимального налаштування підсистеми управління процесами та
числа одночасно виконуваних процесів залежить завантаження ресурсів процесора,
що безпосередньо впливає на продуктивність системи в цілому. Задача ядра –
управління процесами. Необхідно чітко розуміти відмінності між процесом і
програмою.
Процес - це середовище виконання завдання (оточення), яке містить
виконуваний код, системні дані, дані користувача і, а також набір додаткових
ресурсів, отриманих під час виконання (ресурси пам'яті, можливість доступу до
пристроїв введення/виведення та різних системних ресурсів, включаючи послуги
ядра. Програма - це файл, який містить виконуваний код, дані для ініціалізації та
дані користувача.
Процес можна розглядати як сукупність даних ядра системи (Kernel),
необхідних для опису образу програми в пам'яті і управління її виконанням, або як
програму в стадії її виконання, тому що усі програми Unix представлені у вигляді
процесів. Ядро ОС обробляє переривання від пристроїв, виконує запити системних
процесів та додатків користувача, розподіляє віртуальну пам'ять, створює і знищує
процеси, забезпечує багатозадачність за допомогою перемикання між ними, містить
драйвери пристроїв, обслуговує файлову систему. Процес складається з інструкцій,
які виконуються процесором, даних та інформації про виконуване завдання, а саме:
виділена пам'ять, відкриті файли і статус процесу.
Типи процесів
Системні процеси в Unix завжди розташовані в оперативній пам'яті. Їх
виконувані інструкції та дані знаходяться в ядрі, тому такі процеси є складовою
ядра. Системні процеси можуть викликати функції, а також звертатися до даних, які
не мають доступу до інших процесів, наприклад, системний процес init, який
запускається ядром системи при завантаженні і є одним з ключових процесів для
нормального функціонування системи. Приклади системних процесів системні -
vmdaemon, pagezero, bufdaemon, syncer.
Демони – неінтерактивний процес, який працює у фоновому режимі і не
прив'язаний ні до якого керуючого терміналу. Зазвичай демони запускаються при
ініціалізації системи, однак після ініціалізації ядра забезпечують роботу різних
підсистем Unix: системи термінального доступу, системи друку, системи
мережевого доступу, мережевих послуг і т.п. Демони не пов'язані із жодним
користувачем, тобто не мають ніякого відношення до користувацьких процесів. Як
правило, демони знаходяться у стадії очікування, поки для певного процесу не
виникне потреба виконати певну послугу (звернення до архіву файлу, друк
документу). Прикладами процесів демонів слугують сервери протоколів НТТР
(httpd) та FТР (ftpd), сервер системного журналу (syslogd), інші приклади - usbd,
sshd. Зазвичай демони в кінці назви містять літеру «d».
Завдання:
1. Ознайомитися з теоретичними матеріалом по лабораторній роботі. Набути
навичок по роботі з процесами.
2. Опанувати команди для управління процесами.
3. Підготувати звіт для викладача про виконання лабораторної роботи і
представити його.

Виконання завдання:

2. Виведемо лістинг характеристик процесів у короткому форматі,


ініціалізованих з терміналу (за допомогою команди ps).
PID - ідентифікатор процесу, TTY - ідентифікатор терміналу, TIME - час ЦП,
CMD - ім’я команди.

Команда ps au у форматі BSD виводить розширений лістинг процесів.


USER – root процесу, STAT – стан процесу, %CPU - використання ЦП даним
процесом, %MEM - використання оперативної пам'яті даним процесом.

Запишемо лістинг до файлу, переправивши вивід з терміналу у файл.

Перевіримо результати запису до файлу лістингу в двох форматах.


3. Виведемо всю ієрархію процесів поточної оболонки з полями pid та
ppid.

4. Побудуємо дерево процесів, які визначені у попередньому.

Допишемо результат у файл.

Переглянемо результат допису у файл дерева процесів.

5. Переглянемо список процесів користувача.


6. Виведемо список процесів користувача у вигляді дерева.

7. Переглянемо список сигналів користувача

Запишемо у окремий файл список сигналів та перевіримо запис


8. За допомогою команди history виведемо команди, які
використовували.

Висновок:
Під час виконання даної лабораторної роботи було набуто навичок по роботі
з процесами.

You might also like