Главная » Просмотр файлов » Ю. Вахалия - UNIX изнутри (2003)

Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 34

Файл №1114670 Ю. Вахалия - UNIX изнутри (2003) (Ю. Вахалия - UNIX изнутри (2003)) 34 страницаЮ. Вахалия - UNIX изнутри (2003) (1114670) страница 342019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 34)

Современные варианты 1.1Х1Х (такие как Зо!аг1з, А1Х, НР-УХ, 4.4ВЗР и Р(К1та1 (Лч1Х) также предлагают совместимые с РО51Х решения. Реализация сигналов в 35Ъ'К4 помимо совместимости со стандартом сохранила совместимость с более ранними версиями 5узгещ Ъ'. Эта глава начинается с объяснения, что такое сигналы, и последующего анализа проблем, имеющихся в оригинальной ОС Зузгет Ч. Затем вы увидите, как эти проблемы были решены в современных операционных системах, располагающих механизмом надежных сигналов.

В конце главы мы расскажем об управлении заданиями и сеансами — понятиями, имеющими тесную связь с сигналами. 4.2. Генерирование и обработка сигналов Сигналы дают возможность вызвать какую-либо процедуру при возникновении события из определенного их набора. События обозначаются целыми числами и представляются символьными константами. Некоторые из событий являются асинхронными уведомлениями (возникающими, например, когда пользователь посылает сигнал прерывания, нажав комбинацию С1г1+С на терминале), в то время как другие представляют собой синхронные ошибки или исключения (например, при попытке обращения по несуществующему адресу).

Процесс оповещения состоит из двух этапов: генерирования и доставки. Сигнал генерируется после того, как возникает определенное событие, требующее уведомления о нем процесса, который явился виновником его появления. Сигнал считается доставленным (или обработанным), когда получивший его процесс определяет факт доставки сигнала и производит необходимые действия. Между этими двумя событиями сигнал находится в режиме ожидания процесса. В оригинальном варианте ОС Бузгет 'у' определено 15 различных сигналов. Системы 4ВЗР и 5ЧК4 поддерживают по 31 сигналу.

Каждому из них присваивается номер от 1 до 31 (установка номера сигнала в О для различных функций имеет специальные значения, например «никаких сигналов»), Адресация сигналов по их номерам отличается в системах Бузгещ 'у' и ВЯЭ ТЛ41Х (например, 5165ТОР имеет номер 17 в 4.3ВБР и номер 23 в 5Ъ'К4).

Более 4.2. Генерирование и обработка сигналов 147 того, многие коммерческие реализации ()Ы1Х (такие как А1Х) поддерживают больше чем 31 сигнал. Обычно программисты предпочитают использовать символические имена для идентификации сигналов. Стандарт РОЯ1Х 1003.1 определяет символические имена для всех поддерживаемых им сигналов.

Эти имена являются переносимыми как минимум для всех реализаций систем, совместимых со стандартом РОБ1Х. 4.2.1. Обработка сигналов Каждый сигнал обладает некоторым действием, установленным по умолчанию, которое производится ядром системы, если процесс не имеет определенного альтернативного обработчика. Всего таких действий пять. + Аварийное завершение (аЬогс).

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

+ Игнорирование ()япоге). Игнорирует сигнал. + Остановка (егор). Приостанавливает процесс. + Продолжение (сопвппе). Возобновляет работу приостановленного процесса (или игнорируется в ином случае). Процесс может переопределить действия, производимые по умолчанию для любого сигнала. Таким альтернативным вариантом может быть игнорирование сигнала или запуск определенной в приложении функции, называемой обработчиком сигнала. Процесс может в любое время указать новое действие либо, наоборот, сбросить установки на действия по умолчанию. Процесс вправе временно блокировать сигнал (нс поддерживается в ЯЪ'В2 и более ранних версиях втой системы).

В таком случае сигнал не будет доставлен до тех пор, пока не будет разблокирован. Сигналы 516К10. и 516з10Р являются специальными, и приложения не могут игнорировать, блокировать или определять собственные обработчики для них. Полный список сигналов приведен в табл. 4.1, в которой также имеются ссылки на их действия по умолчанию и существующие ограничения. ' В системе 4.4ВЯЭ файл дампа имеет название саге.ргоо, где рюо — зто первые 16 символов программы, выполнявшейся во время получения сигнала (такой подход более разумен, так как в случае аварийного завершения еще какого-либо процесса, имеющего того же владельца, файл соте не затрется новым).

— Прим. ред. 148 Глава 4. Сигналы и управление сеансами Сигнал Описание Аварийное завершение АРЗВ Процесс аварийно завершен Сигнал тревоги реального времени 516АВКТ 516АЕВМ Выход ОРЗВ ОЗВ Аварийное завершение 516ЕНЕО ОЗВ Продолжение/ игнорирование 516ЕОНТ Аварийное завершение ОЗВ ОАРЗВ Аварийное завершение Выход Арифметическая ошибка 516РРЕ Освобождение линии терминала ОРЗВ 516НОР Аварийное завершение ОАРЗВ 5161ГЕ Игнорирование 5161НРО Выход ОАРЗВ 5161НТ ЗВ Выход/ игнорирование 5?610 ОЗВ Аварийное завершение Выход Ловушка ввода-вывода 51610Т Завершить процесс ОРЗВ ОРЗВ 516К1ЕЕ 516Р1РЕ Выход Выход 516РОЕЕ Выход ЗВ 516РКОР 08 Неполадки питания Игнорирование 516Р(ВК 5160011 Аварийное завершение Сигнал выхода из терминала (Е(г(+~) ОРЗВ Таблица 4.1.

Сигналы 0МХ 516В05 Ошибка шины Потомок завершил работу или приостановлен Возобновить приостановленный процесс 516ЕМТ Ловушка эмулятора Выполнение недопустимой инструкции Запрос состояния (С(г(+т) Прерывание терминала (Стг(+С) Асинхронное событие ввода-вывода Запись в канал при отсутствии считывающих процессов Событие опрашиваемого устройства Профилирование таймера Действие Доступен в' Примечаниев по умолчанию Игнорирование ООЗВ Сигнал Описание Аварийное завершение 5165Е6У Ошибка сегментации ОАРЗВ 18В ОАРВВ Остановка Выход Остановить процесс 5165ТОР 5165У5 Неверный системный вызов ОАРВВ 088 Завершить процесс Аппаратная ошибка Выход 516ТЕКМ 516ТКАР Аварийное завершение Остановка 088 Сигнал остановки терминала (Етг1+2) Остановка 48В Остановка ,188 Игнорирование 8В 5160К6 ОРВВ Выход 51605К1 51605К2 Выход ОРЗВ 88 5?6УТАГКМ Сигнал тревоги вирчуального времени Выход Изменение размера окна Игнорирование 8В 5161У1КЕН 516ХЕР0 88 Аварийное завершение Превышение лимита процессора 88 Аварийное завершение Превышение лимита размера файла 516Х 152 ' Обозначения; Π— сигнал системы 5ЧК2; А — АН51 С;  — 4.3ВЗО; 5 — 5ЧК4; Р— Р051Х.1; 1 — РО51Х.1, прн условии поддержки управления заданиями, г 1 — не может быть перехвачен, блокирован нлн нгнорнроаан; 2 — не сбрасывается а значение по умолчанию, даже а реализациях Зуагею Ч; 3 — а 5ЧК4 действие по умолчанию — выход, а 4.ЗВ51Э вЂ” игнорирование; 4 — по умолчанию выполнение процесса, если тот был приостановлен, в ином случае сигнал игнорируется; 5 — не может быть заблокирован; 6 — процесс может решить: позволить запись а терминал фоновым процессам без генерации этого сигнала нхн нет; 7 — а 5ЧКЗ н более ранних версиях системы назывался 516СГО.

Важно отметить, что любое действие, в том числе и завершение работы, относится только к тому процессу, которому был доставлен сигнал. Такой подход требует, по крайней мере, чтобы процесс был назначен в текущий момент на выполнение. В загруженных системах для процесса, обладающего низким приоритетом, ожидание в очереди планировщика может занять некоторое значительное количество времени. Еще одна задержка может произой- 516Т5ТР 516ТТ1Н 516ТТО0 Чтение из терминала фоновым процессом Запись в терминал фоновым процессом Экстренное событие канала ввода-вывода Определяется произвольно Определяется произвольно 4.2. Генерирование и обработка сигналов 149 Действие Доступен в' Примечаниях по умолчанию 150 Глава 4.

Сигналы и управление сеансами ти, если процесс окажется выгруженным, приостановленным или блокированным без возможности прерывания. Ядро системы предупреждает процесс о наличии ожидающих его сигналов при помощи вызова функции Ьз)п(), который делается от имени процесса для проверки ожидающих сигналов. Вызов функции Вз(9() происходит только в следующих случаях: + до возвращения в режим задачи после системного вызова или прерывания; + сразу перед блокированием на прерываемом событии; + немедленно после пробуждения от прерываемого события. Если функция 1зз)по возвращает значение ТЯОЕ, то ядро вызовет функцию рз1о() для диспетчеризации сигнала. Эта функция завершит процесс, создаст файл соте (по необходимости) или же вызовет зепЫдО для запуска обработчика, определенного в приложении.

Функция зепй19() возвращает процесс в режим задачи, передает управление обработчику сигнала и указывает процессу на необходимость продолжения выполнения прерванного кода после завершения функционирования обработчика. Реализация этих функций сильно зависит от платформы, так как они должны манипулировать стеком приложения, а также сохранять, загружать и изменять контекст процесса. Сигнал Обычный режим , 'Возврат к нормальной , 'обработчика сигнала ,' Рис.

Характеристики

Тип файла
PDF-файл
Размер
8,36 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее