Pagkakaiba sa pagitan ng System Call at Interrupt

Pagkakaiba sa pagitan ng System Call at Interrupt
Pagkakaiba sa pagitan ng System Call at Interrupt

Video: Pagkakaiba sa pagitan ng System Call at Interrupt

Video: Pagkakaiba sa pagitan ng System Call at Interrupt
Video: IMPLANTATION BLEEDING VS PERIOD: 6 NA PAGKAKAIBA | Nurse Aileen | Tagalog 2024, Nobyembre
Anonim

System Call vs Interrupt

Ang karaniwang processor ay isa-isang nagsasagawa ng mga tagubilin. Ngunit maaaring may mga pagkakataon na ang processor ay kailangang pansamantalang huminto at hawakan ang kasalukuyang pagtuturo at magsagawa ng ibang programa o code segment (naninirahan sa ibang lugar). Pagkatapos gawin ito, babalik ang processor sa normal na pagpapatupad at magpapatuloy mula sa kung saan ito tumigil. Isang system call at isang interrupt ang mga ganitong okasyon. Ang system call ay isang tawag sa isang subroutine na naka-built in sa system. Ang interrupt ay isang program control interruption na dulot ng external na hardware event.

Ano ang System Call?

Ang System calls ay nagbibigay sa mga program na tumatakbo sa computer ng isang interface upang makipag-usap sa operating system. Kapag ang isang programa ay kailangang humingi ng isang serbisyo (kung saan wala itong pahintulot mismo) mula sa kernel ng operating system ay gumagamit ito ng isang system call. Ang mga proseso sa antas ng user ay walang parehong mga pahintulot gaya ng mga prosesong direktang nakikipag-ugnayan sa operating system. Halimbawa, para makipag-ugnayan sa at external na I/O device o para makipag-ugnayan sa anumang iba pang proseso, kailangang gumamit ang isang program ng mga system call.

Ano ang Interrupt?

Sa normal na pagpapatupad ng isang computer program, maaaring may mga kaganapan na maaaring maging sanhi ng pansamantalang paghinto ng CPU. Ang mga kaganapang tulad nito ay tinatawag na interrupts. Ang mga pagkaantala ay maaaring sanhi ng alinman sa mga error sa software o hardware. Ang mga interrupt sa hardware ay tinatawag na (simpleng) Interrupts, habang ang software interrupts ay tinatawag na Exceptions o Traps. Kapag ang isang interrupt (software o hardware) ay nakataas, ang kontrol ay ililipat sa isang espesyal na subroutine na tinatawag na ISR (Interrupt Service Routine) na kayang hawakan ang mga kundisyon na itinaas ng interrupt.

Tulad ng nabanggit sa itaas, ang terminong Interrupt ay karaniwang nakalaan para sa mga hardware interrupts. Ang mga ito ay mga pagkagambala sa pagkontrol ng programa na dulot ng mga panlabas na kaganapan sa hardware. Dito, ang ibig sabihin ng panlabas ay panlabas sa CPU. Karaniwang nagmumula ang mga hardware interrupts sa maraming iba't ibang source tulad ng timer chip, peripheral device (keyboard, mouse, atbp.), I/O ports (serial, parallel, atbp.), disk drive, CMOS clock, expansion card (sound card, video card, atbp). Nangangahulugan iyon na ang mga pagkaantala ng hardware ay halos hindi nangyayari dahil sa ilang kaganapan na nauugnay sa pagpapatupad ng programa. Halimbawa, ang isang kaganapan tulad ng pagpindot sa key sa keyboard ng user, o isang internal na hardware timer timing ay maaaring magpataas ng ganitong uri ng pagkaantala at maaaring ipaalam sa CPU na ang isang partikular na device ay nangangailangan ng ilang pansin. Sa ganitong sitwasyon, hihinto ang CPU sa anumang ginagawa nito (ibig sabihin, i-pause ang kasalukuyang program), ibibigay ang serbisyong kinakailangan ng device at babalik sa normal na program.

Ano ang pagkakaiba ng System Call at Interrupt?

Ang System call ay isang tawag sa isang subroutine na naka-built in sa system, habang ang Interrupt ay isang kaganapan, na nagiging sanhi ng pansamantalang pagpigil ng processor sa kasalukuyang execution. Gayunpaman, ang isang pangunahing pagkakaiba ay ang mga tawag sa system ay kasabay, samantalang ang mga pagkagambala ay hindi. Nangangahulugan iyon na ang mga tawag sa system ay nangyayari sa isang nakapirming oras (karaniwang tinutukoy ng programmer), ngunit ang mga pagkagambala ay maaaring mangyari anumang oras dahil sa isang hindi inaasahang kaganapan tulad ng pagpindot sa key sa keyboard ng user. Samakatuwid, kapag may system call, kailangan lang tandaan ng processor kung saan babalik, ngunit sa kaganapan ng interrupt, kailangang tandaan ng processor ang lugar na babalikan at ang estado ng system. Hindi tulad ng system call, karaniwang walang kinalaman ang interrupt sa kasalukuyang program.

Inirerekumendang: