Роль программиста

Понятие устойчивости программы

Пользовательские программа обработки исключений

Стандартная обработка исключений

1) Одним из возможных вариантов "программ обработки исключений" – является так называемые "стандартные программы обработки исключений"

 

2) Стандартные программы обработки исключений создаются системными программистами разработчиками операционной системы (ОС) и загружаются в ходе загрузки ОС.

 

3) При создании стандартные программ обработки - ничего не известно об алгоритмах выполняемых прикладных программ и потому – разработчики ОС не имеют возможности программируя - предложить какие-то разумные действия направленные на исправление возникшей ситуации. Поэтому стандартные программы, как правило, не более чем выводят сообщения об ошибке и предлагают пользователю снять задачу с выполнения.

 

 

1) В ряде случаев стандартная обработка исключений – нежелательна или даже неприменима. Пример: программа управляет ядерным реактором. J

Как правило: неприемлема стандартная обработка исключений и в любых многопользовательских, многотерминальных задачах – ошибка при выполнении задания одного пользователя, в таком случае, будет приводить к падению всей системы. L

 

2) Поэтому в таких случаях необходимо или желательно – прикладному программисту писать свои собственные программы обработки исключений, так называемые "пользовательские программы обработки исключений". Такие программы уже могут, учитывая особенности решаемой задачи, предписывать действия направленные на преодоление исключительной ситуации и продолжение вычислений, продолжение работы – а не снятие программы с выполнения.

 

3) При загрузке задачи "стандартные программы обработки исключений, заменяются на "пользовательские программы" (методом перехвата векторов прерываний).

 

 

4) Если это необходимо, возможна и перегрузка пользовательских программ обработки исключений - уже по ходу решения задачи.

 

 

1) Устойчивость программы – это способность программы продолжать работу и давать разумные результаты даже в случае возникновения исключительных ситуаций. В ряде применений "устойчивость" – важнейшая характеристика качества программы, и качества работы вычислительной системы в целом.

 

2) Устойчивость программы зависит от:

А) Качества работы программиста;

Б) Особенностей ЭВМ (в частности – процессора).

 

 

1) Разобраться: обработка каких исключительных ситуации предусмотрена в программируемой ЭВМ и каковы особенности реакции процессора программируемой ЭВМ на возникновение каждой из возможных исключительных ситуаций.

 

2) Должен проанализировать программу на предмет: какие исключительные ситуации могут возникнуть в данной конкретной программе, в каких фрагментах программного кода, и как на каждую из ситуаций, и в каждом из фрагментов программы - следует отреагировать.

 

3) Разработать и закодировать пользовательские программы обработки исключительных ситуаций.

 

4) В ряде программ – код, связанный с обработкой исключений, составляет большую и интеллектуально наиболее сложную часть программного кода. В таких случаях знание архитектуры программируемой ЭВМ, особенностей обработки исключений именно в данной архитектуре ЭВМ особенно важно.

 

5) Кстати заметим: код обработки исключительных ситуации машинозависим, даже - если написан на языке высокого уровня. Ведь у каждого семейства процессоров – свой набор обрабатываемых исключительных ситуации, свои специфические особенности реагирования аппаратуры на возникновение тех или иных исключительных ситуаций. Оттого необходимость обработки исключений зачастую важнейшее или даже единственное препятствие к написанию переносимых программ. (Переносимая программа – программа на языке высокого уровня, которая, путём перекомпиляции, может быть перенесена с одних семейств ЭВМ - на другие.)