Мултипрограмиране въз основа на прекъсване
Длъжност: Мултипрограмиране въз основа на прекъсване. Механизъм за прекъсване
Предмет: Компютърни науки, кибернетика и програмиране
Описание: Мултипрограмиране въз основа на прекъсване. Механизъм за прекъсване. Мултипрограмиране въз основа на прекъсване. Цел и видове прекъсвания.
Дата на публикуване: 09.08.2013
Размер на файла: 25,58 KB
Творбата е изтеглена: 42 души.
Въпрос 20. Мултипрограмиране въз основа на прекъсване. Механизъм за прекъсване.
§4.3.1 Мултипрограмиране въз основа на прекъсване.
Цел и видове прекъсвания.
Прекъсванията са механизъм, който ви позволява да координирате паралелната работа на отделни устройства на изчислителна система и да реагирате на специални условия, които възникват по време на работата на процесора. Прекъсване ? това е принудителен трансфер на контрол от изпълнимия програма към системата (и чрез нея ? към съответния манипулатор на прекъсвания), който се случва, когато се случи определено събитие.
Прекъсвачът е различен от превключвателя, който се появява при безусловна или условна команда за скок, предоставена от програмиста в потока инструкции на приложението. Преходът на команди се извършва в точки в програмата, предварително дефинирани от програмиста. Прекъсването се случва в произволна точка от програмния поток, която програмистът не може да предвиди. Сходството на прекъсванията с процедурите е, че и в двата случая се изпълнява подпрограма, която обработва специална ситуация и след това изпълнението на основния клон на програмата продължава.
В зависимост от източника прекъсванията се разделят на три големи класа: външни, вътрешни и софтуерни. .
Външни (хардуерни) прекъсвания могат да бъдат генерирани в резултат на потребителски действия или хардуерни устройства, например контролери на външни входно-изходни устройства, сензори. Този клас прекъсвания е асинхронен по отношение на потока от инструкции на програмата, която се прекъсва. Хардуерът на процесора работи по такъв начин, че между изпълнението на две съседни инструкции възникват асинхронни прекъсвания, докато системата, след обработка на прекъсването, продължава изпълнението на процеса, като вече започва от следващата инструкция.
Софтуерните прекъсвания се различават от предишните два класа по това, че те по своята същност не са „истински“ прекъсвания. Софтуерно прекъсване възниква, когато се изпълни специална инструкция на процесора, чието изпълнение симулира прекъсване, т.е. преход към нова последователност от инструкции.