Прихващане на прекъсвания
Извършена работа през 2000 г
Прихващане на прекъсвания - Курсов проект, раздел Програмиране, - 2000 - Системи за програмиране и операционни системи Прихващане на прекъсвания. Процесорната архитектура 80X86 осигурява специални Slu.
Прихващане на прекъсвания. Архитектурата на процесора 80x86 предвижда специални случаи, когато процесорът спира да изпълнява текущата програма и незабавно прехвърля управлението на програма за обработка, специално написана за справяне с такава ситуация.
Обикновено манипулаторите на прекъсвания се използват за обработка на прекъсвания от външни устройства или за обслужване на заявки от други програми. 2.6. Прекъсвания на външно устройство Терминът прекъсване означава прекъсване на външно устройство или хардуерно прекъсване. Външни устройства като клавиатура, флопи устройство, таймер, звукова карта и т.н. предоставят сигнал, който кара процесора да прекъсне изпълнението на програмата и да прехвърли управлението към манипулатора на прекъсванията.
Общо на персоналните компютри се използват 15 хардуерни прекъсвания, въпреки че теоретично възможностите на архитектурата позволяват броят им да бъде увеличен до 64. IRQ1 INT 9 - прекъсване от клавиатурата, извиква се при всяко натискане и отпускане на клавиш на клавиатурата. Стандартният манипулатор за това прекъсване изпълнява доста функции, от рестартиране с Ctrl-Alt-Del до поставяне на кода на клавиша в буфера на клавиатурата на BIOS. Най-полезните хардуерни прекъсвания за програмите са системният таймер и прекъсванията от клавиатурата.
Тъй като стандартните манипулатори на прекъсвания за тези прекъсвания изпълняват много от функциите, от които зависи системата, те не могат да бъдат напълно заменени. прекъсната програма. Този метод се използва, ако е необходимо новият манипулатор първо да работи и след това да прехвърли контроластарите резидентни програми, които прихващат хардуерни прекъсвания, имат свойството да се изпълняват едновременно с друга програма. Точно за това се използва механизмът за хардуерно прекъсване - те позволяват на процесора да изпълни една програма, докато отделните програми следят времето, четат знаци от клавиатурата и ги поставят в буфер, получават и предават данни през серийни и паралелни портове и дори осигуряват многозадачност, като превключват процесора между различни задачи чрез прекъсване на системния таймер.
Разбира се, обработката на прекъсване не трябва да отнема много време, ако прекъсването се случва достатъчно често, например, прекъсване на сериен порт може да се случи 28 800 пъти в секунда, неговият манипулатор трябва задължително да се изпълни за по-кратко време. Ако, например, манипулаторът на прекъсване на таймера работи за 132,4 секунди, тоест половината от времето между прекъсванията, цялата система ще работи два пъти по-бавно.
И ако друга програма със същия дълъг манипулатор прихване това прекъсване, системата ще спре напълно. Ето защо манипулаторите на прекъсвания обикновено се пишат изключително на асемблер. 2.7.