Архитектура современных операционных систем

46 1. Средства синхронизации: a. Сигналы b. Семафоры 2. Средства передачи данных a. Файлы b. Каналы c. Сегменты памяти Сигналы Традиционно основным средством синхронизации Unix являются сигна- лы. Они могут посылаться процессам, как системой, так и другими пользова- тельскими процессами. Каждый сигнал однозначно идентифицируется либо своим уникальным номером, либо мнемоническим обозначением (SIGCLD ана- логично 18, а SIGHUP аналогично 1). Наиболее часто используются сигналы:  SIGHUP(1) – сигнал о подключении/отключении терминала к системе;  SIGINT(2) – сигнал о нажатии CTRL+C;  SIGQUIT(3) – сигнал о выходе из текущего режима работы системы;  SIGKILL(9) – жесткое завершение процесса (уничтожение);  SIGTERM(15) – мягкое завершение процесса;  SIGUSR1(16) и SIGUSR2(17) – пользовательские сигналы;  SIGCLD(18) – ожидание завершения дочернего процесса;  SIGPWF(19) – сигнал отказа питания. Для каждого определенного в системе сигнала имеются стандартные об- работчики, которые используются для обработки сигналов по умолчанию. Стандартные обработчики для сигналов SIGTERM и SIGKILL, например, за- вершают процесс. Особенностью SIGTERM является то, что пользователь име- ет возможность создать свой обработчик этого сигнала и заменить им стан- дартный. Второй сигнал жесткого завершения (SIGKILL) перехватить (заме- нить) нельзя. Если системе необходимо завершить процесс, она посылает ему

RkJQdWJsaXNoZXIy MTY0OTYy