Обробка нижніх половин і відкладені дії

попередньому розділі були розглянуті обробники переривань – механізм ядра, який дозволяє вирішувати завдання, повязані з апаратними перериваннями Звичайно, обробники переривань дуже корисні і є необхідною частиною ядра Однак, у звязку з деякими обмеженнями, вони являють собою лише частину процесу обробки переривань Ці обмеження включають сліду-

ющіе моменти

• Оброблювачі переривань виконуються асинхронно і потенційно можуть переривати виконання іншого важливого коду (навіть інші обробники переривань) Тому обробники переривань повинні виконуватися як можна швидше

• Оброблювачі переривань виконуються в кращому випадку при забороненої оброблюваної лінії переривання і в гіршому випадку (коли встановлений прапор SA_INTERRUPT) – при всіх заборонених лініях запитів на переривання І знову вони повинні виконуватися якомога швидше

• Оброблювачі переривань дуже критичні до часу виконання, так як вони мають справу з апаратним забезпеченням

• Оброблювачі переривань не виконуються в контексті процесу, тому вони не можуть блокуватися

Тепер має бути очевидним, що обробники переривань є тільки частиною повного вирішення проблеми обробки апаратних переривань Звичайно, необхідний швидкий, простий і асинхронний обробник, дозволяє негайно відповідати на запити обладнання і виконувати критичну до часу виконання роботу Цю функцію обробники переривань виконують добре, але інша, менш критична до часу виконання робота повинна бути відкладена до того моменту, коли переривання будуть дозволені

Для цього обробка переривання ділиться на дві частини абополовиниПерша частина обробника переривання (Top half, верхня половина) виконується асинхронно

і негайно у відповідь на апаратне переривання так, як це обговорювалося в попередньому розділі У цьому розділі ми розглянемо другу частину процесу обробки переривань- нижні половини (bottom half)

Джерело: Лав, Роберт Розробка ядра Linux, 2-е видання : Пер з англ – М: ТОВ «ІД Вільямс »2006 – 448 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*