Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Сигналы

Читайте также:
  1. И гены реагируют на сигналы
  2. Идеомоторные сигналы
  3. ИДЕОМОТОРНЫЕ СИГНАЛЫ
  4. Из книги Макса Люшера «Сигналы личности: ролевые игры и их мотивы» - Воронеж: НПО МОДЭК, 1995
  5. Кабели, разъемы, сигналы
  6. Каналы и сигналы SDL. 14) Определение SDL-системы;
  7. Незамеченные сигналы

Операционная среда, создаваемая ядром Unix, имитирует для каждого процесса систему прерываний.

Сигналы Unix – средство, с помощью которого ядро или какой-либо процесс могут уведомлять определенный процесс о наступлении того или иного события. Получив сигнал, процесс обязан предпринять соответствующие действия. (В некотором смысле сигналы соответствуют прерываниям в MS-DOS).

К типичным событиям, которые могут заставить процесс принять сигнал, относятся:

·аппаратные прерывания, например ввод с клавиатуры или поступления данных с последовательного порта;

·нарушение нормального выполнения программы;

·тайм-аут;

·сбой оборудования;

·попытка выполнить недопустимую команду;

выход из порожденного процесса.

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

Ряд сигналов нельзя перехватить; они обрабатываются стандартными программами (обычно это приводит к прекращению выполнения процесса, принявшего сигнал). В различных версиях Unix определены 30-40 сигналов. Некоторые из этих сигналов приводятся ниже.

  SIGHUP Ситуация, аналогичная прерыванию соединения или остановке процесса
  SIGINT Сигнал прерывания
  SIGQUIT Сигнал завершения работы
  SIGILL Недопустимая команда
  SIGTRAP Останов в контрольной точке в процессе отладки
  SIGFPE Исключительная ситуация при обработке данных с плавающей точкой
  SIGKILL Удаление процесса (перехватить или игнорировать невозможно)
  SIGBUS Ошибка обмена с шиной данных процессора
  SIGSYS Неправильный аргумент при системном вызове
  SIGALRM Сигнал «будильника»
  SIGTERM Завершение программы
  SIGUSR1 Пользовательский сигнал 1
  SIGUSR2 Пользовательский сигнал 1
  SIGPWR Сбой питания/перезапуск

 

Сигналы могут вырабатываться синхронно, т.е. как результат работы самого процесса, а могут быть направлены процессу другим процессом, т.е. вырабатываться асинхронно.

Синхронные сигналы чаще всего приходят от системы прерываний процесса и свидетельствуют о действиях процесса, блокируемых аппаратурой (сигналы 4-8, 10, 11).

Асинхронные сигналы возникают при использовании системного вызова kill() или команды kill. По умолчанию ядро Unix обрабатывает стандартную реакцию на сигнал, которая сводится к завершению процесса. Иными словами, если возникает сигнал, то процесс завершается.

Стандартная реакция на сигнал предусматривает завершение процесса, которому предназначался сигнал.


Дата добавления: 2015-08-18; просмотров: 74 | Нарушение авторских прав


Читайте в этой же книге: ОС как расширенная машина. | Особенности алгоритмов управления ресурсами | Особенности аппаратных платформ. | Особенности областей использования ОС. | Особенности методов построения. | Типы файлов | Определение имени текущего каталога (команда pwd) | Команда cat - конкатенация файлов | Структура и аргументы Shell-программы. | First-Come, First-Served (FCFS) |
<== предыдущая страница | следующая страница ==>
Process Control Block и контекст процесса| Неименованные программные каналы

mybiblioteka.su - 2015-2024 год. (0.007 сек.)