А   Б  В  Г  Д  Е  Є  Ж  З  І  Ї  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Ю  Я 


Програма - обробка - помилка

Програми обробки помилок займаються відновленням системи після збою. За типом помилки вони визначають дії, необхідні для її виправлення. Залежно від очікуваної частоти збоїв при різних типах помилок більшість, якщо не всі, програм обробки помилок можуть перебувати не в основній пам'яті, а в допоміжній.

Програма обробки помилок ПУ аналізує тип помилки і при збої пристрою уточнює стан ПУ до намагається виправити збійну ситуацію шляхом багаторазового повторення початкової програми, при виконанні якої стався збій. Число повторень залежить від типу помилки і ПУ.

Адреса програми обробки помилок вказується в окремому слові, наступного безпосередньо за SVC 202 причому старший байт цього слова повинен бути нульовим. Якщо адреса програми обробки помилок заданий, то після завершення обробника команди в разі помилки управління передається за цією адресою. У разі успішного завершення обробника управління передається команді, наступній за адресою програми обробки помилок. При відсутності цієї адреси в разі помилки виконання програми, що видала SVC 202 припиняється.

У програмі обробки помилок слід організувати висновок докладних повідомлень, які націлюються увагу дослідника на виявлену помилку. Повідомлення повинні супроводжуватися вказівкою логічних ключів, за допомогою (яких дослідник може частково або повністю усунути помилку. 
Наприклад, викликається програма обробки помилок при виникненні деяких небажаних результатів. Звичайно, у багатьох випадках можна явно перевірити умови і явно вказати відповідну програму. Однак таке рішення буде сильно захаращувати основний алгоритм. Тому для спеціальних умов, які можуть виникнути, наприклад, при налагодженні програми, доцільніше скористатися неявними перевірками.

Чи забезпечують вони випробування програм обробки помилок і ефективності виконання робочої програми. Розкривають чи налагоджувальні здатності компіляторів. Ці та багато інших питань повинні бути поставлені при виборі відповідної суміші завдань для пробного прогону, і на кожен з них потрібно отримати відповідь.

У разі аварійного завершення програми обробки помилок видають діагностичні повідомлення.

CSW і ECSW використовуються програмою обробки помилок для повторення операцій введення-виведення.

Переривання від системи апаратного контролю моделі 155. CSW і ECSW використовуються програмою обробки помилок для повторення операцій введення-виведення.

Переривання від засобів контролю запускає програми обробки помилок, що входять до складу операційної системи, які на підставі отриманої інформації намагаються відновити обчислювальний процес.

Набір таких програм, як програми обробки помилок, програми обробки переривань і сервісні програми, зазвичай називається одним загальним терміном керуюча програма і надсилається постачальником обладнання в якості частини набору обслуговуючих засобів. Програма опитування (в тому загальному сенсі, в якому цей термін використовується тут) і обробна програма звичайно пишуться самим користувачем, хоча основні компоненти першої з них можуть бути передані постачальником.

Прапор аварійного ініціювання встановлюється Р2 програмами обробки розпізнаних помилок, які отримують управління від Диспетчера введення-виведення.

Помилка каналу, яку не може виправити програма обробки помилок каналу.

Програма обробки SVC 202 дозволяє вказати адресу програми обробки помилок, виявлених при виконанні викликаного обробника команди або процедури.

При виникненні аварійних ситуацій в процесі виконання програми видаються діагностичні повідомлення програм обробки помилок або коди завершення, сформовані операційною системою.

Яка інструкція дозволяє виконати перехоплення помилок у процедурі і передачу управління програмою обробки помилок.

Структура основної пам'яті в режимі. В області ядра ОС виділяються поля пам'яті для виклику деяких нерезидентних SVC-програм і програм обробки помилок введення-виведення. У ці поля динамічно викликаються програми, які використовуються відносно рідко, і тому постійно зберігати їх в основний пам'яті немає необхідності.

Коди завершення видаються ОС в тих аварійних ситуаціях, для яких не передбачена реакція програм обробки помилок.

Вектор переривання інструкції TRAP (восьмеричний адресу 34) встановлюється для передачі управління до програми обробки помилок системи ДІАМС.

Програми методів доступу автоматично виконують функції перевірки коду завершення і умови Помилки, планування і виконання програм обробки помилок, перевірки умов кінця файлу і кінця томи. Управління проблемною програмі не повертається до тих пір, поки ці функції не будуть виконані. 
Кожному діагностичному повідомленням передує спеціальний код виду lEXnnnl для повідомлень транслятора або виду IHInnnI для повідомлень програм обробки помилок.

Кожному діагностичному повідомленням передує спеціальний код виду lEY /mnl для повідомлень транслятора або виду IHCrannl для повідомлень програм обробки помилок. Тут ппп - номер повідомлення, за яким в[1]або[5]можна знайти короткий опис можливих ситуацій, при яких видається дана діагностика. Коди завершення видаються операційною системою в тих аварійних ситуаціях, для яких не передбачена реакція програм обробки помилок.

Існує й інший набір програм (які можуть перебувати як в основний, так і в допоміжній пам'яті) - програми обробки помилок. Вони служать для виправлення помилок, які не можуть бути автоматично виправлені самої апаратурою. Типовою є програма обробки помилок читання з допоміжної пам'яті, наприклад з магнітної стрічки.

Основними програмами, на які передає управління програма годин, є програма завершення обробки повідомлень, програма обслуговування переривань, програма обробки помилок, програма обробки і програма повернення. З програми обробки переривань управління може бути передано на програму установки таймер, яка звертається потім до програми опитування, і на обробку всіх інших переривань. Незважаючи на те що кожна з цих програм позначена одним блоком, на ділі за кожним з таких блоків ховається цілий ряд подблоков, таких, як, наприклад, подблоки програми обробки, де можливі звернення для виконання будь-якої функції з числа тих, що вказані на блок-схемі програми.

У деяких організаціях дозволяється використовувати в конструкціях ON такий оператор GOTO, який передає управління на кінець процедури або на програму обробки помилок. Тому в одних організаціях Наведений вище приклад буде допустимим, а в інших немає. Взагалі кажучи, принцип повернення в точку виклику не повинен порушуватися навіть при описі реакцій на переривання.

Якщо в алгол-програмі використовуються раніше оттранслировать процедури, то слід мати на увазі, що в процесі виконання програми діагностичні повідомлення програм обробки помилок (наприклад, при виході значення індексу за межі масиву) можуть ставитися і до цих процедур. В таких процедурах нумерація операторів ведеться незалежно від основної програми і починається також з одиниці. А в діагностичних повідомленнях, як зазвичай, вказується тільки номер оператора без уточнення того, чи стосується вона до основної програми або до однієї з таких процедур.

Якщо в цьому повідомленні системний код завершення ххх 000 а призначений для користувача код уууу ф 0000 то цього повідомлення передує діагностичне повідомлення програми обробки помилок. Якщо ж уууу 0000 а ххх Ф 000 то пояснення ситуації Йожно знайти в[1]або[4]по системному коду завершення.

Якщо операнд ACSMETH визначає BDAM, BPAM, BSAM або QSAM, то PARM1 визначає регістр, що містить інформацію, яка перебувала в регістрі 1 при вході в програму обробки помилок введення-виведення.

Якщо операнд ACSMETH визначає BDAM, BPAM, BSAM, QISAM або QSAM, то PARM2 визначає регістр, що містить інформацію, яка перебувала в регістрі 0 при вході в програму обробки помилок введення-виведення. Для BISAM операнд PARM2 визначає адресу DECB, що міститься в регістрі 0 при вході в програму обробки помилок введення-виведення. Якщо ACSMETHEXCP, то операнд PARM2 повинен бути опущений.

Для збільшення надійності і стійкості обчислювального процесора ОС ЄС містить розширені засоби контролю і діагностики стану обчислювального комплексу, в які входять: програма обробки переривань від схем контролю; програма обробки помилок в каналі введення-виведення; програма обробки помилок периферійних пристроїв. ці програми забезпечують засоби відновлення обчислювального процесора шляхом повторення операції при збоях основний пам'яті або центрального процесора, каналів введення-виведення і периферійних пристроїв.

Для збільшення надійності і стійкості обчислювального процесора ОС ЄС містить розширені засоби контролю і діагностики стану обчислювального комплексу, в які входять: програма обробки переривань від схем контролю; програма обробки помилок в каналі введення-виведення; програма обробки помилок периферійних пристроїв. Ці програми забезпечують засоби відновлення обчислювального процесора шляхом повторення операції при збоях основний пам'яті або центрального процесора, каналів введення-виведення і периферійних пристроїв.

Операнд ERROPT необов'язковий, але якщо він записаний, то це означає, що запис, що містить помилку, повинна бути: (а) оброблена так само, як і в разі, коли вона безпомилкова; (Ь) пропущена; (С) використана для передачі управління на написану користувачем програму обробки помилок. Якщо при читанні знаходять помилку порушення парності, програми IOCS повертають стрічку назад і 100 разів повторюють читання, перш ніж буде встановлено, що ця помилка дійсно має місце. Якщо операнд не збережено, то при появі помилок виконання завдання припиняється.

Адреса програми обробки помилок вказується в окремому слові, наступного безпосередньо за SVC 202 причому старший байт цього слова повинен бути нульовим. Якщо адреса програми обробки помилок заданий, то після завершення обробника команди в разі помилки управління передається за цією адресою. У разі успішного завершення обробника управління передається команді, наступній за адресою програми обробки помилок. При відсутності цієї адреси в разі помилки виконання програми, що видала SVC 202 припиняється.

Тут використовується функція CHR (), яка повертає символ, що відповідає його десятичному коду ASCII  (Детальніше див. Розд. При виконанні програми обробки помилок за допомогою команди ON ERROR DO ім'я програми на початку цієї програми доцільно відключити буфер клавіатури. Підпрограма, до якої здійснюється перехід з основної програми при виявленні будь-якої помилки. Операції, які виконуються програмою обробки помилок, залежать від вимог надійності, яким повинна задовольняти основна програма, а також від прийнятої методики аналізу та усунення помилок. В типовому випадку підпрограма обробки помилок може або виробити повідомлення про помилку, або спробувати встановити причину виникнення помилки, або таким чином скорегувати її, щоб стало можливим продовження нормальної роботи.

Макрокоманда SYNADAF виконує аналіз помилок введення-виведення і на основі результатів аналізу формує повідомлення. Ця макрокоманда включається в програму обробки помилок введення-виведення, адреса якої вказується в операнде SYNAD макрокоманди DCB. Необхідні параметри для виконання макрокоманди SYNADAF містяться в регістрах 0 і 1 при вході в програму.

Програмування будь-якої операції введення - виведення являє собою довгу і складну задачу. Частково це стосується і складання програм обробки помилок введення - виведення.

Вхідна мова Бейсік-іскра допускає використання конструкції RETURN CLEAR, яка повертає управління за адресою з верхівки стека і одночасно чистить весь стек. Це дозволяє видалити сліди незавершених підпрограм в програмі обробки помилки.

Повторення операцій при помилках периферійних пристроїв (ПУ) зазвичай виконується за допомогою програмних засобів. Для цього в операційних системах для всіх типів ПУ є програми обробки помилок.

У заголовку Черги каналу аналізується прапор аварійного ініціювання. Якщо прапорець встановлений, значить ініціювання операції введення-виведення було виконано Р2 програмами обробки розпізнаних помилок. Їм повертається управління для аналізу. Вхід з черги каналу не викреслюється, так як Р2 програма може повторити для нього операцію введення-виведення.

Якщо операнд ACSMETH визначає BDAM, BPAM, BSAM, QISAM або QSAM, то PARM2 визначає регістр, що містить інформацію, яка перебувала в регістрі 0 при вході в програму обробки помилок введення-виведення. Для BISAM операнд PARM2 визначає адресу DECB, що міститься в регістрі 0 при вході в програму обробки помилок введення-виведення. Якщо ACSMETHEXCP, то операнд PARM2 повинен бути опущений.

Оскільки основу базового блоку DOS складають обробники переривань верхнього рівня, цей блок часто називають блоком або модулем обробки переривань. Важливими компонентами ВМ DOS є програми управління файловою системою, блочного обміну даними з дисками, розподілу основ ної пам'яті і програми обробки помилок.

Існує й інший набір програм (які можуть перебувати як в основний, так і в допоміжній пам'яті) - програми обробки помилок. Вони служать для виправлення помилок, які не можуть бути автоматично виправлені самої апаратурою. Типовою є програма обробки помилок читання з допоміжної пам'яті, наприклад з магнітної стрічки.

Крім того що розподіл сторінками за запитами забезпечує програмісту дуже велику пам'ять, ця схема розподілу сприяє підвищенню пропускної спроможності системи. Дослідження показали, що в дійсності використовується тільки частина адресного простору. Особливо гостро це видно на прикладі програм обробки помилок, які часто взагалі не використовуються при конкретному прогоні, або таблиць, які тільки частково заповнюються даними, що використовуються в даному прогоні. Це не означає, що ці частини програми не потрібні, а лише наводить на думку, що краще не завантажувати такі програми в пам'ять, поки вони дійсно не будуть потрібні при прогоні. Деякі дослідження показали, що до 25% адресного простору типових програм не використовується в конкретному прогоні. Таким чином, розподіл сторінками за запитами може дозволити обслуговувати в мультипрограммном режимі на 25% користувачів більше без скільки-небудь істотних додаткових витрат.

Якщо код умови дорівнює одиниці, то або це переривання від друкарської машинки, або нерозпізнані помилка. У Блоці управління даними запам'ятовуються регістри вводу-виводу і аналізується слово стану каналу, щоб перевірити, чи не встановлені прапори нерозпізнаних помилок. Якщо прапори встановлені, то викликаються Р2 програми обробки нерозпізнаних помилок.

У прикладі 1212 переривання може виникнути або при введенні значень А і В, або при введенні значення С. Всі зазначені змінні є числовими, і варто користувачеві помилитися при наборі відповідних даних, як настане аварійна ситуація. За сигналом переривання система передає управління оператору 170 - входу в програму обробки помилок. Після видачі з'явиться повідомлення про необхідність (оператор 180) управління передається на невдало виконаний оператор введення.