1.2.2. Las bibliotecas
Texto íntegro de la conversión. Las figuras y la disposición de las notas se pueden consultar en el PDF.
1.2.2. Las bibliotecas
Los lenguajes de alto nivel nos permiten llevar a cabo operaciones que el lenguaje máquina no puede servir directamente, como por ejemplo:
- operaciones matemáticas (por ejemplo ln, sin, cos o sqrt)
- manipulación de cadenas de caracteres (como strcpy o strcat)
- operaciones de entrada/salida con formato (como readln, printf o fopen)
Página 11
Los lenguajes de alto nivel permiten efectuar operaciones de este estilo directamente, pero para que se puedan ejecutar se tienen que añadir fragmentos de código nuevos que las resuelvan; son las bibliotecas de rutinas.
Las bibliotecas son un conjunto de módulos objeto organizados adecuadamente. Las suministra o bien el fabricante del sistema operativo o bien la institución que ha desarrollado el entorno a compilación. Las rutinas que contienen están catalogadas y se sabe perfectamente cómo se tienen que utilizar; tienen definidos los nombres de los procedimientos, los parámetros necesarios y la manera como se pasan, así como los posibles ficheros complementarios4. No es habitual disponer del código fuente de las bibliotecas.
Los procedimientos de las bibliotecas son muy genéricos y están pensados para que muchos programadores de diferentes tipos de aplicaciones puedan hacer uso de ellos. Dentro de las aplicaciones de sistema, generalmente se dispone de herramientas para construir nuevas bibliotecas. El programador puede dar formato de biblioteca a aquellos procedimientos más generales y más utilizados y comprobados por un programador, o un equipo de programadores, y utilizarlos así más fácilmente en diferentes aplicaciones.
Podemos agrupar las bibliotecas en las tres familias siguientes:
-
Bibliotecas del sistema: permiten invocar las llamadas al sistema de forma independiente del lenguaje máquina de nuestro sistema computador. De esta forma, el código fuente de las aplicaciones será portable entre sistemas computadores donde esté instalado el mismo sistema operativo.
-
Bibliotecas del lenguaje: son las más genéricas y normalmente son estandarizadas para cada lenguaje de programación de alto nivel, al menos en un conjunto de procedimientos. Las áreas más comunes son la gestión de ficheros y de dispositivos de entrada/salida, las funciones matemáticas y la manipulación de cadenas de caracteres.
-
Bibliotecas especializadas: son aquellas que, de manera opcional, se añaden al sistema con el fin de resolver problemas más específicos que no pueden solucionar las bibliotecas estándar. Un buen ejemplo son las bibliotecas especializadas en cálculos matemáticos (como cálculo matricial, estadístico o criptográfico) o las bibliotecas para visualización gráfica. También se suministran para la utilización de hardware muy específico, como es el caso de los entornos industriales.
Notas y pies de figura de la fuente
(4)Un ejemplo de ficheros complementarios son los ficheros cabecera (por ejemplo /usr/include/fcntl.h) del lenguaje C.
Página 12
Ver fragmento extraído sin normalizar
1.2.2. Las bibliotecas
Los lenguajes de alto nivel nos permiten llevar a cabo operaciones que el len-
guaje máquina no puede servir directamente, como por ejemplo:
• operaciones matemáticas (por ejemplo ln, sin, cos o sqrt)
• manipulación de cadenas de caracteres (como strcpy o strcat)
• operaciones de entrada/salida con formato (como readln, printf o fopen)
## Página 11
<!-- source-page: 11 -->
GNUFDL • PID_00214804 11 El sistema operativo: una máquina virtual
Los lenguajes de alto nivel permiten efectuar operaciones de este estilo direc-
tamente, pero para que se puedan ejecutar se tienen que añadir fragmentos de
código nuevos que las resuelvan; son las bibliotecas de rutinas.
(4)Un ejemplo de ficheros comple-
Las bibliotecas son un conjunto de módulos objeto organizados ade- mentarios son los ficheros cabe-
cuadamente. Las suministra o bien el fabricante del sistema operativo cera (por ejemplo /usr/inclu-
de/fcntl.h) del lenguaje C.
o bien la institución que ha desarrollado el entorno a compilación. Las
rutinas que contienen están catalogadas y se sabe perfectamente cómo
se tienen que utilizar; tienen definidos los nombres de los procedimien-
tos, los parámetros necesarios y la manera como se pasan, así como los
posibles ficheros complementarios4. No es habitual disponer del código
fuente de las bibliotecas.
Los procedimientos de las bibliotecas son muy genéricos y están pensados para
que muchos programadores de diferentes tipos de aplicaciones puedan hacer
uso de ellos. Dentro de las aplicaciones de sistema, generalmente se dispone
de herramientas para construir nuevas bibliotecas. El programador puede dar
formato de biblioteca a aquellos procedimientos más generales y más utiliza-
dos y comprobados por un programador, o un equipo de programadores, y
utilizarlos así más fácilmente en diferentes aplicaciones.
Podemos agrupar las bibliotecas en las tres familias siguientes:
1)Bibliotecasdelsistema: permiten invocar las llamadas al sistema de for-
ma independiente del lenguaje máquina de nuestro sistema computador. De
esta forma, el código fuente de las aplicaciones será portable entre sistemas
computadores donde esté instalado el mismo sistema operativo.
2)Bibliotecasdellenguaje: son las más genéricas y normalmente son estan-
darizadas para cada lenguaje de programación de alto nivel, al menos en un
conjunto de procedimientos. Las áreas más comunes son la gestión de ficheros
y de dispositivos de entrada/salida, las funciones matemáticas y la manipula-
ción de cadenas de caracteres.
3)Bibliotecasespecializadas: son aquellas que, de manera opcional, se aña-
den al sistema con el fin de resolver problemas más específicos que no pue-
den solucionar las bibliotecas estándar. Un buen ejemplo son las bibliotecas
especializadas en cálculos matemáticos (como cálculo matricial, estadístico o
criptográfico) o las bibliotecas para visualización gráfica. También se suminis-
tran para la utilización de hardware muy específico, como es el caso de los
entornos industriales.
## Página 12
<!-- source-page: 12 -->
GNUFDL • PID_00214804 12 El sistema operativo: una máquina virtual