|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Yar Tikhiy 2:5020/118 04 Sep 2004 14:53:57 To : Valentin Nechayev Subject : Re: interrupt -------------------------------------------------------------------------------- YT>> Дело все в том, что в версии 4 еще сохранилось деление YT>> ядра на верхнюю и нижнюю половины. Верхняя считается как YT>> system, это все, что выполняется от имени процессов (грубо YT>> говоря, syscalls). Hижняя -- interrupt, ее выполнение YT>> инициируется как раз из прерываний от устройств. Очевидно, YT>> что ipfw относится к нижней части. VN> Оно и в пятерке есть. Только в старом bottom half остался только таймер. VN> Остальное загнали на псевдопроцессы. Как по мне, не стоило так резко VN> переключаться на эту схему. Почему же? Коль решили делать систему с возможностью параллельного выполнения, то надо переходить на многонитевое ядро. Ведь раньше ядро BSD по сути представляло собой набор процедур, которые вызывались процессами пользователей или обработчиками прерываний. Hасколько я понял, при таком подходе весьма сложно сделать тонкую блокировку общих данных и т.п. Теперь аппаратное прерывание только будит соответствующую нить в ядре. Говоря умными словами, произошла смена парадигмы :-) А в interrupt считают как раз время выполнения этих особых нитей, чтобы пользователи могли еще какое-то время мыслить по-старинке ;-) YT>> В CURRENT, я думаю, мы когда-нибудь увидим отдельные нити YT>> ip_input, ipfw_in, ip_forward, ipfw_out, ip_output. VN> Вполне возможно. А зачем ipfw_in отдельно от ip_input? Чтобы можно было отдельно следить за потреблением ресурсов. Тогда легче будет решать вопросы вроде: "Почему тормозит мой маршрутизатор?" -- Yar --- ifmail v.2.15dev5 * Origin: Chemistry Department of Moscow State University (2:5020/118) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/11683b824c041.html, оценка из 5, голосов 10
|