На самом деле, все гениальное - просто! Модемы виснут по тем же причинам, что и сами "машины", а именно:
1. Программные ошибки разного рода (в модеме это ошибки в программе и в работе процессора) 2. Сбои аппаратного характера (модем - это очень сложная, с технической точки зрения, вещь) 3. "Железо" плохого качества (в данном случае все зависит от фирмы-производителя - у более известной фирмы - виснет каждый пятидесятый, а у более молодой - каждый пятый) 4. Наводки, помехи, задранная частота на шине и различные другие факторы.
Существует интереснейшая статистика - приблизительно каждый тридцатый пользователь модемного оборудования жалуется на то, что модем периодически "подвисает".
Вот что удалось выявить после сложных экспериментов и наблюдений:
В модемах были, есть и всегда будут ошибки, которые не смогли выявить на этапе тестирования, поскольку проявляются они достаточно редко и для их проявления могут потребоваться специфические условия. Запись на жесткий диск приводит к немедленному зависанию модема, что может быть объяснено проблемой аппаратного характера, что сами понимаете устранить нельзя принципиально.
В модеме имеется встроенный деглюкатор, который сбрасывает весь модем каждую секунду-полторы, если в него в данный момент не происходит запись. То есть, если программа попала в цикл, модем автоматически будет перезапущен.
Так вот, стоит отметить, что данное устройство (деглюкатор) сам - чрезвычайно глючная вещь, и если он начал работу в тот момент, когда наблюдался задний фронт сигнала записи, модем зависнет просто "намертво", вплоть до необходимости отключения питания.
В определенные (абсолютно случайные) моменты времени, модем впадает в особенный режим, когда из портов читается всякий мусор, в результате чего появляется отличная от нуля вероятность немедленного и беспричинного разрыва связи с бредовыми кодами произвольного характера. Не лечится. Если модем сбоит, виснет, запускается через раз или работает только на определенных машинах, то можно констатировать наличие проблемного кварца.
На самом деле - это далеко не полный список причин зависания, но не все так страшно - вероятность "словить" глючный модем достаточно невелика - приблизительно один на пятьдесят. К примеру, для материнских плат и мультикарт, дело обстоит намного хуже.