Sistemos iškvietimo ir funkcijos iškvietimo skirtumas

Sistemos iškvietimo ir funkcijos iškvietimo skirtumas
Sistemos iškvietimo ir funkcijos iškvietimo skirtumas

Video: Sistemos iškvietimo ir funkcijos iškvietimo skirtumas

Video: Sistemos iškvietimo ir funkcijos iškvietimo skirtumas
Video: Linux vs Windows File System Structure Compared! 2024, Lapkritis
Anonim

Sistemos iškvietimas prieš funkcijų iškvietimą

Įprastas procesorius vykdo komandas po vieną. Tačiau gali būti atvejų, kai procesorius turi sustabdyti esamą komandą ir vykdyti kokią nors kitą programą arba kodo segmentą (gyvenančią kitoje vietoje). Tai padarius, procesorius grįžta į įprastą vykdymą ir tęsia nuo ten, kur baigė. Tokios progos yra sistemos iškvietimas ir funkcijos iškvietimas. Sistemos iškvietimas yra iškvietimas į sistemoje integruotą paprogramę. Funkcijos iškvietimas yra iškvietimas į paprogramę pačioje programoje.

Kas yra sistemos iškvietimas?

Sistemos skambučiai suteikia kompiuteryje veikiančioms programoms sąsają bendrauti su operacine sistema. Kai programai reikia paprašyti paslaugos (kuriai ji pati neturi leidimo) iš operacinės sistemos branduolio, ji naudoja sistemos iškvietimą. Vartotojo lygio procesai neturi tų pačių teisių kaip procesai, tiesiogiai sąveikaujantys su operacine sistema. Pavyzdžiui, norint susisiekti su išoriniu įvesties / išvesties įrenginiu arba sąveikauti su kitais procesais, programa naudoja sistemos iškvietimus.

Kas yra funkcijos iškvietimas?

Funkcijų iškvietimas taip pat vadinamas paprogramės iškvietimu. Paprogramė (taip pat žinoma kaip procedūra, funkcija, metodas arba rutina) yra didesnės programos, atsakingos už konkrečios užduoties atlikimą, dalis. Didesnė programa gali atlikti didelį darbo krūvį, o paprogramė gali atlikti tik paprastą užduotį, kuri taip pat nepriklauso nuo likusio programos kodavimo. Funkcija užkoduojama taip, kad ją būtų galima iškviesti kelis kartus ir iš skirtingų vietų (net iš kitų funkcijų). Kai funkcija iškviečiama, procesorius gali eiti ten, kur yra funkcijos kodas, ir po vieną vykdyti funkcijos instrukcijas. Atlikęs funkcijas, procesorius grįš tiksliai ten, kur baigė, ir tęs vykdymą nuo kitos instrukcijos. Funkcijos yra puikus įrankis pakartotiniam kodo panaudojimui. Daugelis šiuolaikinių programavimo kalbų palaiko funkcijas. Funkcijų rinkinys vadinamas biblioteka. Bibliotekos dažnai naudojamos kaip dalijimosi ir prekybos programine įranga priemonė. Kai kuriais atvejais visa programa gali būti paprogramių seka (pvz., srieginio kodo kompiliacija).

Kuo skiriasi sistemos iškvietimas ir funkcijos iškvietimas?

Sistemos iškvietimas yra iškvietimas į sistemoje integruotą paprogramę, o funkcijos iškvietimas yra iškvietimas į paprogramę programoje. Skirtingai nuo funkcijų iškvietimų, sistemos iškvietimai naudojami, kai programai reikia atlikti tam tikrą užduotį, kuriai ji neturi teisės. Sistemos iškvietimai yra įėjimo į operacinės sistemos branduolį taškai ir nėra susieti su programa (kaip funkcijų iškvietimai). Skirtingai nei sistemos skambučiai, funkcijų iškvietimai yra nešiojami. Sistemos iškvietimo laikas yra daugiau nei funkcijos iškvietimas, nes turi įvykti perėjimas iš vartotojo režimo į branduolio režimą. Sistemos iškvietimai vykdomi branduolio adresų erdvėje, o funkcijų iškvietimai vykdomi vartotojo adresų erdvėje.

Rekomenduojamas: