lunes, 16 de mayo de 2016
martes, 3 de mayo de 2016
martes, 5 de abril de 2016
lunes, 4 de abril de 2016
Sistema de ventanas X
El Sistema de Ventanas X (en inglés, X Window System) es un software que fue desarrollado a mediados de los años 1980en el MIT para dotar de una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un usuario y una o más computadoras haciendo transparente la red para éste. Generalmente se refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el encargado de mostrar la información gráfica de forma totalmente independiente del sistema operativo.
X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba simultáneamente la capacidad de procesamiento de un mismo computador trabajando en tiempo compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para dibujar la pantalla y aceptar la entrada del usuario. Debido a la ubicuidad del soporte para el software X en Unix, es usado en los computadores personales incluso cuando no hay necesidad del tiempo compartido.
El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red.
Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal gráfico virtual.
El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo, permite tener clientes X ejecutándose en un potente servidor UNIX mientras los resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo funcionando.
La comunicación entre el cliente X y el servidor se realiza por medio de un protocolo conocido como Xprotocol, que consiste en una serie de bytes interpretados como comandos básicos para generar ventanas, posicionarlas, o controlar eventos. Los clientes X acceden al Xprotocol mediante el uso de una biblioteca llamada Xlib, que evita al programador de clientes X tener que lidiar con el código binario del Xprotocol. Sin embargo, los aspectos de decoración de ventana y manejos de ventanas no están definidos en esta biblioteca.
X no es un gestor de ventanas, necesita de uno para controlar el manejo de ventanas. Esto trae la ventaja de que permite al usuario instalar uno o más administradores de ventanas de su preferencia. También trae la ventaja de que hace de X estrictamente un sistema gráfico, de tal modo que un cliente X podría estar enviando un gráfico a una pantalla, a una impresora o a cualquier otro hardware sin darse cuenta, flexibilizando la salida gráfica.
Por otro lado, la desventaja que trae el hecho de no tener un único entorno gráfico es que los programadores de clientes X que desean hacer uso de los recursos de los entornos gráficos (botones, barras de deslizamientos, etc) deben elegir un entorno gráfico específico para programar y contar que el usuario tenga por los menos las bibliotecas de dicho entorno gráfico instalado. Las bibliotecas de los entornos gráficos se conocen como "Toolkits", el estándar X provee sólo de un conjunto de herramientas básicas llamadas Xintrisics que permiten a los programadores de los entornos gráficos armar sus Toolkits sobre éstas.
Diseño
X usa el modelo cliente-servidor: un servidor X se comunica con varios programas cliente. El servidor acepta los pedidos para la salida gráfica (ventanas) y devuelve la entrada del usuario (desde el teclado, del ratón, o de la pantalla táctil). El servidor puede funcionar así:
- una aplicación exhibiendo hacia una ventana de otro sistema de visualización
- un programa del sistema controlando la salida vídeo de una PC
- una pieza de hardware dedicada
Esta terminología de cliente servidor - el terminal de usuario siendo el servidor y las aplicaciones siendo los clientes - a menudo confunde a nuevos usuarios de X, porque los términos parecen invertidos. Pero X toma la perspectiva de la aplicación, en vez de la del usuario final: X proporciona la exhibición por pantalla y los servicios de entrada/salida a las aplicaciones, así que es un servidor; las aplicaciones usan estos servicios, por lo tanto son los clientes.
El protocolo de comunicaciones entre el servidor y el cliente opera transparente a la red: el cliente y el servidor pueden ejecutarse en la misma o en diferentes máquinas, posiblemente con diferentes arquitecturas y sistemas operativos. Un cliente y un servidor pueden incluso comunicarse con seguridad sobre Internet haciendo una conexión de túnel sobre una sesión cifrada de la red.
Un cliente X puede emular un servidor X proporcionando servicios de exhibición a otros clientes. Esto es conocido como "X nesting" (anidado X). Los clientes de código abierto tales como Xnest y Xephyr soportan el X nesting.
Para utilizar un programa de cliente X sobre una máquina remota, el usuario hace lo siguiente:
- En la máquina local, abrir una ventana de terminal
- usar telnet o ssh para conectarse con la máquina remota
- solicitar el servicio local de pantalla/entrada (ej., export DISPLAY=[user's machine]:0 si no se está usando SSH con X tunneling activado)
El cliente X remoto entonces hará una conexión al servidor X local del usuario, proporcionando la exhibición por pantalla y la entrada.
Alternativamente, la máquina local puede ejecutar un pequeño programa que se conecte con la máquina remota y comience la aplicación cliente.
Ejemplos prácticos de clientes remotos incluyen:
- administrando una máquina remota gráficamente
- corriendo una simulación de cómputo intensivo en una máquina Unix remota y mostrando los resultados por pantalla en una de escritorio Windows
- ejecutar software gráfico en varias máquinas al mismo tiempo, controlados por una sola pantalla, teclado y ratón.
Principios[editar]
En 1984, Bob Scheifler y Jim Gettys establecieron los tempranos principios de X:
- No añadan nueva funcionalidad a menos que un implementador no pueda completar una aplicación real sin ella.
- Es tan importante decidir qué no es el sistema, como decidir qué es. No respondan a las necesidades de todo el mundo; en lugar de eso, hagan el sistema extensible para que las necesidades adicionales puedan cubrirse en una manera compatible ascendente.
- La única cosa peor que generalizar a partir de un ejemplo es generalizar a partir de ningún ejemplo en absoluto.
- Si un problema no se entiende totalmente, probablemente es mejor no proporcionar ninguna solución en absoluto.
- Si ustedes pueden conseguir el 90 por ciento del efecto deseado para el 10 por ciento del trabajo, utilicen la solución más simple. (Ver también peor es mejor).
- Aíslen la complejidad tanto cuanto sea posible.
- Proporcionen un mecanismo en vez de una política. En particular, pongan la interfaz de política en las manos de los clientes.
El primer principio fue modificado durante el diseño del X11: "No añadan nueva funcionalidad a menos que ustedes sepan de alguna aplicación real que la requiera".
X ha mantenido en gran parte estos principios. La implementación de ejemplo es desarrollada con una vista hacia la extensión y la mejora de la implementación, mientras que permanece compatible con el protocolo original de 1987.
Interfaces de ususario
X es primariamente una definición de primitivas de protocolo y gráficas, y deliberadamente no contiene especificaciones de diseño deinterfaz de usuario, como estilos de botón, menú, barra de título para las ventanas. En vez de eso, un software de aplicación (tal como los manejadores de ventana, Widget toolkits de GUI y ambientes de escritorio, o las interfaces gráficas de usuario específicas de una aplicación) definen y proporcionan tales detalles. Como resultado, no hay interfaz X típica y varios ambientes de escritorio han sido populares entre los usuarios.
Un manejador de ventana controla la colocación y la apariencia de las ventanas de aplicación. Esto puede resultar en interfaces semejantes a las de Microsoft Windows o Macintosh (los ejemplos incluyen Metacity en GNOME, KWin en KDE, Xfwm en Xfce, o Compiz) o tener controles radicalmente diferentes (tales como tiling window manager, como wmii o Ratpoison). Los manejadores de ventana abarcan en sofisticación y complejidad desde los más simples (ej., twm, el manejador de ventana básico suministrado con X, o evilwm, un manejador de ventana extremadamente liviano) hasta los ambientes de escritorio más completos tales como Enlightenment.
Muchos usuarios usan X con un ambiente de escritorio, que, independientemente del manejador de ventana, incluyen varias aplicaciones usando una interfaz de usuario consistente. GNOME, KDE y Xfce son los ambientes de escritorio más populares. El ambiente estándar de Unix es Common Desktop Environment (CDE). La iniciativa freedesktop.org se dirige a la interoperabilidad entre el escritorio y los componentes necesarios para un escritorio X competitivo.
Puesto que el X es responsable de la interacción entre el teclado y el ratón con el escritorio gráfico, ciertos atajos de teclado han llegado a estar asociados con X. Control-Alt-Backspace típicamente termina la sesión actualmente corriendo en X, mientras que el Control-Alt conjuntamente con una tecla de función cambia a la consola virtual asociada. Sin embargo, esto es un detalle dejado al diseño de una implementación de servidor X y no es universal; por ejemplo, las implementaciones de servidor X para Windows y Macintosh típicamente no proporcionan estos atajos de teclado.
Implementaciones[editar]
La implementación de X.Org es la implementación canónica de X. Debido al tipo de licencia libre, han aparecido un número de variaciones, tanto libres como propietarias. Los vendedores comerciales de UNIX han tendido a tomar la implementación de fuente abierta y a adaptarla para su hardware, usualmente personalizándola y añadiendo extensiones propietarias.
Hasta 2004, XFree86 proporcionó la variante más común de X en sistemas como UNIX libres. XFree86 comenzó un port de X para las PC compatibles 386, y, para final de los años 1990, se había convertido en la más grande fuente de innovación técnica en X y el estándar de facto del desarrollo de X.1 Desde 2004, sin embargo, el X.Org Server, una bifurcación (fork) de XFree86, ha llegado a ser predominante.
Mientras es común asociar X con Unix, los servidores X también existen nativamente dentro de otros ambientes gráficos. El sistema operativo OpenVMS de Hewlett-Packard incluye, como su ambiente de escritorio estándar, una versión de X con el CDE conocida como DECwindows. El Mac OS X v10.3 (Panther) y el Mac OS X v10.4 (Tiger) de Apple incluyen X11.app, basado en XFree86 4,3 y X11R6.6, con una mejor integración de Mac OS X, en el Mac OS X v10.5 (Leopard) X.org Apple incluyó el X.org (X11R7.2 Codebase) en vez del XFree86 (X11R6.8). Los servidores de terceros bajo el Mac OS 7, 8 y 9 incluyeron el eXodus de White Pine Software y el MacX de Apple.
Microsoft Windows no es comercializado con soporte para X, pero existen muchas implementaciones de terceros, tanto de software libre tales como Cygwin/X, Xming y WeirdX; como de productos propietarios tales como Xmanager, Exceed, MKS X/Server, Reflection X, y X-Win32.
Cuando un sistema operativo con un sistema de ventana nativo es anfitrión de X, adicionalmente, el sistema X puede usar o no usar su propio escritorio en una ventana anfitriona separada o puede ejecutarse rootless, significando que el escritorio X está oculto y el ambiente anfitrión de ventana maneja la geometría y apariencia de las ventanas hospedadas en la pantalla del anfitrión.
Terminales X
Un terminal X es un cliente ligero que solamente ejecuta un servidor X. Esta arquitectura llegó a ser popular para construir paquetes de terminales baratos para que muchos usuarios usaran simultáneamente el mismo gran servidor de computadora para ejecutar programas de aplicación como clientes de cada terminal X. Este uso está muy cerca con la intención original del proyecto MIT.
Los terminales X exploran la red (el dominio de difusión local) usando el protocolo de control del X Display Manager para generar una lista de anfitriones disponibles que son permitidos como clientes. Uno de los anfitriones de clientes debe ejecutar un X display manager.
El hardware dedicado para terminales X ha llegado a ser menos común; un PC o un moderno cliente ligero con un servidor X proporciona típicamente la misma funcionalidad a igual o más bajo costo.
miércoles, 2 de marzo de 2016
domingo, 21 de febrero de 2016
Complejidad en el diseño y Funcionalidad de la aplicación
Pasar al cuaderno hasta Hipertexto jerarquizado
miércoles, 17 de febrero de 2016
Caracteristicas, ventajas y desventajas del Hipertexto
Características del Hipertexto
Esta tecnología debe proveer un
medio adecuado para organizar y presentar información poco o nada estructurada,
no ajustada a esquemas tradicionales y rígidos como es el caso de las bases de
datos. Pueden utilizarse esquemas jerárquicos para la utilización de sistemas
de documentación de texto tradicionales, muy organizados o simplemente creando
estructuras de redes con poco o ningún atributo de precedencia.
•Tener asociada una interfaz de
usuario muy intuitiva, pues se pretende imitar el funcionamiento de la mente
humana, haciendo uso de modelos cognitivos, por lo que el usuario no debería
realizar grandes esfuerzos para obtener la información requerida.
•La información se encuentra
distribuida y puede ser accedida en forma concurrente por varios usuarios, por
lo tanto es un ambiente compartido.
•Tiene asociados varios mecanismos
de recuperación y búsqueda de información a través de las navegaciones, ya sean
dirigidas o no dirigidas.
Ventajas
del Hipertexto
•• Los usuarios pueden moverse
libremente a través de la información, de acuerdo a sus propias necesidades. La
información puede ser estructurada jerárquicamente por
prioridades.
• El hipertexto al no ser lineal, ni secuencial ayuda al usuario a escoger y elegir lo que quiere no solo fragmentos pequeños de texto sino a diversidad de imágenes, videos o animaciones de cualquier modelo informático.
• Permite al usuario a través de tanto conocimiento construir algo nuevo y quizá más completo.
• Así como el usuario puede seleccionar los temas que sean de su interés o que le parezcan más importantes, puede igual forma tener control absoluto de la dirección que tome al escoger los enlaces y estar en capacidad de establecer diferencias y prioridades entre enlaces.
• El usuario tiene total libertad para buscar las referencias deseadas.
• El hipertexto suele ser mas lúdico y divertida de aprendizaje al escoger uno mismo lo que quiere leer y ver lo que propiamente le interesa.
• El hipertexto al no ser lineal, ni secuencial ayuda al usuario a escoger y elegir lo que quiere no solo fragmentos pequeños de texto sino a diversidad de imágenes, videos o animaciones de cualquier modelo informático.
• Permite al usuario a través de tanto conocimiento construir algo nuevo y quizá más completo.
• Así como el usuario puede seleccionar los temas que sean de su interés o que le parezcan más importantes, puede igual forma tener control absoluto de la dirección que tome al escoger los enlaces y estar en capacidad de establecer diferencias y prioridades entre enlaces.
• El usuario tiene total libertad para buscar las referencias deseadas.
• El hipertexto suele ser mas lúdico y divertida de aprendizaje al escoger uno mismo lo que quiere leer y ver lo que propiamente le interesa.
Desventajas
del Hipertexto
•• Si el usuario no ha desarrollado
las competencias adecuadas, se desorienta fácilmente. Al seguir con varias
líneas de interés a la vez, tanta información puede desorientar al usuario y
perder la pista de su posición dentro del documento.
• Este se presenta por la dificultad del usuario en adaptarse a la sobrecarga mental derivada del gran número de operaciones o consultas de partes de informaciones diversas.
• Este se presenta por la dificultad del usuario en adaptarse a la sobrecarga mental derivada del gran número de operaciones o consultas de partes de informaciones diversas.
lunes, 15 de febrero de 2016
Historia del Hipertexto
Hipertexto
El hipertexto es una herramienta con
estructura secuencial que permite crear, agregar, enlazar y compartir
información de diversas fuentes por medio de enlaces asociativos.
La forma más habitual de hipertexto en informática es
la de hipervínculos o referencias
cruzadas automáticas que van a otros documentos (lexías). Si el usuario selecciona un
hipervínculo, el programa muestra el
documento enlazado. Otra forma de hipertexto es el stretchtext que consiste en
dos indicadores o aceleradores y una pantalla. El primer indicador permite que
lo escrito pueda moverse de arriba hacia abajo en la pantalla.
Es importante mencionar que el hipertexto no está
limitado a datos textuales, podemos encontrar dibujos del elemento especificado
o especializado, sonido o vídeo referido al tema. El programa que se usa para
leer los documentos de hipertexto se llama navegador, browser, visualizador o cliente,
y cuando seguimos un enlace decimos que estamos navegando por la web. El hipertexto es una de las formas de la hipermedia, enfocada en diseñar, escribir y
redactar texto en una media.
Historia
El concepto de hipertexto fue creado por Vannevar
Bush, un estadounidense que con la invención de Memex, un dispositivo que
sirve como base de datos y que
posteriormente da la posibilidad de interactuar con los usuarios, permitió
mecanizar y conectar la información con el fin de aumentar el desarrollo en
aquella época.
Ted Nelson, en 1965, fue el primero en
acuñar la palabra “hypertext”, su propuesta es Xanadu, un sistema que permite que un mismo
documento aparezca en múltiples contextos sin tener que haber sido duplicado.
El primer sistema de hipertexto llevado a cabo fue creado por Andries Van Dam y construido en la Universidad Brown en el año 1967. Se llamaba HES (Hypertext Editing System; El sistema de edición de hipertexto).
Douglas Engelbart en 1968 diseña el NLS
(on line system), origen del sistema Augment, un medio basado en una interfaz que permite la manipulación directa con
el uso del dispositivo “ratón”. Engelbart se asocia
con Ted Nelson para desarrollar un programa de computador en el que se puede
implementar las nociones de hipermedia e hipertexto. Aspen Movie Map
fue el primer sistema hipermedia, llevado a cabo por Lippman en 1978, en el que se creó un
mapa virtual de la ciudad de Aspen con el que el
usuario podía moverse por las calles con el manejo de un joystick . El concepto de anclas vino de la
mano de Intermedia, en la Universidad Brown. Intermedia fue un sistema multiusuario que daba la facilidad de recuperar
información. Solo se podía utilizar en Apple bajo Unix. Debido a la falta de
fondos desparece. Guide fue el primer sistema de hipertexto comercial, lo
desarrolló Unix y más tarde llevado a la plataforma Apple Macintosh. El verdadero punto de inflexión para
el concepto de hipertexto ocurrió en 1987 con la
introducción de HyperCard en las computadores de Apple. En ese mismo año se
da una conferencia en la Universidad de North Caroline dedicada a la
investigación hipertextual. En1991 se lleva a cabo
el proyecto para llevar la tecnología hipermedial a la World Wide Web.
Dos años más tarde, NCSA(National Center for
Supercomputing Applications) crea Mosaic el
navegador gráfico para la WWW.
|
Principales hitos en la historia y desarrollo
|
|||
|
Año
|
Sistema
|
Autor
|
Hito
|
|
1945
|
Dispositivo basado en microfichas.
|
||
|
1965
|
Primero en nombrar el término
"hypertext".
|
||
|
1967
|
Hypertext Editing System
|
Andy van Dam
|
Primer sistema de hipertexto en
funcionamiento.
|
|
1968
|
On Line System
|
Sistema de hipertexto con manipulación
directa con utilización de ratón.
|
|
|
1978
|
Aspen Movie Map
|
Andrew Lippman
|
Primer sistema hipermedio en
funcionamiento.
|
|
1985
|
Intermedia
|
Yankelovich et al
|
Se empieza a utilizar el concepto de
ancla y red.
|
|
1986
|
GUIDE
|
OWL
|
Primer producto para autoría de
hiperdocumentos.
|
|
1987
|
Producto entregado con cada Macintosh.
|
||
|
1987
|
Hypertext ´87
|
University of North Carolina
|
Primera conferencia en la que se trata
la tecnología de hipertexto.
|
|
1991
|
Proyecto para llevar la tecnología
hipermedial en Internet.
|
||
|
1993
|
Navegador gráfico para el WWW.
|
||
Lincografía: https://es.wikipedia.org/wiki/Hipertexto
Suscribirse a:
Comentarios (Atom)