au> Очень просто. Если прерывания не запрещены, значит они будут. Это исходный тезис. И если во время важной операции возможны прерывания, значит система изначально нестабильна=ненадёжна. Это в рамках начального курса по системам на встроенных контроллерах. В вероятности играть никто не учит, по крайней мере нас учили не играть. Любой программист должен знать и знает (ну...) какие у него прерывания, он же их сам и расписывает. Так что моделировать тут нечего даже, автор наступил на собственный хвост.
А в чем рационал? Что именно вы хотите сказать? Что программисты плохо делают свою работу? Ну так займитесь, покажите, как надо - заработаете кучу денег.
ЗЫ Вам не кажется, что бывают ситуации, когда не забиваться на крайне маловероятные условия продуктивнее, чем забиваться? Вы не можете себе это представить? Ну вот, делаем патч для КА и НЕ ЗАБИЛИСЬ на крайне неблагоприятные условия. Упростили (== удешевили и ускорили разработку). Полностью сознавая, что при неблагоприятном стечении обстоятельств потеряем КА. Но при этом, (утрируя), не задержали эксперимент на три месяца, потребных на полную отладку. Вам кажется, что тут есть только один правильный вариант - ваш?
PPS Давно складывается впечатление, что вы считаете инженеров в области ПО менее способными, чем во всех других областях. Менее способными, образованными и т.п. и т.д.
Вопросик есть - почему вы так считаете? Это не отраслевая обида (не хватало еще!
) - это просто недоумение, почему вы думаете, что нормальные, неглупые люди идут в ПО с меньшей охотой, чем в любую другую инженерию?