Funciones de biblioteca.

xxxUno de los problemas de usar llamadas al sistema de bajo nivel directamente para las entradas y salidas es que pueden ser ineficaces. Por eso hay que tener en cuenta dos cuestiones:

  1. Al hacer una llamada al sistema, tenemos que pagar el precio de que Linux tiene que pasar de ejecutar el código de su programa a ejecutar su propio código central y de vuelta de nuevo, cuyo resultado es muy lento. Es una buena idea mantener en un mínimo el número de llamadas al sistema usadas en un programa y conseguir que cada llamada realice el mayor trabajo posible, por ejemplo, leyendo y escribiendo grandes cantidades  de datos en lugar de un único carácter cada vez.
  2. El hardware tiene limitaciones que pueden imponer restricciones en el tamaño de los bloques de datos que pueden leer o escribir las llamadas al sistema de bajo nivel de una sola vez. Por ejemplo, las unidades de cinta suelen tener un tamaño de bloque, pongamos 10k, en el que pueden escribir. De manera que si intenta escribir una cantidad que no sea múltiplo exacto de 10k, la unidad seguirá adelantando la cinta hasta el siguiente bloque de 10k, dejando huecos en la cinta.

xxxPara proporcionar a los dispositivos y a los archivos de disco una interfaz de alto nivel, una distribución Linux (y UNIX) proporciona varias bibliotecas estándar. Se trata de colecciones de funciones que puede incluir en sus propios programas para solucionar estos errores.  Un buen ejemplo es la biblioteca estándar E/S que proporciona salida con memoria intermedia. Podrá escribir bloques de datos de diferentes tamaños, y las funciones de la biblioteca solicitan que se proporcionen las llamadas al sistema de bajo nivel con bloques completos cuando estén disponibles los datos, lo cual reduce considerablemente los gastos de ejecución de las llamadas al sistema.

xxxLas funciones de las bibliotecas suelen aparecer en la tercera sección de los manuales y suelen tener un archivo incluido asociado, como stdio.h para la biblioteca estándar E/S.

xxxResumimos lo expuesto en las últimas secciones mostrando dónde existen las diferentes funciones del archivo con relación al usuario, a los controladores de dispositivos, al núcleo y hardware.

funciones_grafico_1atras

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.