Архитектура современных операционных систем
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) перехватить (заме- нить) нельзя. Если системе необходимо завершить процесс, она посылает ему
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy