унок і контрольні точки.
Подвійний рахунок організується зазвичай по такою схемою. Окремий фрагмент завдання вирішується двічі, потім результати порівнюються, якщо вони збігаються, то рішення вважається правильним, і переходять до наступного фрагменту програми. Якщо ж результати не збігаються, то може бути виконана третя спроба, і якщо результати третьої спроби збігаються з одним з раніше отриманих результатів, то вони вважаються правильними.
Тут ми знову зустрічаємося з контуром управління. Об'єктом управління в такому контурі є фрагмент програми. Мета контуру - досягнення високої достовірності рішення ціною втрати часу.
Існують модифікації методу подвійного рахунку, наприклад, другий прорахунок може бити виконаний по іншому алгоритму; робиться це в припущенні, що перешкода може вибірково впливати на конкретний алгоритм, на конкретну операцію.
Контрольні точки організовуються в програмах, час виконання яких досить великий - кілька десятків хвилин, наприклад. Мета цього способу - економія часу виконання програми при досить високому рівні достовірності отриманого результату.
Сам спосіб полягає в тому, що в програмі розставляються так звані контрольні точки, в які поміщається звернення до процедури "фотографування" оперативної пам'яті в зовнішню пам'ять. Контрольні точки розставляються таким чином, щоб час виконання програми між контрольними точками було в межах 5-10 хвилин. Якщо в якийсь момент в проміжку між контрольними точками стався збій обладнання або з'явилася яка-небудь перешкода, що не що дозволяє очікувати достовірний результат рішення, то програму можна запустити не з самого початку, втративши весь час рішення, а з попередньою контрольної точки, попередньо відновивши відповідний стан оперативної пам'яті з магнітної стрічки. Загублено буде практично тільки час, що минув після організації відповідної контрольної точки.
Звичайно, організація контрольних точок далеко не завжди така проста справа, як могло б здатися. Існує багато проблем, які доводиться при цьому вирішувати, але чимось ж треба платити за економію часу рішення задачі при нестійкий працюючої апаратурі.
Технології захисту від проникнення перешкоди
Як вже говорилося, проникнення некоректних значень (перешкод) в програму чревато дуже серйозними наслідками. Тому зазвичай робляться ті чи інші умови по організації контролю. Програмісти виконують цю роботу кожен по-своєму. У результаті виявляється, що навіть для однакових вхідних величин засоби захисту від перешкод, побудовані різними програмістами відрізняються як витратами на створення цих коштів, так і ретельністю захисту.
На жаль, першопричиною поганого контролю в програмах, є недостатнє уявлення про наслідки цього поганого контролю, про реальність перешкод, зайвої самовпевненості з одного боку і дивовижною довірливості з іншого. p> Програмування з захистом від перешкод зазвичай забирає надто багато часу при підготовц...