Chiamata di sistema

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

In informatica, una chiamata di sistema (in inglese system call) è il meccanismo usato da un programma a livello utente per richiedere un servizio a livello kernel del sistema operativo.

Vi sono fondamentalmente due tipi di chiamate di sistema: chiamate al kernel e chiamate alle librerie utente (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 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.

Una chiamata al kernel, invece, 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", sui processori Intel e compatibili si dice 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, tuttavia comporta un overhead molto più elevato.

Le categorie principali di system call sono:

  • controllo dei processori e dei job (end, abort, load, execute ecc)
  • manipolazione dei file e dei dispositivi (create, delete file, open, close ecc)
  • gestione delle informazioni (get, set)
  • comunicazione

Su Posix e su sistemi simili, comuni system call sono close(), execlp(), fork(), kill(), open(), read(), wait() e write().

Per i sistemi Windows NT vedere l'articolo Native API.

Questa voce si basa su materiale disponibile sul Free On-line Dictionary of Computing e il suo utilizzo è regolamentato dalla licenza GFDL.

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net