Diferența Dintre Apelul De Sistem și Apelul Funcțional

Diferența Dintre Apelul De Sistem și Apelul Funcțional
Diferența Dintre Apelul De Sistem și Apelul Funcțional

Video: Diferența Dintre Apelul De Sistem și Apelul Funcțional

Video: Diferența Dintre Apelul De Sistem și Apelul Funcțional
Video: Operatoarea de la 112 versus operatoarea de la 911,diferența de la “pământ pana la cer”!!! 2024, Decembrie
Anonim

Apel sistem vs. Apel funcțional

Un procesor tipic execută instrucțiuni unul câte unul. Dar pot exista ocazii în care procesorul trebuie să oprească instrucțiunile curente și să execute un alt program sau segment de cod (care locuiește în alt loc). După aceasta, procesorul revine la execuția normală și continuă de unde a rămas. Un apel sistem și un apel funcțional sunt astfel de ocazii. Un apel de sistem este un apel către un subrutină încorporat în sistem. Un apel funcțional este un apel către un subrutin din cadrul programului însuși.

Ce este un apel de sistem?

Apelurile de sistem oferă programelor care rulează pe computer o interfață pentru a vorbi cu sistemul de operare. Atunci când un program trebuie să solicite un serviciu (pentru care nu are permisiunea de a face asta de la sine) de la nucleul sistemului de operare, acesta folosește un apel de sistem. Procesele la nivel de utilizator nu au aceleași permisiuni ca procesele care interacționează direct cu sistemul de operare. De exemplu, pentru a comunica cu dispozitivul I / O extern sau pentru a interacționa cu orice alte procese, un program folosește apeluri de sistem.

Ce este un apel funcțional?

Un apel de funcție este, de asemenea, numit un apel de subrutină. Un subrutină (cunoscută și sub numele de procedură, funcție, metodă sau rutină) face parte dintr-un program mai mare care este responsabil pentru îndeplinirea unei sarcini specifice. Programul mai mare poate executa o sarcină mare de lucru, iar subrutina poate efectua doar o sarcină simplă, care este, de asemenea, independentă de codificarea programului rămas. O funcție este codificată în așa fel încât să poată fi numită de mai multe ori și din diferite locuri (chiar și din alte funcții). Când se apelează o funcție, procesorul poate merge acolo unde se află codul funcției și executa instrucțiunile funcției unul câte unul. După finalizarea funcțiilor, procesorul va reveni exact acolo unde a rămas și va continua execuția începând cu următoarea instrucțiune. Funcțiile sunt un instrument excelent pentru refolosirea codului. Multe limbaje de programare moderne acceptă funcții. O colecție de funcții se numește bibliotecă. Bibliotecile sunt adesea folosite ca mijloace de partajare și tranzacționare de software. În unele cazuri, întregul program ar putea fi o secvență de subrutine (de exemplu, compilarea codului cu fir).

Care este diferența dintre Apel sistem și Apel funcțional?

Apelul de sistem este un apel către un subrutin încorporat în sistem, în timp ce un apel funcțional este un apel către un subrutin din cadrul programului. Spre deosebire de apelurile funcționale, apelurile de sistem sunt utilizate atunci când un program trebuie să îndeplinească o sarcină, pentru care nu are privilegiu. Apelurile de sistem sunt puncte de intrare în nucleul sistemului de operare și nu sunt legate de program (cum ar fi apelurile de funcții). Spre deosebire de apelurile de sistem, apelurile funcționale sunt portabile. Cheltuielile temporale ale unui apel de sistem sunt mai mult decât cheltuielile generale pentru un apel funcțional, deoarece trebuie să aibă loc o tranziție între modul utilizator și modul kernel. Apelurile de sistem sunt executate în spațiul de adresă al nucleului, în timp ce apelurile de funcții sunt executate în spațiul de adresă al utilizatorului.

Recomandat: