Diferencia clave: llamada al sistema frente a llamada a la biblioteca
La llamada al sistema y la llamada a la biblioteca están relacionadas con el sistema operativo de una computadora. La computadora puede funcionar en dos modos; a saber, modo de usuario y modo de kernel. La diferencia clave entre la llamada al sistema y la llamada a la biblioteca es que la llamada al sistema es una función proporcionada por el kernel para ingresar al modo kernel para acceder a los recursos de hardware, mientras que la llamada a la biblioteca es una función proporcionada por las bibliotecas de programación. Por ejemplo, open () es una llamada al sistema y fopen () es una llamada a la biblioteca. Cuando fopen () en el programa C, usa la biblioteca de encabezado stdio.h. Luego, la llamada al sistema 'open ()' se usa desde el kernel para completar la tarea de apertura del archivo.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es la llamada al sistema
3. Qué es la llamada a la biblioteca
4. Similitudes entre la llamada al sistema y la llamada a la biblioteca
5. Comparación lado a lado: llamada al sistema frente a la llamada a la biblioteca en forma tabular
6. Resumen
¿Qué es System Call?
Una computadora funciona en dos modos. Son el modo de usuario y el modo de kernel. Algunos procesos se ejecutan en un sistema informático. Un proceso es un programa en ejecución. Cuando se ejecutan programas de aplicación, la computadora está en modo de usuario. Si se requiere un recurso de hardware, el proceso envía una solicitud al kernel y la computadora entra en modo kernel. Estas solicitudes se envían mediante llamadas al sistema. La computadora cambia frecuentemente entre estos dos modos. Cuando se completa la tarea, la computadora vuelve al modo de usuario desde el modo de kernel. Esta transición de modo se conoce como "cambio de contexto". Las llamadas al sistema son una interfaz entre el sistema operativo y los programas de usuario.
Figura 01: Llamadas al sistema
Hay varios tipos de llamadas al sistema. Crear, finalizar el proceso, ejecutar el proceso, asignar y liberar memoria se puede hacer mediante "Llamadas al sistema de control de procesos". Las “Llamadas al sistema de administración de archivos” se pueden utilizar para crear, eliminar, leer, escribir, abrir y cerrar archivos. El proceso requiere algunos recursos para completar la ejecución. La solicitud y liberación de dispositivos se realiza a través de "Llamadas al sistema de administración de dispositivos". Las "Llamadas al sistema de gestión de información" se pueden utilizar para obtener datos del sistema y para obtener procesos y atributos de dispositivos. Los procesos se comunican entre sí. Esta comunicación se realiza mediante "Llamadas al sistema de comunicación". El envío de información de estado, la creación y eliminación de conexiones de comunicación y el envío y recepción de mensajes se pueden realizar mediante llamadas al sistema de comunicación.
¿Qué es Library Call?
La llamada a la biblioteca es una función proporcionada por las bibliotecas de programación. Antes de realizar una llamada a la biblioteca, esa biblioteca debe importarse. La llamada a la biblioteca puede depender de la llamada al sistema.
En lenguaje C, estas funciones se pueden usar en el programa al incluir los archivos de encabezado. Los archivos de encabezado se incluyen mediante la directiva de preprocesamiento #include. El preprocesador analiza el archivo especificado antes de continuar con el resto del archivo fuente. Algunas funciones comunes de la biblioteca son las siguientes, la biblioteca "math.h" incluye funciones relacionadas con operaciones matemáticas. La biblioteca “stdio.h” proporciona funciones para realizar entradas y salidas. “Fopen ()” abre el nombre del archivo señalado. "Fclose ()" cierra el archivo. “Printf () se utiliza para enviar la salida formateada a una salida estándar. “Fprintf ()” se usa para enviar la salida formateada a una secuencia. “Scanf ()” se utiliza para leer la entrada formateada de la entrada estándar. "Stdlib.h" proporciona funciones para la gestión de la memoria y "time.h" proporciona funciones para la manipulación de la hora y la fecha.
¿Cuál es la similitud entre la llamada al sistema y la llamada a la biblioteca?
Ambos están relacionados con el sistema operativo
¿Cuál es la diferencia entre llamada al sistema y llamada a la biblioteca?
Diferencia del medio del artículo antes de la mesa
Llamada al sistema vs llamada a la biblioteca |
|
Una llamada al sistema es una función proporcionada por el kernel para ingresar al modo kernel y acceder a los recursos de hardware. | La llamada a la biblioteca es una función proporcionada por la biblioteca de programación. |
Modo de ejecución | |
Una llamada al sistema se ejecuta en modo kernel. | Se ejecuta una llamada a la biblioteca en el modo de usuario. |
Cambio de modo | |
Una llamada al sistema cambia del modo de usuario al modo de kernel. | No se puede cambiar del modo de usuario al modo de kernel en la llamada a la biblioteca. |
Portabilidad | |
Una llamada al sistema no es portátil. | Una llamada a la biblioteca es portátil. |
Resumen: llamada al sistema frente a llamada a la biblioteca
Se implementa una llamada al sistema en el kernel y una llamada a la biblioteca en el espacio de usuario. La diferencia entre la llamada al sistema y la llamada a la biblioteca es que una llamada al sistema es una función proporcionada por el kernel para ingresar al modo kernel para acceder a los recursos de hardware y la llamada a la biblioteca es una función proporcionada por las bibliotecas de programación. Las llamadas a la biblioteca pueden depender de las llamadas al sistema para completar la tarea. open (), fork (), cd () son algunos ejemplos de llamadas al sistema. fopen (), fprintf () son ejemplos de llamadas a bibliotecas.
Descargue la versión PDF de System Call vs Library Call
Puede descargar la versión PDF de este artículo y utilizarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí Diferencia entre llamada al sistema y llamada a la biblioteca