Diferența dintre capcana și întrerupere

principala diferență între capcane și întreruperi este asta capcana este declanșată de un program de utilizator pentru a invoca funcționalitatea sistemului de operare, în timp ce întreruperea este declanșată de un dispozitiv hardware pentru a permite procesorului să execute rutina de tratare a întreruperilor corespunzătoare.

Un sistem de operare este condus de evenimente. Un eveniment poate apărea brusc în timpul executării unui program. Aceasta va declanșa executarea sistemului de operare. Aceasta va schimba modul de utilizator în modul kernel. După execuția sistemului de operare, comanda este transferată înapoi la programul original. Capcanele și întreruperile sunt două tipuri de evenimente. O capcană este ridicată de un program de utilizator, în timp ce o întrerupere este ridicată de un dispozitiv hardware, cum ar fi tastatura, cronometrul etc. O capcană trece controlul la dispozitivul de preluare a capcanei, iar întreruperea trece controlul la un dispozitiv de tratare a întreruperilor. După executarea manualului, comanda revine la programul original.

Domenii cheie acoperite

1. Ce este Trap
     - Definiție, funcționalitate
2. Ce este întreruperea
     - Definiție, funcționalitate
3. Relația dintre capcana și întrerupere
     - Schița Asociației
4. Diferența dintre capcana și întrerupere
     - Compararea diferențelor cheie

Termeni cheie

Întrerupere, sistem de operare, cap

Ce este Trap

Capcanele sunt generate de programul de utilizator pentru a invoca o funcționalitate a sistemului de operare. Să presupunem că programul de utilizator necesită imprimarea ceva pe ecran. Aceasta ar invoca o capcană și sistemul de operare va efectua scrierea acelor date pe ecran. Capcanele sunt utilizate în principal pentru implementarea apelurilor de sistem.

Figura 1: Tipuri de evenimente

Un exemplu este după cum urmează. Să presupunem că există o declarație ca printf ("% s \ n", str); Se va invoca funcția de scriere pentru a imprima ieșirea la ieșirea standard care este monitorul. Aceasta va invoca o capcană și va trece controlul la dispozitivul de trap. Apoi, modul de utilizator se modifică la modul kernel și sistemul de operare execută apelul de scriere. După terminarea sarcinii, comanda este transferată din nou în modul utilizator din modul kernel.

Ce este întreruperea

O întrerupere este ridicată de un dispozitiv hardware. Dispozitivul USB, cardul NIC, tastatura pot provoca întreruperi. Întreruperile sunt asincrone. Prin urmare, ele pot apărea în orice moment.

Un procesor are un pin dedicat numit pin de întrerupere. Se mai numește și PIN-ul INT. Dispozitivele, cum ar fi tastaturile, sunt conectate la procesor prin pinul de întrerupere. Atunci când o tastă este apăsată, va genera o întrerupere. Procesorul va trece de la procesul care rulează în prezent într-o rutină de întrerupere a procesului de întrerupere. În acest scenariu, se invocă rutina de întrerupere a tastaturii. După terminarea rutinei de tratare a întreruperii, procesorul revine la programul original care se execută. Practic, atunci când apare o întrerupere, procesorul comută contextul și execută procedura de întrerupere. După terminare, se trece la starea anterioară.

Un procesor are un singur pin de întrerupere, dar există mai multe dispozitive hardware. Controlerul de întrerupere ajută la partajarea pinului de întrerupere unică între pinii multiple. Procesorul va comunica cu controlerul de întrerupere pentru a determina care dispozitiv a generat efectiv întreruperea. În funcție de aceasta, procesorul va executa rutina de tratare a întreruperilor corespunzătoare. Poate fi temporizator, USB sau tastatură de întrerupere a rutinei de rutină. 

În plus față de capcane și întrerupe, există un alt tip de eveniment numit excepții. Acestea sunt generate automat de procesor. Excepțiile se împart în defecte și abordează. O eroare este o eroare recuperabilă în timp ce o întrerupere este o eroare dificil de manevrat.

Relația dintre capcana și întrerupere

  • Capcana și întreruperea sunt tipuri de evenimente.

Diferența dintre capcana și întrerupere

Definiție

Capcana este un semnal preluat de la un program de utilizator care indică faptul că sistemul de operare trebuie să funcționeze imediat pe o anumită funcție, în timp ce întreruperea este un semnal pentru procesorul emise de hardware, indicând un eveniment care necesită o atenție imediată.

Metoda de generare

O capcană este generată de o instrucțiune din programul de utilizator în timp ce o întrerupere este generată de dispozitivele hardware.

Funcționalitatea principală

Mai mult, o capcană invocă funcționalitatea OS. Transmite controlul la dispozitivul de preluare a capcanei. O întrerupere declanșează procesorul pentru a executa rutina de tratare a întreruperilor corespunzătoare.

Apariţie

De asemenea, o capcană este sincronă și poate ajunge după executarea oricărei instrucțiuni în timp ce o întrerupere este asincronă și poate apărea la executarea oricărei instrucțiuni.

Sinonime

O capcană este numită și o întrerupere de software în timp ce o întrerupere este numită și o întrerupere hardware.

Concluzie

Capcana și întreruperea sunt două tipuri de evenimente. Diferența dintre capcană și întrerupere este că capcana este declanșată de un program de utilizator pentru a invoca funcționalitatea sistemului de operare, în timp ce întreruperea este declanșată de un dispozitiv hardware pentru a permite procesorului să execute rutina de tratare a întreruperilor corespunzătoare.

Referinţă:

1. Sistemul de operare # 14 Ce este o întrerupere? Tipuri de întreruperi, Xoviabcs, 31 august 2017, Disponibil aici.
2. Sistemul de operare # 16 întrerupe software-ul Apeluri sistem în xv6, Xoviabcs, 1 septembrie 2017, disponibil aici.