Differenza chiave: chiamata di sistema e chiamata in biblioteca
La chiamata di sistema e la chiamata di libreria sono correlate al sistema operativo di un computer. Il computer può funzionare in due modalità; vale a dire, modalità utente e modalità kernel. Il differenza fondamentale tra la chiamata di sistema e la chiamata alla libreria è quello La chiamata di sistema è una funzione fornita dal kernel per accedere alla modalità kernel per accedere alle risorse hardware mentre la chiamata alla libreria è una funzione fornita dalle librerie di programmazione. Ad esempio, open() è una chiamata di sistema e fopen() è una chiamata alla libreria. Quando fopen() nel programma C, usa la libreria di intestazione stdio.h. Quindi la chiamata di sistema "open ()," viene utilizzata dal kernel per completare l'attività di apertura del file.
Cos'è la chiamata di sistema?
Un computer funziona in due modalità. Sono la modalità utente e la modalità kernel. Alcuni processi sono in esecuzione su un sistema informatico. Un processo è un programma in esecuzione. Quando i programmi applicativi sono in esecuzione, il computer è in modalità utente. Se è richiesta una risorsa hardware, il processo invia una richiesta al kernel e il computer entra in modalità kernel. Queste richieste vengono inviate tramite chiamate di sistema. Il computer passa frequentemente da una modalità all' altra. Al termine dell'attività, il computer torna alla modalità utente dalla modalità kernel. Questa transizione di modalità è nota come "commutazione di contesto". Le chiamate di sistema sono un'interfaccia tra il sistema operativo e i programmi utente.
Figura 01: Chiamate di sistema
Ci sono vari tipi di chiamate di sistema. È possibile creare, terminare il processo, eseguire il processo, allocare e liberare memoria utilizzando le "Chiamate del sistema di controllo del processo". Le "Chiamate del sistema di gestione dei file" possono essere utilizzate per creare, eliminare, leggere, scrivere, aprire, chiudere file. Il processo richiede alcune risorse per completare l'esecuzione. La richiesta e il rilascio dei dispositivi vengono effettuati tramite "Chiamate del sistema di gestione dei dispositivi". Le "chiamate del sistema di gestione delle informazioni" possono essere utilizzate per ottenere dati di sistema e per ottenere processi e attributi del dispositivo. I processi stanno comunicando tra loro. Questa comunicazione viene effettuata utilizzando "Chiamate di sistema di comunicazione". È possibile inviare informazioni sullo stato, creare ed eliminare connessioni di comunicazione e inviare e ricevere messaggi utilizzando le chiamate del sistema di comunicazione.
Cos'è la chiamata in biblioteca?
Library call è una funzione fornita dalle librerie di programmazione. Prima di effettuare una chiamata alla libreria, è necessario importare tale libreria. La chiamata alla libreria potrebbe dipendere dalla chiamata di sistema.
Nel linguaggio C, queste funzioni possono essere utilizzate nel programma includendo i file di intestazione. I file di intestazione sono inclusi utilizzando la direttiva di preelaborazione include. Il preprocessore esegue la scansione del file specificato prima di continuare con il resto del file di origine. Alcune funzioni di libreria comuni sono le seguenti, la libreria "math.h" include funzioni relative alle operazioni matematiche. La libreria "stdio.h" fornisce funzioni per l'esecuzione di input e output. “fopen()” apre il nome del file puntato. “fclose()” chiude il file. “printf() viene utilizzato per inviare l'output formattato a un output standard. "fprintf ()" viene utilizzato per inviare l'output formattato a un flusso. "scanf()" viene utilizzato per leggere l'input formattato dallo standard input. “stdlib.h” fornisce funzioni per la gestione della memoria e “time.h” fornisce funzioni per la manipolazione di ora e data.
Qual è la somiglianza tra la chiamata di sistema e la chiamata in biblioteca?
Entrambi sono correlati al sistema operativo
Qual è la differenza tra chiamata di sistema e chiamata in biblioteca?
Chiamata di sistema e chiamata di biblioteca |
|
Una chiamata di sistema è una funzione fornita dal kernel per accedere alla modalità kernel per accedere alle risorse hardware. | La chiamata alla libreria è una funzione fornita dalla libreria di programmazione. |
Modalità di esecuzione | |
Una chiamata di sistema viene eseguita in modalità kernel. | Una chiamata alla Libreria viene eseguita in modalità utente. |
Cambio modalità | |
Una chiamata di sistema passa dalla modalità utente alla modalità kernel. | Non è possibile passare dalla modalità utente alla modalità kernel nella chiamata alla libreria. |
Portabilità | |
Una chiamata di sistema non è portatile. | Una chiamata in Biblioteca è portatile. |
Riepilogo – Chiamata di sistema e chiamata in biblioteca
Una chiamata di sistema viene implementata nel kernel e una chiamata alla libreria viene implementata nello spazio utente. La differenza tra la chiamata di sistema e la chiamata alla libreria è che una chiamata di sistema è una funzione fornita dal kernel per accedere alla modalità kernel per accedere alle risorse hardware e la chiamata alla libreria è una funzione fornita dalle librerie di programmazione. Le chiamate alla libreria potrebbero dipendere dalle chiamate di sistema per completare l'attività. open(), fork(), cd() sono alcuni esempi di chiamate di sistema. fopen(), fprintf() sono esempi di chiamate alla libreria.
Scarica la versione PDF di System Call vs Library Call
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra chiamata di sistema e chiamata in biblioteca