અંતરાલ અને અપવાદ વચ્ચેના તફાવત

Anonim

અંતરાય વિવાદ અપવાદ

કોઈ પણ કમ્પ્યુટરમાં, પ્રોગ્રામના તેના સામાન્ય અમલ દરમિયાન, એવી ઘટનાઓ હોઈ શકે છે જે CPU ને અસ્થાયી રૂપે અટકાવવાનું કારણ બની શકે છે. આના જેવી ઇવેન્ટ્સને ઇન્ટરપેટ્સ કહેવામાં આવે છે. ક્યાંતો સોફ્ટવેર અથવા હાર્ડવેર ખામીઓ દ્વારા અંતરાય થઈ શકે છે. હાર્ડવેર ઈન્ટ્રપ્ટોને (ખાલી) ઈન્ટરપેટ્સ કહેવામાં આવે છે, જ્યારે સોફ્ટવેર ઈન્ટ્રપ્ટોને અપવાદ તરીકે ઓળખવામાં આવે છે. એકવાર વિક્ષેપ (સૉફ્ટવેર અથવા હાર્ડવેર) ઊભા થયા પછી, નિયંત્રણને ખાસ સબરાઇટિનને સ્થાનાંતરિત કરવામાં આવે છે જે ISR (ઇંટર્રપ્ટ સેવા રાબેતાણ) તરીકે ઓળખાય છે જે અંતર્ગત ઉઠાવવામાં આવેલી શરતોને નિયંત્રિત કરી શકે છે.

અંતરાલ શું છે?

ટર્મ ઇન્ટરપ્ટ સામાન્ય રીતે હાર્ડવેર ઈન્ટ્રપ્ટ્સ માટે અનામત છે. તે બાહ્ય હાર્ડવેર ઇવેન્ટ્સના કારણે પ્રોગ્રામ નિયંત્રણ વિક્ષેપો છે અહીં, બાહ્ય અર્થ એ છે કે CPU ની બાહ્ય. હાર્ડવેર ઈન્ટ્રપ્ટો સામાન્ય રીતે ટાઈમર ચિપ, પેરિફેરલ ડિવાઇસ (કીબોર્ડ, માઉસ, વગેરે), આઇ / ઓ પોર્ટ્સ (સીરીયલ, સમાંતર, વગેરે), ડિસ્ક ડ્રાઇવ્સ, CMOS ઘડિયાળ, વિસ્તરણ કાર્ડ્સ (સાઉન્ડ કાર્ડ, વિડીયો) જેવા ઘણાં વિવિધ સ્રોતોમાંથી આવે છે. કાર્ડ, વગેરે). તેનો અર્થ એ કે એક્ઝેક્યુટિંગ પ્રોગ્રામથી સંબંધિત કેટલીક ઇવેન્ટને કારણે હાર્ડવેર ઇન્ટરપ્રટો લગભગ ક્યારેય બનતા નથી. ઉદાહરણ તરીકે, યુઝર દ્વારા કીબોર્ડ પર કી પ્રેસ જેવી ઇવેન્ટ, અથવા આંતરિક હાર્ડવેર ટાઈમર સમય સમાપ્ત થઈ જાય છે, આ પ્રકારની વિક્ષેપ ઉભો કરી શકે છે અને CPU ને તે જાણ કરી શકે છે કે જે ચોક્કસ ઉપકરણને અમુક ધ્યાનની જરૂર છે. એવી પરિસ્થિતિમાં કે જે સીપીયુ તે શું કરી રહ્યું છે તે બંધ કરશે (આઇ વર્તમાન પ્રોગ્રામ વિરામ લે છે), ઉપકરણ દ્વારા આવશ્યક સેવા પૂરી પાડે છે અને સામાન્ય પ્રોગ્રામ પર પાછા આવશે. જ્યારે હાર્ડવેર ઇન્ટરપ્રટો થાય છે અને CPU એ ISR શરૂ કરે છે, તો અન્ય હાર્ડવેર ઈન્ટ્રપ્ટ્સ અક્ષમ છે (દા.ત. 80 × 86 મશીનોમાં) જો તમને ઇએસઆર ચાલી રહ્યું હોય ત્યારે થતા અન્ય હાર્ડવેર ઈન્ટ્રપ્ટોની જરૂર હોય, તો તમારે તે સ્પષ્ટપણે ઈન્ટ્રપ્ટ ફ્લેગને સાફ કરીને (STI સૂચના સાથે) કરવાની જરૂર છે. 80 × 86 મશીનોમાં, અંતરાલ ધ્વજને સાફ કરવાથી ફક્ત હાર્ડવેર ઇન્ટરપ્રટોને અસર કરશે.

