русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Застосування в серверних програмах


Дата додавання: 2014-05-29; переглядів: 1050.


Подійно-орієнтоване програмування застосовується в серверних програмах для вирішення проблеми масштабування на велику кількість одночасних з'єднань.

У серверах, побудованих за моделлю «один потік на з'єднання», проблеми з масштабованістю виникають з наступних причин:

- занадто великі накладні витрати на структури даних операційної системи, необхідні для опису однієї задачі;

- занадто великі накладні витрати на перемикання контекстів.

Серверний застосунок при подійно-орієнтованому програмуванні реалізується на системному виклику, який отримує повідомлення події одночасно від багатьох дескрипторів (мультиплексування). При обробці подій використовуються виключно неблокуючі операції введення/виведення, щоб жоден з дескрипторів не перешкоджав обробці подій від інших дескрипторів.

 

3 Мультиплексування

Для мультиплексування сполук можуть бути використані наступні засоби операційної системи:

- Select (більшість UNIX систем);

- Poll і epoll (Linux);

- Kqueue (FreeBSD);

- /Dev/poll ( Solaris);

- IO completion port (Windows);

 

Приклади реалізацій

- Веб-сервериNgix та Lighthttpd;

- Проксі-сервер Squid.


<== попередня лекція | наступна лекція ==>
Тема 4 Основи подійно-орієнтованого програмування | Застосування в настільних програмах


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн