V-comp

Последовательные асинхронные порты
в терминальных и платежных системах

 
 
 






Драйвер поддержки высокоскоростных режимов SerialXp.sys

Методы достижения производительности


Несколько обработчиков прерываний, каждый из которых оптимизирован под конкретный режим работы UART в зависимости от требований приложения;
Никогда не используется «Global Cancel Spin Lock»;
На платформах Windows XP/W2K3 используются «Queued Spin Locks»;
Используется более быстрые чем системные «Cancelable IRP Queues»;
Более оптимальный, по сравнению с serial.sys, исходных код;
Алгоритмическая совместимость с условиями «no aliasing» для возможности более существенной оптимизации средствами компилятора;
Используется оптимизирующий компилятор MS C++ 13.0, в режиме единой глобальной оптимизации по всему исполняемому модулю;
Используются прямые Interlocked-инструкции и набор команд процессоров Intel Pentium Pro (Intel Pentium Pro/II/III, AMD K6/K7/Athlon/Athlon-XP/Athlon-MP).



Объем проделанной работы

Исходный код драйвера (не включая Windows DDK) состоит из 46 файлов С++, 49 h-файлов; всего более 47 тысяч строк, более полутора мегабайт исходного кода. Драйвер SerialXP (также как ExactPerformance, StreamLabs Alpha и CronyxDvbBundle) основывается на библиотеке шаблонов C++ для разработки драйверов Windows 2000/XP/W2K3 (C++ templates and classes library for Windows 2000/XP/W2K3 device drivers)

В начало

Рейтинг@Mail.ru

Copyright 2010 V-comp