અપવાદો શું છે?

અપવાદ એ સોફ્ટવેર અંતરાલ છે, જે વિશિષ્ટ હેન્ડલર રૂટિન તરીકે ઓળખી શકાય છે. અપવાદને સ્વયંચાલિત બનતા જાસૂસ તરીકે ઓળખી શકાય છે (ટ્રેપને નિયંત્રણના સ્થળાંતર તરીકે ઓળખી શકાય છે, જે પ્રોગ્રામર દ્વારા શરૂ કરવામાં આવે છે). સામાન્ય રીતે, અપવાદો સાથે સંબંધિત કોઈ ચોક્કસ સૂચનો નથી (ચોક્કસ સૂચનાનો ઉપયોગ કરીને ફાંસો ઉત્પન્ન થાય છે) તેથી, એક અપવાદ "અસાધારણ" શરતને કારણે થાય છે જે પ્રોગ્રામ એક્ઝેક્યુશન દરમિયાન થાય છે. ઉદાહરણ તરીકે, શૂન્યથી વિભાજન, ગેરકાયદે ઑજોડોડ અથવા મેમરી સંબંધિત દોષના અમલને કારણે અપવાદો થઈ શકે છે. જ્યારે અપવાદ ઉઠાવવામાં આવે છે, ત્યારે સીપીસી અસ્થાયી રૂપે તે પ્રોમ્પ્ટને સસ્પેન્ડ કરે છે જે તે ચલાવતું હતું અને આઇએસઆર શરૂ કરે છે. આઇએસઆરમાં અપવાદ સાથે શું કરવું તે સમાવશે. તે સમસ્યાને ઠીક કરી શકે છે અથવા જો તે શક્ય ન હોય તો તે યોગ્ય ભૂલ સંદેશો છાપવાથી કાર્યક્રમને પ્રભાવિત રીતે બંધ કરી શકે છે.જો કે ચોક્કસ સૂચના અપવાદને કારણ આપતું નથી, એક અપવાદ હંમેશા સૂચના દ્વારા થાય છે. ઉદાહરણ તરીકે, શૂન્ય ભૂલ દ્વારા ડિવિઝન માત્ર ડિવિઝન સૂચનાના અમલીકરણ દરમિયાન થઇ શકે છે.

અંતરાય અને અપવાદ વચ્ચે શું તફાવત છે?

ઈન્ટ્રપ્ટો હાર્ડવેર ઈન્ટ્રપ્ટો છે, જ્યારે અપવાદ સોફ્ટવેર ઈન્ટ્રપ્ટ્સ છે હાર્ડવેર ઈન્ટ્રપ્ટોની ઘટનાઓ સામાન્ય રીતે અન્ય હાર્ડવેર ઈન્ટ્રપ્ટોને અક્ષમ કરે છે, પરંતુ આ અપવાદો માટે સાચું નથી અપવાદ આપવામાં આવે ત્યાં સુધી તમને હાર્ડવેર ઈન્ટ્રપ્ટોને નામંજૂર કરવાની જરૂર હોય તો, તમારે સ્પષ્ટ રીતે વિક્ષેપિત ફ્લેગ સાફ કરવાની જરૂર છે અને સામાન્ય રીતે કમ્પ્યૂટર પર વિક્ષેપિત ફ્લેગ અપવાદોના વિરોધમાં (હાર્ડવેર) ઈન્ટ્રપ્ટ્સને અસર કરે છે. આનો મતલબ એ કે આ ધ્વજને સાફ કરવું અપવાદોને અટકાવશે નહીં.