Tofauti Kati ya Kukatiza na Mtego

Tofauti Kati ya Kukatiza na Mtego
Tofauti Kati ya Kukatiza na Mtego

Video: Tofauti Kati ya Kukatiza na Mtego

Video: Tofauti Kati ya Kukatiza na Mtego
Video: SINTAKSIA YA KISWAHILI || VISHAZI, UTAMBUZI WA MUUNDO NA NOMINO || SEHEMU YA 2 2024, Novemba
Anonim

Kukatiza dhidi ya Mtego

Katika kompyuta yoyote, wakati wa utekelezaji wake wa kawaida wa programu, kunaweza kuwa na matukio ambayo yanaweza kusababisha CPU kusimama kwa muda. Matukio kama haya huitwa kukatizwa. Kukatiza kunaweza kusababishwa na hitilafu za programu au maunzi. Vikwazo vya maunzi huitwa (kwa urahisi) Kukatiza, ilhali ukatizaji wa programu huitwa Vighairi au Mitego. Kighairi ni ukatizaji wa programu unaozalishwa kiotomatiki, wakati Trap ni ukatizaji unaotokana na programu ulioanzishwa na kitengeneza programu. Mara baada ya kukatiza (programu au maunzi) kuinuliwa, udhibiti huhamishiwa kwa utaratibu mdogo unaoitwa ISR (Interrupt Service Routine) ambao unaweza kushughulikia masharti ambayo yanatolewa na ukatizaji.

Kukatiza ni nini?

Neno la Kukatiza kwa kawaida huwekwa kwa ajili ya kukatizwa kwa maunzi. Ni usumbufu wa udhibiti wa programu unaosababishwa na matukio ya maunzi ya nje. Hapa, njia za nje za nje kwa CPU. Vikwazo vya maunzi kawaida hutoka kwa vyanzo vingi tofauti kama vile kipima saa, vifaa vya pembeni (kibodi, kipanya, n.k.), bandari za I/O (serial, sambamba, n.k.), viendeshi vya diski, saa ya CMOS, kadi za upanuzi (kadi ya sauti, video. kadi, nk). Hiyo inamaanisha kuwa usumbufu wa maunzi karibu hautokei kamwe kwa sababu ya tukio fulani linalohusiana na programu ya kutekeleza. Kwa mfano, tukio kama vile kubonyeza kitufe kwenye kibodi na mtumiaji, au kipima muda cha maunzi cha ndani kinaweza kuibua ukatizaji wa aina hii na kinaweza kufahamisha CPU kuwa kifaa fulani kinahitaji kuzingatiwa. Katika hali kama hiyo CPU itaacha chochote iliyokuwa ikifanya (yaani inasimamisha programu ya sasa), hutoa huduma inayohitajika na kifaa na itarudi kwenye programu ya kawaida. Wakati kukatizwa kwa maunzi kunatokea na CPU inaanza ISR, ukatizaji mwingine wa maunzi huzimwa (k.g. katika mashine 80×86). Ikiwa unahitaji ukatizaji wa maunzi mengine kutokea wakati ISR inaendesha, unahitaji kufanya hivyo kwa uwazi kwa kufuta bendera ya kukatiza (kwa maagizo ya sti). Katika mashine 80×86, kufuta alama ya kukatizwa kutaathiri tu kukatizwa kwa maunzi.

Mtego ni nini?

A Trap inaweza kutambuliwa kama uhamisho wa udhibiti, ambao huanzishwa na mtayarishaji programu. Neno Trap linatumika kwa kubadilishana na neno Vighairi (ambalo ni ukatizaji wa programu unaotokea kiotomatiki). Lakini wengine wanaweza kusema kuwa mtego ni simu maalum ya kawaida. Kwa hivyo wanaangukia kwenye kategoria ya ukatizaji unaotokana na programu. Kwa mfano, katika mashine 80x86, mpangaji programu anaweza kutumia maagizo ya int kuanzisha mtego. Kwa sababu mtego daima hauna masharti, udhibiti utahamishiwa kwenye utaratibu mdogo unaohusishwa na mtego. Maagizo kamili, ambayo yanaomba utaratibu wa kushughulikia mtego yanatambulika kwa urahisi kwa sababu maagizo ya wazi hutumiwa kubainisha mtego.

Kuna tofauti gani kati ya Kukatiza na Mtego?

Vikwazo ni ukatizaji wa maunzi, huku mitego ni ukatizaji unaotokana na programu. Matukio ya kukatizwa kwa maunzi kawaida huzima ukatizaji wa maunzi mengine, lakini hii si kweli kwa mitego. Ikiwa unahitaji kutoruhusu kukatizwa kwa maunzi hadi mtego utumike, unahitaji kufuta alamisho ya kukatiza kwa uwazi. Na kwa kawaida bendera ya kukatiza kwenye kompyuta huathiri (vifaa) hukatiza kinyume na mitego. Hii ina maana kwamba kufuta bendera hii hakutazuia mitego. Tofauti na mitego, vipindi vinapaswa kuhifadhi hali ya awali ya CPU.

Ilipendekeza: