October 14th, 2016

640 килобайт почти хватит всем!

У меня однажды была милая история с DOS-овой машинкой и падавшим технологическим TSR-ом. Задачка у того TSR-а была относительно простая: он висел в памяти персоналки, по расписанию соединялся по "токовой петле" с многоканальной мерялкой (МИП Ш-711, вдруг кто помнит), расшифровывал её бормотание, и записывал несколько десятков байт на дискетку, используя разнообразную избыточность. Дисковод пломбировался, дискетка менялась либо раз в год, либо если бы вдруг приключился какой труп. Всё это шебуршание не требовало человеческих телодвижений, поэтому ящик тихонечко стоял в углу пультовой, и заодно использовался людьми для всяких "лексиконов" и прочей мелочи.

А потом TSR у одного клиента начал периодически падать и перезагружать машину. В течение месяца это стало массовым, по всем клиентам, начались разговоры про криворуких нас и про вкорячивание в машины аппаратных вотчдогов для компенсации нашей криворукости. Но причина нашлась быстро, хотя никто из виновных так и не сознался --- чудила новая версия "Диггера" (игрушка такая была). И только она.

Решение было быстрым, простым и свирепым: мы увеличили размер резидентной части своей программулины буквально на килобайт, после чего новый "Диггер" (и только он) перестал влезать в оставшуюся память :)