LINUX.ORG.RU

Ожидание запроса к серверу и энергопотребление

 ,


0

1

Как в линуксе с этим? Каждый сервер реализует свой цикл ожидания запроса или они практически все используют низкоуровневую оптимальную функцию из ядра? Сильно ли повышается энергопотребление при увеличении количества ожидающих запроса серверов на машине?

Я правильно понимаю, что dbus построен поверх обыкновенных сокетов и с вышеназванных вопросов ничего особенного для него нет? Тогда ведь если приложение ожидает сигнала от dbus, то оно превращается в обыкновенный слушателя сокета с циклом ожидания?

★★★★★

если ты ничего не знаешь про многопоточное программирование то объяснять бесполезно, а еслиб знал то не спрашивал

Deleted
()
Ответ на: комментарий от Deleted

Сразу видно почитателей гегельянства.

anonymous
()

Как в линуксе с этим?..

Ваши вопросы содержат в себе правильный ответ на самих себя. Вы все правильно поняли.

Какой бы метод ожидания вы не применили (select, epoll, ...), все равно процесс спит, пока для него нет данных. От числа спящих практически ничего не зависит.

Deleted
()

все используют низкоуровневую оптимальную функцию из ядра?

this

no-such-file ★★★★★
()

Цикла ожидания нет. Приложение, вызывающее select/poll/epoll/read/write отправляется в сон, если данных нет. Если нет процессов, пригодных к исполнению, ядро просто вызывает hlt (ну или что-то подобное). Когда приходят данные, сетевая карта дёргает IRQ, обработчик IRQ вычитывает данные из буфера карты. Затем обработчики в softirq производят разбор данных, после чего слушающие процессы будятся. Как-то так. Нет особой разницы между ожиданием одного сокета и ожиданием 10k сокетов.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо за ответ. Пока вопросов больше не имею.

ados ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.