Chiamata di sistema

Una chiamata di sistema è una richiesta effettuata da un programma al sistema operativo. Consente a un'applicazione di accedere alle funzioni e ai comandi dell'API del sistema operativo.

Le chiamate di sistema eseguono operazioni a livello di sistema, come comunicare con i dispositivi hardware e leggere e scrivere file. Effettuando chiamate di sistema, gli sviluppatori possono usare funzioni già scritte e supportate dal sistema operativo (OS) invece di scriverle da zero. Questo semplifica lo sviluppo, migliora la stabilità delle app e rende le app più "portabili" tra diverse versioni di un OS.

Come funzionano le chiamate di sistema

Le applicazioni vengono eseguite all'interno di un'area della memoria chiamata spazio utente. Una chiamata di sistema accede al kernel del sistema operativo, che viene eseguito nello spazio del kernel. Quando un'applicazione effettua una chiamata di sistema, deve prima richiedere l'autorizzazione al kernel. Questa operazione può essere eseguita con una richiesta di interruzione, che sospende il processo corrente e trasferisce il controllo al kernel.

Se la richiesta è autorizzata, il kernel la elabora, ad esempio creando o eliminando un file. Quando l'operazione è completata, il kernel restituisce l'output all'applicazione, che trasferisce i dati dallo spazio del kernel allo spazio utente nella memoria. L'applicazione riceve l'output dal kernel come input. Nel codice sorgente di un programma, questo può essere il valore di un parametro o un valore restituito all'interno di una funzione. Una volta ricevuto l'input, l'applicazione riprende il processo.

Una chiamata di sistema di base, come ottenere la data e l'ora del sistema, può richiedere pochi nanosecondi. Una chiamata di sistema più avanzata, come stabilire la comunicazione con un dispositivo di rete, può richiedere alcuni secondi. Per evitare colli di bottiglia, la maggior parte dei sistemi operativi avvia un thread del kernel separato per ogni chiamata di sistema. I sistemi operativi moderni sono multithread, cioè possono elaborare più chiamate di sistema contemporaneamente.

Aggiornato April 27, 2019 da Per C.

quizMetti alla prova le tue conoscenze

When does a program create a dynamic link to a DLL file?

A
When it is compiled
0%
B
During installation
0%
C
At runtime
0%
D
When it crashes
0%
Correct! Incorrect!     View the DLL definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Chiamata di sistema in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.