Chiamata di sistema: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
RolloBot (discussione | contributi)
m Bot: Sostituzione automatica (-[Ll]ibreria \(informatica\) +Libreria (software))
Riga 6:
Per motivi di sicurezza, il codice inerente ai servizi del [[sistema operativo]] è eseguibile solo in [[kernel mode]], avendo completo accesso all'[[hardware]]. Infatti, una chiamata al kernel, richiede spesso l'uso di una speciale istruzione di [[linguaggio macchina]] che provoca una [[commutazione di contesto]] del [[microprocessore]] (da "modalità protetta" a "modalità supervisore", che, sui processori [[Intel]] e compatibili viene chiamata da "Ring 3" a "Ring 0"). Questo permette al ''kernel'' del sistema operativo di eseguire operazioni riservate quali l'accesso all'[[hardware]] o all'unità di gestione della [[Memoria (informatica)|memoria]], tuttavia comporta un ''[[overhead]]'' molto più elevato. Successivamente, quando è terminato il compito esercitato dalla chiamata di sistema invocata, il controllo fa il procedimento inverso, da kernel mode per arrivare nuovamente allo [[user mode]].
 
Molto importanti, poi, sono anche le chiamate alle [[libreriaLibreria (informaticasoftware)|librerie]] utente ([[Application programming interface|API]]). La chiamata ad una API è identica ad una chiamata ad una funzione dell'applicazione stessa, in pratica viene registrato nello ''[[stack]]'' lo stato dei [[registro (informatica)|registri]] del [[microprocessore]] e l'indirizzo di ritorno. Perciò anche nei sistemi operativi con [[protezione della memoria]] e separazione degli spazi di indirizzamento vi sarà un ''[[overhead]]'' ridotto.
 
=== Tipi di chiamate di sistema ===