Здравствуйте, IID, Вы писали:
IID>Особенный смак в том, что в то время линукс был "последовательным MS-DOS" по-сути. С отсутствием вытеснения внутри сисколлов. Мне еще жутко доставила черно-белая логика preemt_count, и разрезание обработчиков прерываний на top half и bottom half. Исключительно из-за отсутствия нормальных приоритетов. Глядишь, лет через 10-20 до IRQL дорастут.
А причём тут приоритеты? Обработчики прерываний в Линуксе уже много лет как выполняются в обычных потоках, которыми рулит вполне обычный планировщик. Верхняя часть нужна только для того, чтобы запланировать эту работу. Она специально делается минимально сложной для минимизации времени в контексте прерываний.
Альтернатив, собственно, нет. В Винде всё ровно так же с IRQL.