Chapter 8 Conclusion
8.3 Future Work
Anexo I. Glosario de términos
ABI: Del inglés Application Binary Interface (Interfaz Binaria de Aplicaciones). Se refiere a el conjunto especificaciones que rigen la comunicación entre componentes binarios, como son bibliotecas, ejecutables y componentes del sistema operativo. Una ABI describe cuestiones tales como la forma de llamar a funciones ubicadas en otro componente, el orden en que se pasan los argumentos, cómo se pasan (por direcciones de memoria, por registros de la CPU, etc.), cómo se decoran los nombres de las funciones, cómo se localizan estas, cómo se alinean los tipos de datos, el formato de los ejecutables, y demás.
API: Del inglés Application Programming Interface (Interfaz de Programación de Aplicaciones). Se refiere al conjunto de especificaciones y/o protocolos de comunicación que expone una biblioteca, marco de trabajo o ejecutable, con el objetivo de que sea invocado desde otra aplicación. Las API exponen interfaces relevantes para los programadores de aplicaciones y son basadas en código fuente, como los archivos de encabezado de C/C++ (.h)
Bash: es una shell de Unix o intérprete de línea de comandos, utilizado por defecto en el sistema operativo GNU/Linux y portado a varias plataformas. Bash permite ejecutar scripts de comandos cargados desde un fichero.
BSD: Berkeley Software Distribution es un sistema operativo Unix desarrollado por Grupo de Investigación de Sistemas Computarizados de la Universidad de California, Berkeley, desde 1977 a 1995. Es la base de varios sistemas operativos libres utilizados en la actualidad y parte de su código forma parte de sistemas operativos modernos como Microsoft Windows y Mac OSX.
Demonio o daemon: programa de computadora que corre como proceso de fondo, sin interacción con los usuarios de la máquina.
Dist-upgrade: Opción del gestor de paquetes APT que permite realizar una actualización profunda del sistema manejando inteligentemente la actualización de las dependencias y la resolución de conflictos.
Distribución de GNU/Linux: variantes del sistema operativo GNU/Linux que incluye aplicaciones o paquetes específicos que la diferencian de otras variantes. Ejemplos de distribuciones de GNU/Linux son Debian, Ubuntu, RHEL, Fedora, OpenSUSE, Arch Linux, Gentoo, Nova...
ELF: del inglés Executable and Linkable Format (Formato Ejecutable y Enlazable). Es un formato estándar de archivos ejecutables, código objeto y bibliotecas compartidas. Original del ABI del Unix System V, actualmente es utilizado en varios sistemas operativos similares a Unix como es el
caso de GNU/Linux.
FreeBSD: es un sistema operativo libre tipo Unix, descendiente de BSD. Con la excepción de Mac OSX, es el descendiente de BSD más utilizado en la actualidad, el número uno de las variantes libres.
GNU: acrónimo recursivo que significa GNU is Not Unix (GNU NO es Unix). Es el nombre del sistema operativo creado por Richard Stallman y la Free Software Foundation a partir de 1983 con el objetivo de ofrecer un sistema operativo libre compatible con Unix, pero programado totalmente desde cero. El sistema operativo no se llego a terminar completamente al integrarse con otras herramientas libres que fueron apareciendo fuera del proyecto GNU como es el caso del núcleo Linux.
GNU/Linux: Sistema operativo conformado por el núcleo Linux y los componentes creados en el marco del proyecto GNU, más la adición de otros componentes libres de terceros.
LD_PRELOAD: Variable de entorno que se utiliza para especificar un conjunto de bibliotecas para ser cargadas por el cargador del sistema operativo GNU/Linux antes de cargar el resto del código binario de un determinado programa, permitiendo que este enlace con las mismas en vez de las predeterminadas del sistema.
Libc o biblioteca estándar de C: biblioteca del lenguaje C que forma parte del estándar ANSI C. La biblioteca C es un componente básico de los sistemas similares a Unix. Existen varias implementaciones de esta, por ejemplo, la del proyecto GNU conocida como glibc, que es un componente básico de toda distribución de GNU/Linux
Licencia Pública General de GNU (GNU GPL): Es la licencia de software más utilizada en la actualidad (según el Open Source Resource Center) con un 32,65% de cuota del mercado, y garantiza las cuatro libertades básicas que propugna el movimiento de software libre (ver definición de software libre). Su primera versión fue escrita por Richard Stallman en 1989 y hasta la fecha sustenta las bases legales de más del 65% del software libre que circula en el mundo.
Linux: Núcleo de sistema operativo desarrollado por Linus Torvalds a partir de 1991 y a cuyo desarrollo luego se han incorporado varios desarrolladores y empresas. Actualmente es utilizado junto a los componentes del sistema operativo GNU y a otros componentes de terceros en todas las distribuciones de GNU/Linux y en otros sistemas operativos como Android.
Marco de trabajo (framework): Conjunto de bibliotecas o clases reutilizables, acompañadas de otras herramientas como compiladores, generadores automáticos de código, y otros programas; una plataforma de software sobre la cual se puede sustentar el desarrollo de nuevas aplicaciones.
Posix: Estándar que define el API de un sistema operativo Unix. Todos los sistemas operativos similares a Unix como GNU/Linux o FreeBSD implementan este estándar.
Script: Archivo de texto que puede ser ejecutado por un intérprete.
Software Libre: Software que cumple con las siguientes cuatro libertades: libertad de utilizar el software, libertad de distribuirlo libremente, libertad de estudiar y modificar el software, y libertad de distribuir las modificaciones realizadas.
Unix: Sistema operativo multi-usuario y multi-tarea desarrollado originalmente por AT&T en los laboratorios Bell en 1969. Es el padre de un gran conjunto de sistemas operativos llamados igualmente Unix, o similares a Unix como FreeBSD y GNU/Linux.