From Wikipedia, the free encyclopedia
Kod digitalnih računara prekid (engleski: interrupt) jest zahtjev procesoru da prekine trenutno izvršavajući kôd, kako bi se taj događaj pravovremeno mogao obraditi.
Ako je zahtjev prihvaćen, procesor reaguje obustavljajući trenutne aktivnosti, spremajući njegovo stanje i izvršavajući podrutinu koja se zove upravljač prekida (engleski: interrupt handler). Ovaj prekid je privremen i osim ako prekid ukazuje na fatalnu grešku, procesor nastavlja normalne aktivnosti nakon završetka obrade prekida.[1]
Prekidi se obično koriste na hardverskim uređajima kako bi ukazali na elektroničke ili fizičke promjene stanja koje zahtijevaju pažnju. Prekidi se često koriste kod multitaskinga (istovremeno obavljanje više zadataka).[2]
Prekidi mogu izazvati hardverski ili softverski događaji. Oni se dijele na hardverske prekide ili softverske prekide. Za bilo koji određeni procesor, broj hardverskih prekida ograničen je brojem signala zahtjeva za prekid (IRQ), dok je broj softverskih prekida određen dizajnom procesora.
Zahtjev za prekid hardvera (IRQ) jest elektronički signal koji izdaje neki drugi hardverski uređaj prema procesoru, kako bi naznačio da mu treba pažnja operativnog sistema (OS).[3] Takvi uređaji mogu biti dio računara (npr. kontroler diska) ili mogu biti vanjski periferni uređaji. Na primjer, pritisak tipke na tastaturi ili pomicanje miša pokreće hardverske prekide pomoću kojih procesor očitava pritisak tipke ili položaj miša.
Softverski prekid je zahtijevan od samog procesora nakon izvršavanja određenih instrukcija ili kada su ispunjeni određeni uvjeti. Svaki softverski signal prekida povezan je s određenim rukovaocem prekida.
Softverski prekid može biti namjerno uzrokovan izvršavanjem posebne instrukcije koja se poziva na prekid kad se izvrši. Takve instrukcije djeluju slično kao pozivi podprograma i koriste se u različite svrhe, poput zahtjeva za uslugama operativnog sistema i interakcije s upravljačkim programima uređaja.
Prekidi softvera mogu se također neočekivano pokrenuti greškama kod izvršavanja programa. Ovi prekidi se obično nazivaju traps (zamke) ili exceptions (izuzeci). Na primjer, izuzetak dijeljenja sa nulom će biti "odbačen" (zahtijeva se prekid softvera) ako procesor izvrši instrukciju sa nulom. Obično će operativni sistem presresti i obraditi ovaj izuzetak.
Prekidi se obično koriste za servisiranje hardverskih tajmera, prijenos podataka i komunikacijske interfejse (npr. UART, Ethernet), rukovanje mišom i tastaturom, te za reagiranje na bilo koje druge vremenski osjetljive događaje kako to zahtijeva aplikativni sistem.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.