Лабораторная работа №2


НазваниеЛабораторная работа №2
страница2/9
ТипЛабораторная работа
1   2   3   4   5   6   7   8   9

Передний план и фоновый режим.


Задания могут выполняться или на переднем плане (англ. foreground), или в фоновом режиме (англ. background). На переднем плане в любой момент времени может быть только одно задание. Задание на переднем плане взаимодействует с пользователем, получает ввод с клавиатуры терминала и посылает вывод на экран. Задания в фоновом режиме не получают ввода с терминала и обычно ничего на него не выводят (в противном случае выводящиеся из них данные будут произвольным образом смешиваться с выводом из команды переднего плана). Как правило, это задания, которые не нуждаются во взаимодействии с пользователем.

Некоторые задания исполняются очень долго, и во время их работы не происходит ничего интересного. Пример таких заданий — компилирование программ, а также сжатие больших файлов. Нет никаких причин смотреть на экран и ждать, когда эти задания выполнятся. Такие задания вполне можно запускать в фоновом режиме, тогда во время их выполнения будет возможность продолжать работать с системой.

Для управления выполнением процессов в Linux предусмотрен механизм передачи сигналов. Сигналы предоставляют процессам возможность обмениваться стандартными короткими сообщениями непосредственно с помощью операционной системы. Сообщение-сигнал не содержит никакой информации, кроме номера сигнала (для удобства вместо номера можно использовать предопределённое системой имя). Для того, чтобы передать сигнал, процессу достаточно задействовать системный вызов kill(). Для обработки поступающих сигналов процесс может зарегистрировать в системе для интересующих его сигналов свои процедуры-обработчики, или воспользоваться предоставляемыми системой стандартными обработчиками сигналов. В зависимости от номера сигнала стандартные обработчики или не выполняют никаких действий, или приводят к немедленному завершению получившего сигнал процесса.

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

Сигналы с номерами 9 (KILL) и 19 (STOP) всегда обрабатываются операционной системой. Первый из них принудительно останавливает и уничтожает процесс (отсюда и название, англ. kill — убивать). Сигнал STOP приостанавливает процесс: в таком состоянии процесс не удаляется из таблицы процессов, но и не выполняется до тех пор, пока не получит сигнал 18 (CONT), после чего продолжает работу. В командной оболочке Linux сигнал STOP можно передать активному процессу с помощью управляющей последовательности клавиш <Ctrl>+.

Сигнал номер 15 (TERM) служит для прекращения (англ. terminate) работы задания. При поступлении этого сигнала процесс должен завершить свою работу. Командная оболочка позволяет отправить сигнал TERM активному процессу с помощью управляющей последовательности +. При этом, в отличие от сигнала KILL, программы могут перехватывать сигнал TERM и установить собственный обработчик этого сигнала, т. е. нажатие комбинации клавиш + может и не прервать процесс немедленно. Это сделано для того, чтобы программа могла корректно завершить свою работу: удалить временные файлы, осуществить запись изменённых данных и т. п., прежде, чем она будет завершена. На практике, некоторые программы прервать таким способом не получится.

Существует утилита kill, предназначенная для отправления того или иного сигнала произвольному процессу. Её формат вызова:

kill [-s SIGNAL | -SIGNAL] PID

где SIGNAL — это посылаемый процессу сигнал, а PID — соответствующий идентификатор процесса. Например, для посылки сигнала KILL процессу 1 можно записать:

$ kill -9 1 -bash: kill: (1) - Операция не позволена

Запущенная обычным пользователем, такая команда закончится с ошибкой: на отправление сигналов также распространяются соглашения о контроле доступа, и обычный пользователь может отправлять сигналы только процессам, запущенным им самим (т. е. процессам с UID этого пользователя). Как говорилось в предыдущей лабораторной работе, процесс с PID, равным 1 — это процесс init, запускающийся первым после загрузки ядра операционной системы и от имени суперпользователя. Сам суперпользователь (администратор системы) может отправить любой сигнал любому процессу.
1   2   3   4   5   6   7   8   9

Похожие:

Лабораторная работа №2 iconЛабораторная работа №8 распределенный udp сервер/ udp клиент 38 Лабораторная...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Лабораторная работа №2 iconЛабораторная работа №1
Лабораторная работа Выполнение расчетов с использованием программирования в среде Visual Basic for Applications (vba). 8

Лабораторная работа №2 iconЛабораторная работа №1
Лабораторная работа №8. Структурирование таблицы с автоматическим подведением итогов

Лабораторная работа №2 iconЛабораторная работа №1. Изучение основ микроструктурного анализа...
...

Лабораторная работа №2 iconЛабораторная работа №1 (одномерные массивы) 27
Лабораторная работа №6 (статические массивы, знакомство с графическим режимом. Возможно будет изменена) 49

Лабораторная работа №2 iconЛабораторная работа Создание и использование запросов (продолжение)....
Задания на экзамен выполняются студентом в компьютерном классе при наличии конспектов под руководством преподавателя

Лабораторная работа №2 iconЛабораторная работа уважаемые студенты! Сейчас вам предстоит выполнить...
«Бухгалтерский учет и анализ». Она состоит из нескольких частей, каждая из которых относится к разделу 3 «Первичные бухгалтерские...

Лабораторная работа №2 iconЛабораторная работа уважаемые студенты! Сейчас вам предстоит выполнить...
«Бухгалтерский учет и анализ». Она состоит из нескольких частей, каждая из которых относится к разделу 3 «Первичные бухгалтерские...

Лабораторная работа №2 iconЛабораторная работа №1 «Выполнение работы в сети Интернет. Работа с электронной почтой»

Лабораторная работа №2 iconЛабораторная работа №7 Отпуск материалов на производство, прочее...
Лабораторная работа №7 Отпуск материалов на производство, прочее выбытие материалов

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск