Практикум: таблица свойств сигналов
Шесть свойств из задачи 1
В задаче экзамена у таблицы шесть столбцов. Для каждого — точный критерий и список сигналов с «+».
1. Связан с аппаратным событием
Критерий: первоисточник — исключение процессора при выполнении инструкции (ядро лишь переводит его в сигнал).
«+»: SIGSEGV, SIGBUS, SIGFPE, SIGILL, SIGTRAP.
Не путать: SIGTTIN, SIGINT — генерирует драйвер терминала (программная часть ядра); SIGPIPE, SIGCHLD — программные события ядра.
2. Останавливает процесс (не только завершает)
Критерий: действие по умолчанию — Stop.
«+»: SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU.
Не путать: SIGKILL только завершает; SIGCONT, наоборот, продолжает.
3. Выставляется по инициативе программиста
Критерий: сигнал предназначен для явной отправки программой или пользователем (kill, raise, abort, sigqueue), а не генерируется ядром в ответ на событие.
«+»: SIGUSR1, SIGUSR2, SIGABRT (через abort()), сигналы реального времени, SIGTERM, SIGSTOP, SIGKILL, SIGCONT (kill -9, kill -STOP, kill -CONT, fg).
Не путать: формально kill может послать любой сигнал, но вопрос о том, кто обычно выставляет сигнал. Оговорка: SIGKILL иногда посылает и ядро (OOM killer).
4. Нельзя запретить доставку
Критерий: сигнал нельзя заблокировать маской (а также игнорировать и перехватить).
«+»: только SIGKILL и SIGSTOP.
Оговорки: SIGCONT продолжает остановленный процесс даже заблокированным; SIGABRT через abort() разблокируется принудительно. Но заблокировать их можно.
5. По умолчанию игнорируется
Критерий: действие по умолчанию — Ign.
«+»: SIGCHLD, SIGURG, SIGWINCH.
Оговорка: у SIGCONT действие по умолчанию — Cont: работающий процесс его «не замечает», остановленный — продолжает. Некоторые таблицы (и преподаватели) относят его к игнорируемым — если ставите «+», поясните.
6. Не «слипается»
Критерий: экземпляры ставятся в очередь, а не хранятся одним битом.
«+»: сигналы реального времени SIGRTMIN…SIGRTMAX.
Шпаргалка
Алгоритм заполнения таблицы
- Для каждого сигнала вспомните источник: процессор, ядро, терминал или программа.
- Вспомните действие по умолчанию: Term, Core, Ign, Stop, Cont.
- Это SIGKILL или SIGSTOP? Только они не блокируются.
- Это сигнал реального времени? Только они не слипаются.
- В спорных ячейках (
SIGCONT,SIGABRT,SIGKILLот OOM killer) поставьте выбранный знак и коротко поясните рядом.
Заполните таблицу экзамена
Полностью задача 1 с разбором каждой строки — в уроке «Разбор задачи 1» модуля «Подготовка к экзамену». Попробуйте сначала заполнить её сами по алгоритму выше.
Итог
- Шесть свойств — шесть простых критериев: источник, действие Stop, явная отправка, неблокируемость, действие Ign, очередь.
- Списки «+» короткие: запомните шпаргалку.
- Спорные ячейки:
SIGCONT(продолжает даже заблокированным; действие Cont),SIGABRTчерезabort(),SIGKILLот OOM killer — отвечайте с пояснением.
Практика решено 0 из 5
Тренировка 1: столбец за столбцом. Какие сигналы связаны с аппаратным событием, а какие по умолчанию останавливают процесс?
| Связан с аппаратным событием | Останавливает (по умолчанию) | |
|---|---|---|
| SIGSEGV | ||
| SIGTSTP | ||
| SIGILL | ||
| SIGTTOU | ||
| SIGINT | ||
| SIGSTOP | ||
| SIGBUS |
Тренировка 2. Какие сигналы нельзя заблокировать, какие по умолчанию игнорируются, какие не слипаются?
| Нельзя запретить доставку | По умолчанию игнорируется | Не «слипается» | |
|---|---|---|---|
| SIGKILL | |||
| SIGWINCH | |||
| SIGRTMAX | |||
| SIGSTOP | |||
| SIGURG | |||
| SIGRTMIN+3 | |||
| SIGTERM |
Тренировка 3: полная таблица на других сигналах (не тех, что в экзамене). Столбцы — как в задаче 1.
| Связан с аппаратным событием | Останавливает процесс | Выставляется по инициативе программиста | Нельзя запретить доставку | По умолчанию игнорируется | Не «слипается» | |
|---|---|---|---|---|---|---|
| SIGSEGV | ||||||
| SIGINT | ||||||
| SIGUSR1 | ||||||
| SIGTSTP | ||||||
| SIGALRM | ||||||
| SIGWINCH | ||||||
| SIGRTMAX | ||||||
| SIGTERM | ||||||
| SIGILL | ||||||
| SIGTTOU |
В каком столбце задачи 1 у сигнала SIGCHLD стоит «+»?
Какой сигнал из таблицы задачи 1 не получает ни одного «+»?
Войдите, чтобы отмечать пройденные уроки.