Erinevus süsteemkõne ja funktsioonikõne vahel

Süsteemikõne vs funktsioonikõne

Tüüpiline protsessor täidab juhiseid ükshaaval. Kuid võib juhtuda, et protsessor peab praeguse käsu peatama ja käivitama mõne muu programmi või koodisegmendi (asub mõnes teises kohas). Pärast seda naaseb protsessor tavapärase täitmise ja jätkub sealt, kus pooleli jäi. Süsteemkõne ja funktsioonikõne on sellised juhused. Süsteemikõne on üleskutse süsteemi sisseehitatud alamprogrammile. Funktsioonikõne on helistamine programmis endas olevale alamprogrammile.

Mis on süsteemikõne?

Süsteemikõned pakuvad arvutis töötavatele programmidele liidest opsüsteemiga rääkimiseks. Kui programm peab opsüsteemi kernelilt teenust küsima (milleks tal pole selleks luba ise teha), kasutab ta süsteemikõnet. Kasutajataseme protsessidel pole samu õigusi kui operatsioonisüsteemiga vahetult suhelvatel protsessidel. Näiteks selleks, et suhelda välise I / O-seadmega või suhelda muude protsessidega, kasutab programm süsteemikõnesid.

Mis on funktsioonikõne?

Funktsioonikõnet nimetatakse ka alamprogrammiks. Alamrutiin (tuntud ka kui protseduur, funktsioon, meetod või rutiin) on osa suuremast programmist, mis vastutab konkreetse ülesande täitmise eest. Suurem programm võib täita suurt töökoormust ja alamprogramm võib täita lihtsalt lihtsat ülesannet, mis pole ka ülejäänud programmi kodeeringust sõltumatu. Funktsioon on kodeeritud selliselt, et seda võib mitu korda ja eri kohtadest (isegi muudest funktsioonidest) kutsuda. Kui funktsioon kutsutakse, võib protsessor minna sinna, kus asub funktsiooni kood, ja täita ükshaaval funktsiooni juhiseid. Pärast funktsioonide täitmist naaseb protsessor täpselt sinna, kuhu pooleli jäi ja jätkab täitmist, alustades järgmisest juhisest. Funktsioonid on suurepärane tööriist koodi taaskasutamiseks. Paljud kaasaegsed programmeerimiskeeled toetavad funktsioone. Funktsioonide kogumit nimetatakse raamatukoguks. Raamatukogusid kasutatakse sageli tarkvara jagamise ja nendega kauplemise vahendina. Mõnel juhul võib kogu programm olla alamprogrammide jada (nt keermestatud koodi koostamine).

Mis vahe on süsteemkõnel ja funktsioonikõnel??

Süsteemikõne on süsteemisse sisseehitatud alamprogrammi kõne, funktsioonikõne aga programmi alamprogrammi kõne. Erinevalt funktsioonikõnedest kasutatakse süsteemikõnesid siis, kui programm peab täitma mõnda toimingut, milleks tal pole privileege. Süsteemikõned on opsüsteemi kerneli sisenemispunktid ja ei ole programmiga seotud (nagu funktsioonikõned). Erinevalt süsteemikõnedest on funktsioonikõned kaasaskantavad. Süsteemikõne aeg ületab funktsionaalse kõne üldkulusid, kuna peab toimuma üleminek kasutajarežiimi ja kerneli režiimi vahel. Süsteemikõnesid teostatakse kerneli aadressiruumis, funktsioonikõnesid aga kasutaja aadressiruumis.