Järjestelmäpuhelu vs. toimintopuhelu
Tyypillinen suoritin suorittaa ohjeet yksi kerrallaan. Mutta voi olla tilanteita, joissa suorittimen on lopetettava nykyinen käsky ja suoritettava jokin muu ohjelma tai koodisegmentti (asuu jossain muussa paikassa). Suoritettuaan tämän prosessori palaa normaaliin suoritukseen ja jatkaa siitä, mihin se jäi. Järjestelmäpuhelu ja toimintopuhelu ovat tällaisia tapauksia. Järjestelmäpuhelu on puhelu järjestelmään sisäänrakennettuun aliohjelmaan. Toimintopuhelu on kutsu itse ohjelmassa olevaan aliohjelmaan.
Mikä on järjestelmäpuhelu?
Järjestelmäpuhelut tarjoavat tietokoneella käynnissä oleville ohjelmille käyttöliittymän keskustellaksesi käyttöjärjestelmän kanssa. Kun ohjelman on pyydettävä palvelua (jota varten sillä ei ole lupaa tehdä sitä itse) käyttöjärjestelmän ytimestä, se käyttää järjestelmäkutsua. Käyttäjätason prosesseilla ei ole samoja oikeuksia kuin prosesseilla, jotka ovat vuorovaikutuksessa suoraan käyttöjärjestelmän kanssa. Esimerkiksi kommunikointiin ulkoisen I / O-laitteen kanssa tai vuorovaikutukseen muiden prosessien kanssa ohjelma käyttää järjestelmäpuheluita.
Mikä on toimintopuhelu?
Toimintopuhelua kutsutaan myös aliohjelmapuheluksi. Aliohjelma (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 työmäärän, ja aliohjelma voi suorittaa vain yksinkertaisen tehtävän, joka on myös riippumaton jäljellä olevasta ohjelman koodauksesta. Toiminto koodataan siten, että sitä voidaan kutsua useita kertoja ja eri paikoista (jopa muiden toimintojen sisällä). Kun funktiota kutsutaan, prosessori voi mennä kohtaan, jossa funktion koodi sijaitsee, ja suorittaa funktion ohjeet yksi kerrallaan. Toimintojen suorittamisen jälkeen suoritin palaa tarkalleen mihin se lopetti ja jatkaa suorittamista 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 välineenä jakaa ja vaihtaa ohjelmistoja. Joissain tapauksissa koko ohjelma voisi olla aliohjelmien sarja (esim. Kierteitetyn koodin kokoaminen).
Mikä on ero järjestelmäpuhelun ja funktion puhelun välillä??
Järjestelmäpuhelu on puhelu järjestelmään sisäänrakennettuun aliohjelmaan, kun taas toimintopuhelu on puhelu ohjelman aliohjelmaan. Toisin kuin funktiopuhelut, järjestelmäkutsuja käytetään, kun ohjelman on suoritettava jokin tehtävä, johon sillä ei ole oikeutta. Järjestelmäpuhelut ovat käyttöjärjestelmän ytimen tulopisteitä, eikä niitä ole linkitetty ohjelmaan (kuten toimintopuhelut). Toisin kuin järjestelmäpuhelut, toimintopuhelut ovat siirrettäviä. Järjestelmäpuhelun aikakatkaisu on enemmän kuin funktion puhelun ylähinta, koska käyttäjän tilan ja ytimen tilan välillä on tapahduttava siirtyminen. Järjestelmäpuhelut suoritetaan ytimen osoitetilassa, kun taas toiminnalliset puhelut suoritetaan käyttäjän osoitetilassa.