Ero Järjestelmän Puhelun Ja Toimintopuhelun Välillä

Ero Järjestelmän Puhelun Ja Toimintopuhelun Välillä
Ero Järjestelmän Puhelun Ja Toimintopuhelun Välillä

Video: Ero Järjestelmän Puhelun Ja Toimintopuhelun Välillä

Video: Ero Järjestelmän Puhelun Ja Toimintopuhelun Välillä
Video: Erokriisi – Miten mies kokee eron ja kriisin eri vaiheet 2024, Huhtikuu
Anonim

Järjestelmäpuhelu vs. toimintapuhelu

Tyypillinen prosessori suorittaa ohjeet yksitellen. Mutta voi olla tilanteita, joissa prosessorin on lopetettava nykyinen käsky ja suoritettava jokin muu ohjelma tai koodisegmentti (joka asuu jossakin muussa paikassa). Tämän jälkeen prosessori palaa normaaliin suoritukseen ja jatkaa siitä, mihin se jäi. Järjestelmäpuhelu ja toimintopuhelu ovat tällaisia tilanteita. Järjestelmäkutsu on kutsu järjestelmään sisäänrakennetulle aliohjelmalle. Toimintakutsu on kutsu aliohjelmaan itse ohjelmassa.

Mikä on järjestelmäkutsu?

Järjestelmäpuhelut tarjoavat tietokoneella käynnissä oleville ohjelmille käyttöliittymän keskustelemaan käyttöjärjestelmän kanssa. Kun ohjelman on kysyttävä palvelua (johon sillä ei ole lupaa tehdä sitä itse) käyttöjärjestelmän ytimeltä, se käyttää järjestelmäkutsua. Käyttäjätason prosesseilla ei ole samoja käyttöoikeuksia kuin prosesseilla, jotka ovat suoraan vuorovaikutuksessa käyttöjärjestelmän kanssa. Esimerkiksi yhteydenpitoon ulkoisen I / O-laitteen kanssa tai vuorovaikutukseen muiden prosessien kanssa ohjelma käyttää järjestelmäkutsuja.

Mikä on toimintopuhelu?

Funktiopuhelua kutsutaan myös aliohjelmakutsuksi. Alirutiini (tunnetaan myös nimellä menetelmä, toiminto, menetelmä tai rutiini) on osa suurempaa ohjelmaa, joka vastaa tietyn tehtävän suorittamisesta. Suurempi ohjelma voi suorittaa suuren kuormituksen, ja aliohjelma voi suorittaa vain yksinkertaisen tehtävän, joka on myös riippumaton jäljellä olevasta ohjelmakoodauksesta. Funktio on koodattu siten, että sitä voidaan kutsua useita kertoja ja eri paikoista (jopa muiden toimintojen sisältä). Kun toimintoa kutsutaan, prosessori voi mennä sinne, missä funktion koodi on, ja suorittaa toiminnon ohjeet yksitellen. Toimintojen suorittamisen jälkeen prosessori palaa tarkalleen mihin se jäi ja jatkaa suoritusta seuraavasta ohjeesta alkaen. Toiminnot ovat loistava työkalu koodin uudelleenkäyttöön. Monet nykyaikaiset ohjelmointikielet tukevat toimintoja. Toimintojen kokoelmaa kutsutaan kirjastoksi. Kirjastoja käytetään usein ohjelmistojen jakamisen ja kaupankäynnin välineenä. Joissakin tapauksissa koko ohjelma voi olla aliohjelmien sarja (esim. Ketjutettu koodikokoelma).

Mitä eroa on järjestelmäkutsulla ja toimintopuhelulla?

Järjestelmäkutsu on kutsu järjestelmään sisäänrakennetulle aliohjelmalle, kun taas toimintokutsu on kutsu ohjelman aliohjelmalle. Toisin kuin funktiokutsut, järjestelmäkutsuja käytetään, kun ohjelman on suoritettava jokin tehtävä, johon sillä ei ole etuoikeuksia. Järjestelmäpuhelut ovat käyttöjärjestelmän ytimen sisääntulopisteitä, eikä niitä ole linkitetty ohjelmaan (kuten toimintokutsuihin). Toisin kuin järjestelmäpuhelut, toimintopuhelut ovat kannettavia. Järjestelmäpuhelun aikakustannukset ovat enemmän kuin toimintakutsun yleiskustannukset, koska siirtymän käyttäjätilan ja ydintilan välillä on tapahduttava. Järjestelmäpuhelut suoritetaan ytimen osoiteavaruudessa, kun taas toimintopuhelut suoritetaan käyttäjän osoiteavaruudessa.

Suositeltava: