Diferència clau: trucada del sistema vs trucada de biblioteca
La trucada de sistema i la trucada de biblioteca estan relacionades amb el sistema operatiu d'un ordinador. L'ordinador pot funcionar en dos modes; és a dir, el mode d'usuari i el mode del nucli. La diferència clau entre la trucada al sistema i la trucada a la biblioteca és que la trucada al sistema és una funció proporcionada pel nucli per entrar al mode del nucli per accedir als recursos de maquinari, mentre que la trucada a la biblioteca és una funció proporcionada per les biblioteques de programació. Per exemple, open () és una crida al sistema i fopen () és una crida a la biblioteca. Quan fopen () al programa C, utilitza la biblioteca de capçalera stdio.h. A continuació, s'utilitza la crida del sistema "open (), " des del nucli per completar la tasca d'obertura del fitxer.
Què és la trucada del sistema?
Un ordinador funciona en dos modes. Són el mode usuari i el mode nucli. Alguns processos s'executen en un sistema informàtic. Un procés és un programa en execució. Quan s'executen programes d'aplicació, l'ordinador està en mode d'usuari. Si es requereix un recurs de maquinari, el procés envia una sol·licitud al nucli i l'ordinador entra en mode de nucli. Aquestes sol·licituds s'envien mitjançant trucades del sistema. L'ordinador canvia entre aquests dos modes amb freqüència. Quan s'ha completat la tasca, l'ordinador torna al mode usuari des del mode nucli. Aquesta transició de mode es coneix com a "canvi de context". Les trucades al sistema són una interfície entre el sistema operatiu i els programes d'usuari.
Figura 01: Trucades del sistema
Hi ha diversos tipus de trucades al sistema. La creació, la finalització del procés, l'execució del procés, l'assignació i l'alliberament de memòria es poden fer mitjançant "Cricades del sistema de control de processos". Les "Trucades del sistema de gestió de fitxers" es poden utilitzar per crear, suprimir, llegir, escriure, obrir i tancar fitxers. El procés requereix alguns recursos per completar l'execució. La sol·licitud i l'alliberament de dispositius es fan mitjançant "Trucades del sistema de gestió de dispositius". Les "trucades del sistema de gestió de la informació" es poden utilitzar per obtenir dades del sistema i per obtenir processos i atributs del dispositiu. Els processos es comuniquen entre ells. Aquesta comunicació es fa mitjançant "Trucades del sistema de comunicació". L'enviament d'informació d'estat, la creació i la supressió de connexions de comunicació i l'enviament i la recepció de missatges es poden fer mitjançant les trucades del sistema de comunicació.
Què és Library Call?
La trucada a la biblioteca és una funció proporcionada per les biblioteques de programació. Abans de fer una trucada a la biblioteca, s'ha d'importar aquesta biblioteca. La trucada a la biblioteca pot dependre de la trucada del sistema.
En llenguatge C, aquestes funcions es poden utilitzar al programa incloent els fitxers de capçalera. Els fitxers de capçalera s'inclouen mitjançant la directiva de preprocessament include. El preprocessador escaneja el fitxer especificat abans de continuar amb la resta del fitxer font. Algunes de les funcions habituals de la biblioteca són les següents, la biblioteca "math.h" inclou funcions relacionades amb operacions matemàtiques. La biblioteca “stdio.h” ofereix funcions per realitzar l'entrada i la sortida. “fopen()” obre el nom del fitxer apuntat. “fclose()” tanca el fitxer. "printf() s'utilitza per enviar la sortida amb format a una sortida estàndard. "fprintf ()" s'utilitza per enviar la sortida amb format a un flux. "scanf()" s'utilitza per llegir l'entrada formatada des de l'entrada estàndard. “stdlib.h” proporciona funcions per a la gestió de la memòria i “time.h” proporciona funcions per a la manipulació de l'hora i la data.
Quina semblança hi ha entre la trucada al sistema i la trucada a la biblioteca?
Tots dos estan relacionats amb el sistema operatiu
Quina diferència hi ha entre la trucada del sistema i la trucada de biblioteca?
Trucada del sistema vs. Trucada de biblioteca |
|
Una trucada al sistema és una funció proporcionada pel nucli per entrar en mode de nucli per accedir als recursos de maquinari. | La trucada a la biblioteca és una funció proporcionada per la biblioteca de programació. |
Mode d'execució | |
S'executa una trucada al sistema en mode de nucli. | S'executa una trucada de biblioteca en el mode d'usuari. |
Canvi de mode | |
Un canvi de trucada del sistema del mode d'usuari al mode del nucli. | No hi ha cap canvi del mode d'usuari al mode del nucli a la trucada de biblioteca. |
Portabilitat | |
Una trucada del sistema no és portàtil. | Una trucada a la biblioteca és portàtil. |
Resum: trucada del sistema vs trucada de biblioteca
Una crida al sistema s'implementa al nucli i una crida a la biblioteca s'implementa a l'espai d'usuari. La diferència entre la trucada al sistema i la trucada a la biblioteca és que una trucada al sistema és una funció proporcionada pel nucli per entrar al mode del nucli per accedir als recursos de maquinari i la trucada a la biblioteca és una funció proporcionada per les biblioteques de programació. Les trucades a la biblioteca poden dependre de les trucades del sistema per completar la tasca. open(), fork(), cd() són alguns exemples de trucades al sistema. fopen (), fprintf () són exemples de trucades de biblioteca.
Baixeu la versió PDF de System Call vs Library Call
Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí Diferència entre la trucada del sistema i la trucada de biblioteca