Перенаправление прерываний
Перенаправление прерываний
Начнем с попытки устранить самое неприятное из возможных прерываний: к вам обращаются с проблемой, которую должен решить кто-то другой. Может быть, поступим так:
— Том, проблема с веб-сервером.
— Отлично! Сообщи мне о результатах, когда поговоришь с теми, кто отвечает за работу веб-серверов.
Нет, это было бы слишком грубо. Самое приятное в работе системного администратора то, что каждый считает вас всезнающим и всемогущим. К сожалению, большинство из нас всемогущи лишь в какой-то узкой области. Хотя не относящиеся к вашим прямым обязанностям вопросы и раздражают, нельзя сердиться на тех, кто их задает. Вы когда-нибудь обращались не по адресу преднамеренно? Сомневаюсь. Итак, когда кто-то задает вам вопрос, явно выходящий за рамки ваших обязанностей, поставьте себя на место этого человека. Он просто не знает, куда идти. Скорее всего, это комплимент: вы самый умный из тех, к кому он может обратиться за помощью (либо самые умные ушли обедать). В большинстве фирм далеко не очевидно, к кому лучше всего обращаться при возникновении той или иной проблемы.
Не выяснив, к кому клиент должен обратиться за помощью, вы не должны огорчаться, что он пришел не по адресу. Я довожу такую информацию до клиентов по-разному — с помощью веб-страниц, указателей на стенах, подписей в электронных сообщениях и т. д. Когда я работал в Bell Labs, у нас по дороге к комнате системных администраторов висели плакаты: «Стоп! Вы отправили электронное сообщение с просьбой о помощи?» В другой фирме первое, что я сделал, — установил внутренний веб-сайт со списком специалистов в той или иной области, к которым клиенты должны обращаться в зависимости от конкретной ситуации. В веб-броузерах эта страница была сделана стартовой, и вскоре все хорошо знали ее содержимое.
Как донести до пользователей правильную процедуру обращения за помощью? Оторвитесь от книги и оглядите свою рабочую комнату. Отойдите на 50 футов от рабочего места, развернитесь и направьтесь к нему, представляя, что вы — типичный клиент. Что вы видите на своем пути? Ведет ли он прямо к вашему рабочему месту или к другому сотруднику? Что можно сделать, чтобы клиент обратился к кому-то, кроме вас? Если у вас есть формальная многоуровневая организация системного администрирования, направляются ли клиенты к соответствующим специалистам? Как можно улучшить эту систему? Ослабить поток прерываний может большой указатель или доска объявлений, где написано, кто за что отвечает. Неплохо развесить указатели, как в аэропорту, только вместо «Регистрация», «Багаж» и «Кафе» написать «Электронная почта», «Интернет» и «Принтеры», чтобы клиенты знали, куда идти за помощью.
У вас все в порядке?
Клиенты часто достают меня вопросом «А вы знаете, что случилась неприятность?» При наличии системы мониторинга, такой как Nagios, позволяющей клиентам проводить самостоятельную проверку, количество подобных прерываний уменьшается. Однако если ваша система достаточно стабильна, у клиентов не вырабатывается привычка проверять страницу состояния системы в первую очередь. Но вы, по крайней мере, можете установить ссылку на нее на начальной странице вашей локальной сети.
Когда кто-то обнаруживает сбой в подсистеме, за которой программа Nagios не следила, я горячо благодарю его, вплоть до отправки ему электронного сообщения о том, что теперь Nagios ведет мониторинг этой подсистемы и что мы признательны ему за обнаружение сбоя, поскольку это позволило нам сделать систему мониторинга еще более эффективной.
Можно ли обучить клиентов обращаться за помощью к соответствующему специалисту? Вполне. Первый шаг — информировать их, как они должны поступать. Затем надо сделать так, чтобы клиенты, выполняющие инструкцию, обслуживались значительно лучше. Наказание за несоблюдение правил редко бывает эффективным. Спросите любого дрессировщика, и он подтвердит, что поощрение действует лучше, чем наказание (в долгосрочной перспективе). Люди, не соблюдающие инструкцию, являются индикатором того, что она сформулирована недостаточно четко, неочевидна или неэффективна.
Увы, люди все равно будут подходить к вам, когда вы пытаетесь сосредоточиться над проектом.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Обработчики прерываний
Обработчики прерываний Функция, которую выполняет ядро в ответ на определенное прерывание, называется обработчиком прерывания (interrupt handler) или подпрограммой обслуживания прерывания (interrupt service routine). Каждому устройству, которое генерирует прерывания, соответствует свой
Запрещение и разрешение прерываний
Запрещение и разрешение прерываний Для локального запрещения прерываний на текущем процессоре (и только на текущем процессоре) и последующего разрешения можно использовать следующий код.local_irq_disable();/* прерывания запрещены ... */local_irq_enable();Эти функции обычно реализуются в
Реализация отложенных прерываний
Реализация отложенных прерываний Отложенные прерывания определяются статически во время компиляции. В отличие от тасклетов, нельзя динамически создать или освободить отложенное прерывание. Отложенные прерывания представлены с помощью структур softirq_action, определенных
Использование отложенных прерываний
Использование отложенных прерываний Отложенные прерывания зарезервированы для наиболее важных и критичных ко времени выполнения обработчиков нижних половин в системе. Сейчас только две подсистемы — подсистема SCSI и сетевая подсистема — напрямую используют механизм
Обработчик прерываний таймера
Обработчик прерываний таймера Теперь, когда мы разобрались, что такое jiffies и HZ, а также какова роль системного таймера, рассмотрим реализацию обработчика прерываний системного таймера. Обработчик прерываний таймера разбит на две части: часть, зависимую от аппаратной
Источники прерываний таймера
Источники прерываний таймера На этом мы, пожалуй, закончим наш краткий экскурс по стране таймеров и перейдем к вещам, которые уже не так очевидны.Откуда возникают прерывания таймера? На рисунке ниже приведены аппаратные компоненты (и некоторые характерные для PC значения
Активность прерываний по уровню и по фронту
Активность прерываний по уровню и по фронту Недостает еще одного фрагмента мозаики. Большинство контроллеров прерываний могут быть запрограммированы на чувствительность либо к уровню сигнала прерывания, либо к его фронту.В режиме чувствительности по уровню считается,
Написание обработчиков прерываний
Написание обработчиков прерываний Давайте посмотрим, как настроить обработчики прерываний — вызовы, характеристики и кое-какие стратегии
Подключение обработчиков прерываний
Подключение обработчиков прерываний Для подключения к источнику прерывания воспользуйтесь функцией InterruptAttach() или InterruptAttachEvent().#include <sys/neutrino.h>int InterruptAttachEvent(int intr, const struct sigevent *event, unsigned flags);int InterruptAttach(int intr, const struct sigevent* (*handler)(void *area, int id), const void *area, int size, unsigned flags);Параметр
Обработчики прерываний
Обработчики прерываний Обработчики прерываний в QNX4 могли либо возвратить идентификатор прокси (указывая этим, что надо переключить прокси и таким образом уведомить ее владельца о прерывании), либо возвратить нуль (что означало бы, что в дальнейшем ничего делать не
Обработка прерываний таймера
Обработка прерываний таймера Каждый компьютер имеет аппаратный таймер или системные часы, которые генерируют аппаратное прерывание через фиксированные интервалы времени. Временной интервал между соседними прерываниями называется тиком процессора или просто тиком (CPU
Перенаправление
Перенаправление Следующая командная конструкция — это так называемое перенаправление ввода/вывода. Чтобы понять,что это такое, нужно помнить две вещи: 1. любая команда получает данные для своей работы (например, список опций и аргументов) со стандартного устройства
10.1.3 Программы обработки прерываний
10.1.3 Программы обработки прерываний Как уже говорилось выше (раздел 6.4.1), возникновение прерывания побуждает ядро запускать программу обработки прерываний, в основе алгоритма которой лежит соотношение между устройством, вызвавшим прерывание, и смещением в таблице
4.11.7. Перенаправление
4.11.7. Перенаправление Все правила, которые мы описывали до сих пор, относятся только к доступу к компьютеру. В случае если компьютер используется как выделенный сетевой экран, то тут настройки изменяются, и в основном вы будете работать с forward-записями.Сетевой экран,
Обработчики прерываний
Обработчики прерываний Везде, кроме последней главы, все, что мы пока делали в ядре, сводилось к запросам и ответам разным процессам или работали со специальными файлом, посылали ioctl или выдавали системный вызов. Но работа ядра не должна сводится только к обработке
2 Сосредоточенность как средство против прерываний
2 Сосредоточенность как средство против прерываний Сколько раз вы говорили шефу, что можете сделать работу за день, если вас не будут прерывать, а в реальности тратили на нее месяц? Системные администраторы говорят это, потому что их работу над проектом постоянно