Proyecto de Lectura y Reproducción de Texto con Boca Animada en Español
Introducción a Linux y las Xlib
En esta introducción a la segunda parte del proyecto, vamos a hablar sobre tres aspectos relacionados con ella: el sistema operativo Linux, el entorno gráfico y las librerias de desarrollo denominadas Xlib.
Linux es un sistema operativo multitarea creado como una réplica del sistema operativo UNIX para ser usado en ordenadores personales. Su desarrollo se hace entre miles de programadores de todo el mundo, gracias a la licencia GNU, que consiste en que cualquier programa unido a esta licencia (todo el sistema operativo Linux pertenece a ella) tiene el código fuente de dominio público, por lo que cualquiera puede modificarlo y mejorarlo siempre que esté dispuestoa compartir el cambio con los demas bajo la misma licencia GNU. Esta es una de las grandes ventajas de Linux: es gratis, y multitud de aplicacines software creadas para él también, por lo que su uso se extiende de forma muy rápida por todo el mundo (sobre todo entre programadores).
Otra de las ventajas de Linux es que no necesita un gran equipo para funcinar bien. En equipos donde Windows NT no puede apenas funcionar Linux consigue crear un servidor más que aceptable, gracias a Apache, que es un servidor gratuito que incorpora (el más utilizado del mercado).
Si tenemos que encontrar desventajas a Linux, la más importante es la dicultad de su configuración. Suele ser bastante complicado instalar y hacer que funcionen la mayoria de periféricos. Ademas el manejo de Linux no es sencillo (funciona por comandos, al estilo de MS-Dos), aunque incorpora un entorno gráfico (o varios), al estilo de Windows y que se llama X-Windows.
Estos entornos gráficos se basan en el concepto de los servidores X. Una vez configurado este, hay multitud de entornos de ventanas (KDE, gnome, ...) que pueden utilizar la información suministrada por este para presentar un entorno de diferentes formas gráficas.
Hay varias empresas (RedHat, Slackware, SuSe, OpenLinux...) dedicadas a recolectar tanto el sistema operativo como multitud de aplicaciones y distribuirlas a precio de coste en CD-Rom. A esto se le llama distribuciones Linux. Estas empresas también suelen vender otra versión denominada comercial más cara que la anterior y que viene con manuales y asistencia técnica, cosa de la cual las distribuciones carecen.
En este apartado queremos dar ciertas indicaciones sobre el sistema Xlib,centrándonos en:
Introducción.
Las Xlib son un interfaz de programación en lenguaje C , que permite desarrollar potentes aplicaciones para el sitema X Window. Estas librerías permiten escribir aplicaciones efectivas sin herramientas de programación adicionales que permitan el uso de ciertas tareas de alto nivel.
El sistema X es un sistema de ventanas que está orientado a la red y como consecuencia de ello se basa en un concepto típico de las redes como es el servidor.El servidor es el programa que estará encargado de controlar todos los procesos.Las tareas básicas del servidor son:
Rutinas que incluyen
Las rutinas principales incluyen para manejar:
| COLOR | Cambiar el color de las aplicaciones y ventanas |
| MANEJO DE DATOS | Mecanismos que asocian datos con ventanas o números |
| DIBUJOS | Rutinas para dibujar líneas,rectángulos,polìgonos y la posibilidad de rellenarlos |
| ERRORES | Hacen un control sobre los posibles errores cuando ocurren |
| EVENTOS | Consiguen información del usuario , de otras aplicaciones y del propio servidor |
| TECLADO | Funciones para modificar la entrada desde teclado incluyendo el propio mapa de teclado |
| REGIONES | Rutinas para hacer transformaciones matemáticas sobre regiones poligonales |
| TEXTO | Consiguen el dibujo del texto de un determinado tamaño |
| VENTANAS | Permiten crear , destruir y manipular las ventanas |
Como trabaja Xlib
El sitema X está diseñado para proveer ventanas sobre terminales que permitan mapas de bits.El código ha sido diseñado para resultar fácilmente portable a diferentes tipos de ordenadores y para permitir cooperar a varias máquinas sin el soporte de uuna red.Esta es una de las mayores innovaciones que se le ha atribuido a este sistema.Esta innovación se ha conseguido por la definición de un protocolo de muy alto nivel para la comunicación.El protocolo de la comunicación en X es el encargado de transferir información entre el servidor y las XLib, en ambas direcciones.
Un servidor X controla la pantalla.Para facilitar la visión y el control de las diferentes tareas , la pantalla es dividida en áreas màs pequeñas llamadas ventanas.Las ventanas son áreas rectangulares que trabajan de forma similar a pequeñas pantallas. Cada ventana puede ser dedicada a tareas diferentes , todas ellas controladas por una ventana coordinadora.
Introducción a gráficos
El sistema X Windows está diseñado para controlar el manejo de gráficos hechos mediante mapas de bits.Así pues cada unidad mínima de la pantalla , cada pixel, tiene asociados múltiples bits que son los encargados de controlar el color y la intensidad en cada pixel.
Los colores son determinados por la cantidad de rojo , verde y azul que exista.De esta manera se definen mapas de colores que lo que realmente almacenan es cantidad de estos tres colores primarios.
El Sistema X también proporciona varias rutinas para dibujar puntos , líneas, rectángulos , polígonos , arcos y otra serie de estructuras.Las rutinas que dibujan son llamadas primitivas gráficas .Estas primitivas funcionan a través de un recurso del servidor que se llama CONTEXTO GRAFICO. El contexto gráfico debe ser creado por los clientes y manejado también por estos. Este recurso reduce el tráfico que pueda existir entre el servidor y las Xlib.
Introducción a eventos
Los eventos son paquetes de información , que son generados por el servidor y que son enviados a una cola cuando ocurren ciertas acciones. Esta cola de eventos es leída siguiendo el orden de llegada de los eventos.Algunos tipos de eventos son los que provica el Ratón, modificación de ventanas...
Los clientes en los programas deben seleccionar qué tipos de eventos son los que él quiere que su programa detecte.Es decir el programador tiene mucha versatilidad para escoger los eventos que en su programa ven a producir cierta acción.
Por otro lado en el código del programa deberá aparecer un bucle , que será el encargado del manjo de los eventos hasta que la cola esté vacía, o se prodduzca un evento para salir del programa.
Retroceder hacia: Primera Parte del Proceso de Desarrollo del Proyecto
Avanzar hacia: Segunda Parte del Proceso de Desarrollo del Proyecto
Universidad de Valladolid
Ingeniería Técnica en Informática de Gestión