La llamada del sistema y la llamada de la biblioteca están relacionadas con el sistema operativo de una computadora. La computadora puede operar en dos modos; A saber, modo de usuario y modo kernel. los diferencia clave entre la llamada del sistema y la llamada de 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 encabezados stdio.h. Luego, la llamada al sistema 'open ()' se usa desde el kernel para completar la tarea de apertura del archivo.
1. Resumen y diferencia clave
2. ¿Qué es la llamada al sistema?
3. ¿Qué es la llamada a la biblioteca?
4. Similitudes entre la llamada del sistema y la llamada de la biblioteca
5. Comparación lado a lado - Llamada de sistema frente a llamada de biblioteca en forma de tabla
6. Resumen
Una computadora funciona en dos modos. Son modo usuario y modo kernel. Algunos procesos se están ejecutando en un sistema informático. Un proceso es un programa en ejecución. Cuando se ejecutan los 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. Una vez completada la tarea, la computadora vuelve al modo de usuario desde el modo de núcleo. 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 del sistema
Hay varios tipos de llamadas al sistema. Crear, finalizar el proceso, ejecutar el proceso, asignar y liberar memoria se puede hacer usando "Sistema de control de procesos de llamadas.""Sistema de gestión de archivos de llamadas”Se puede utilizar para crear, eliminar, leer, escribir, abrir, cerrar archivos. El proceso requiere algunos recursos para completar la ejecución. Los dispositivos de solicitud y liberación se realizan a través de "Sistema de gestión de dispositivos de llamadas.""Sistema de gestión de información de llamadas”Se puede 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 utilizando “Sistema de comunicación de llamadas.”El envío de información de estado, la creación y eliminación de conexiones de comunicación, el envío y la recepción de mensajes se pueden realizar mediante llamadas al sistema de comunicación..
La llamada a la biblioteca es una función proporcionada por las bibliotecas de programación. Antes de hacer una llamada a la biblioteca, esa biblioteca debe ser importada. La llamada de la biblioteca puede depender de la llamada del sistema.
En lenguaje C, estas funciones se pueden usar en el programa incluyendo los archivos de encabezado. Los archivos de encabezado se incluyen usando la directiva de preprocesamiento #include. El preprocesador escanea 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 las 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 usa para leer entradas formateadas de entradas estándar. "Stdlib.h" proporciona funciones para la gestión de la memoria y "time.h" proporciona funciones para la manipulación de la fecha y la hora.
Llamada de sistema vs llamada de biblioteca | |
Una llamada al sistema es una función proporcionada por el kernel para ingresar al modo kernel para 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 el modo kernel. | Una llamada a la biblioteca se ejecuta en el modo de usuario. |
Cambio de modo | |
Un cambio de llamada del sistema del modo usuario al modo kernel. | No hay cambio del modo de usuario al modo kernel en la llamada a la biblioteca. |
Portabilidad | |
Una llamada al sistema no es portátil. | Una llamada de la biblioteca es portátil. |
Una llamada al sistema se implementa en el kernel y una llamada a la biblioteca se implementa en el espacio del 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 núcleo 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 del sistema para completar la tarea. open (), fork (), cd () son algunos ejemplos de llamadas al sistema. fopen (), fprintf () son ejemplos de llamadas de biblioteca.
Puede descargar la versión en PDF de este artículo y usarla para fines fuera de línea, como se indica en la nota de cita. Descargue la versión en PDF aquí Diferencia entre la llamada del sistema y la llamada de la biblioteca
1.Point, Tutoriales. "Archivos de encabezado C"., Tutoriales de point, 1 nov. 2017. Disponible aquí
2.Santhosh. “Función de biblioteca de System Call v / s”. Una búsqueda de conocimiento, 19 de agosto de 2011. Disponible aquí
3.Point, Tutoriales. "Biblioteca C"., Punto de tutoriales, 19 de septiembre de 2017. Disponible aquí