Tofauti Kati ya Ukatizaji na Ubaguzi

Tofauti Kati ya Ukatizaji na Ubaguzi
Tofauti Kati ya Ukatizaji na Ubaguzi

Video: Tofauti Kati ya Ukatizaji na Ubaguzi

Video: Tofauti Kati ya Ukatizaji na Ubaguzi
Video: NI IPI DINI YA KWELI KATI YA UKRISTO NA UISILAMU/MASWALI NA MAJIBU YA DINI 2024, Julai
Anonim

Katiza dhidi ya Vighairi

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. Pindi tu ukatizaji (programu au maunzi) unapoinuliwa, kidhibiti kinahamishiwa 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 kile 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 kuanza ISR, ukatizaji mwingine wa maunzi huzimwa (k.m. 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.

Vighairi ni nini?

Vighairi ni ukatizaji wa programu, ambao unaweza kutambuliwa kama utaratibu maalum wa kidhibiti. Isipokuwa inaweza kutambuliwa kama mtego unaotokea kiotomatiki (Mtego unaweza kutambuliwa kama uhamishaji wa udhibiti, ambao unaanzishwa na mtayarishaji programu). Kwa ujumla, hakuna maagizo maalum yanayohusiana na tofauti (mitego hutolewa kwa maagizo maalum). Kwa hivyo, ubaguzi hutokea kutokana na hali ya "kipekee" ambayo hutokea wakati wa utekelezaji wa programu. Kwa mfano, kugawanya kwa sifuri, utekelezaji wa opcode haramu au hitilafu inayohusiana na kumbukumbu inaweza kusababisha vighairi. Wakati wowote ubaguzi unapoinuliwa, CPU husimamisha kwa muda programu iliyokuwa ikitekeleza na kuanzisha ISR. ISR itakuwa na cha kufanya isipokuwa. Inaweza kusahihisha tatizo au ikiwa haiwezekani inaweza kughairi programu kwa uzuri kwa kuchapisha ujumbe unaofaa wa makosa. Ingawa maagizo maalum hayasababishi ubaguzi, ubaguzi utasababishwa na maagizo kila wakati. Kwa mfano, hitilafu ya kugawanya kwa sifuri inaweza tu kutokea wakati wa utekelezaji wa maagizo ya mgawanyiko.

Kuna tofauti gani kati ya Kukatiza na Kutopendelea?

Vikwazo ni kukatizwa kwa maunzi, hali isipokuwa ni kukatizwa kwa programu. Matukio ya kukatizwa kwa maunzi kawaida huzima ukatizaji wa maunzi mengine, lakini hii si kweli kwa vighairi. Iwapo unahitaji kutoruhusu kukatizwa kwa maunzi hadi kizuizi kitekelezwe, unahitaji kufuta alamisho ya kukatiza kwa uwazi. Na kwa kawaida bendera ya kukatiza kwenye kompyuta huathiri (vifaa) hukatiza kinyume na vighairi. Hii inamaanisha kuwa kufuta bendera hii hakutazuia vighairi.

Ilipendekeza: