Управление ресурсами ОС Linux

Подсистема управления процессами. Операционная система для каждого вновь создаваемого процесса создает специальную информационную структуру, в которой хранит различную информацию о процессе и ресурсах, потребляемых данным процессом. В эту структуру, называемую
дескриптором (описателем) процесса, входят идентификатор процесса, имя пользователя, запустившего программу на выполнение, объем оперативной памяти, занимаемой процессом, приоритет и т.д. В совокупности информационные структуры образуют таблицу дескрипторов, которая хранится резидентно в памяти компьютера.

В этой структуре также находится дополнительная информация, которая отражает состояние процесса. Напомним, что каждый процесс может находиться в одном из трех состояний: готовность, выполнение, ожидание.

В системное программное обеспечение ОС Linux входит набор утилит, позволяющий просмотреть состояние информационных структур процессов. Часть утилит предназначена для работы в алфавитно-цифровом, а часть – в графическом терминале. Поскольку алфавитно-цифровой и графический интерфейс для этой ОС равноправны, то мы рассмотрим эти утилиты отдельно.

 

Текстовые утилиты управления процессами

 

Среди текстовых утилит, позволяющих просмотреть содержимое информационных структур процессов, выделим наиболее часто используемые – top и ps.

Утилита ps является чисто информационной и обычно применяется в связке с командой less, а утилита top, кроме просмотра информационной структуры, позволяет пользователю еще и менять приоритет процесса, а также снимать процесс с выполнения.

Задание 1. Находясь в графической среде GNOME, запустите терминал (правая клавиша мыши на пустом месте экрана, «создать терминал»), а затем с командной строки терминала выполните утилиту top.
Определите, какие возможности для управления процессами дает эта утилита? Находясь в среде выполнения утилиты, нажмите клавишу <h>. На экране появится информация о том, с помощью каких клавиш и как можно оптимизировать просмотр информационной структуры процесса. Откройте новую вкладку окна терминала (Файл, Открыть вкладку, Default) и загрузите интерфейс mc. Далее, переключившись на вкладку c заголовком top, нажмите клавиши <Shift>+<O>, а затем <A>. Система звездочкой отметит строку «A:PID», указав тем самым столбец, по которому будет проведена сортировка информации. Нажмите <Esc>. Теперь можно сортировать список в обратном направлении клавишами <Shift>+<R>, а затем определить PID (идентификатор процесса имеет целочисленное значение) запущенного только что mc (один из самых больших идентификаторов всех mc-процессов). С помощью мыши выделите его информационную структуру. Окно терминала поместите в отчет. С помощью утилиты top снимите процесс mc, а затем и top с выполнения. Для этого нажмите клавишу <k>, укажите PID mc и подтвердите удаление. Повторите действия для процесса top.

Задание 2. В освободившемся окне терминала запустите интерфейс mc, а затем утилиту ps c ключом ax и командой less (ps -ax | less). Утилита предназначена для отображения текущих процессов. Обычно информация не умещается на экране. Связанная по каналу (символ «|») с утилитой ps утилита less позволяет с помощью клавиш управления курсором просмотреть эту информацию от начала до конца.

Нажмите клавишу <q> и далее выполните утилиту ps совместно с утилитой фильтрации grep, вновь используя для связи утилит канал «|»:

ps -ax | grep ‘mc’

и определите идентификатор запущенного процесса mc (/usr/bin/mc …).
Результат поместите в отчет. Завершите процесс командой:

kill «ID процесса».

 

Графические утилиты управления процессами.