Sistema Operativo X Windows System
X Window System (en español sistema de
ventanas X) es un software que fue desarrollado a mediados de los años 1980 en 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.
X Window System, un ejemplo histórico de la interfaz gráfica de
usuario y aplicaciones comunes la distribución del MIT X Consortium corriendo bajo el manejador de
ventana twm: X Terminal, Xbiff, xload y un navegador gráfico de páginas de manuales, Man page.
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
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.
- 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 usuario
X es primariamente una definición de primitivas de protocolo y gráficas,
y deliberadamente no contiene especificaciones de diseño de interfaz 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
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. 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.
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.
Historia
Predecesores
Varios sistemas de pantalla de bitmap precedieron a X. De Xerox vinieron los computadores Alto (1973) y Star (1981). De Apple vinieron el Lisa (1983) y el Macintosh (1984). El mundo de Unix tenía el Andrew Project (1982) y el terminal Blit de Rob Pike (1982).
La Universidad
Carnegie Mellon produjo una aplicación de acceso remoto llamado
Alto Terminal, la cual, desplegaba ventanas que se solapaban en el Xerox Alto,
e hizo anfitriones remotos, típicamente sistemas DEC VAX corriendo Unix,
responsables de manejar eventos de la exposición de ventanas y refrescando el
contenido de las ventanas cuanto era necesario.
X deriva su nombre como sucesor de un sistema de ventana anterior a 1983
llamado W (precediendo la letra X en el alfabeto inglés). El W Window System corrió bajo el sistema operativo V. W usó un protocolo de red soportando terminales y ventanas de
gráficos, el servidor mantenía la lista de pantallas.
Origen y desarrollo temprano
La idea original de X emergió en el MIT en 1984 como colaboración entre Jim Gettys (del Proyecto Athena) y Bob Scheifler (del MIT Computer Science and Artificial Intelligence
Laboratory). Scheifler necesitaba un ambiente de exhibición de pantalla usable
para depurar el Argus system. El Proyecto Athena, un proyecto común entre Digital Equipment
Corporation (DEC), el MIT e IBM para proporcionar fácil acceso a los recursos de computación para todos
los estudiantes, necesitó un sistema de gráficos de plataforma independiente
para enlazar juntos los sistemas heterogéneos provenientes de múltiples
vendedores; el sistema de ventana, entonces bajo desarrollo en el Andrew
Project de la universidad del Carnegie Mellon no hizo las licencias
disponibles, y no existían alternativas.
El proyecto solucionó esto creando un protocolo que podía ejecutarse tanto en aplicaciones locales como llamar a recursos remotos. A mediados de 1983 un port inicial de W a Unix corrió a un quinto de su velocidad bajo V; en mayo de 1984, Scheifler reemplazó el protocolo sincrónico de W por un protocolo asincrónico y las listas de pantalla con los gráficos de modo inmediato para así hacer la versión 1 de X. X se convirtió en el primer ambiente de sistema de ventanas en ofrecer verdadera independencia de hardware e independencia del vendedor.
Scheifler, Gettys y Ron Newman trabajaron juntos y X progresó rápidamente. Ellos lanzaron la Versión 6
en enero de 1985. La DEC, entonces se preparaba para lanzar la estación de
trabajo Ultrix, juzgó a X como el único
ambiente de sistema de ventanas que probablemente estaría disponible a tiempo.
Los ingenieros de la DEC portaron el X6 a la pantalla QVSS de DEC en el MicroVAX.
En el segundo trimestre de 1985, X adquirió soporte de color para funcionar en la DEC VAXstation-II/GPX, formando lo que se convirtió en la versión 9.
Un grupo en la Universidad Brown portó la versión 9 al IBM RT/PC, pero los problemas de lectura de datos no alineados en el RT forzaron un cambio incompatible del protocolo, llevando a la versión 10 a finales de 1985. Por 1986, organizaciones externas habían comenzado a pedir el X. El lanzamiento del X10R2 ocurrió en enero de 1986; el del X10R3 en febrero de 1986.
Aunque el MIT hubiera licenciado gratuitamente el X6 a algunos grupos externos, en ese momento decidió licenciar el X10R3 y las versiones futuras bajo de que fue conocido desde entonces como la licencia MIT, intentando popularizar a X más lejos y a cambio, esperando que muchas más aplicaciones estuvieran disponibles. El X10R3 se convirtió en la primera versión en alcanzar un despliegue amplio, con tanto la DEC como Hewlett-Packard lanzando productos basados en él.
Otros grupos portaron el X10 hacia Apollo Computer y estaciones de trabajo Sun e incluso al IBM AT. Las demostraciones de la primera aplicación comercial para X tomaron lugar en la feria de negocios Autofact de ese tiempo. Era un sistema de diseño asistido por computador de ingeniería mecánica de Cognition Inc. que corría en VAXes y exhibía la imagen en PC corriendo un servidor X. La última versión del X10, la X10R4, apareció en diciembre de 1986
Fueron hechos intentos para habilitar a los servidores X como dispositivos de colaboración en tiempo real, muy similar a como el Virtual Network Computing (VNC) posteriormente permitiría que un escritorio fuera compartido. Uno de esos esfuerzos tempranos fue la herramienta SharedX de Philip J. Gust.
Aunque X10 ofreciera una funcionalidad interesante y potente, había llegado a ser obvio que el protocolo X podría tener un diseño más neutral al hardware antes de que fuera demasiado extensamente adoptado; pero el MIT por sí solo no tendría los recursos disponibles para un rediseño tan completo. Mientras que sucedía esto, el Western Software Laboratory (WSL) de DEC se encontró a sí mismo entre proyectos con un equipo experimentado. Smokey Wallace del WSL y Jim Gettys propusieron que el DEC WSL construyera el X11 y lo hiciera libremente disponible bajo los mismos términos que el X9 y el X10. Este proceso comenzó en mayo de 1986, con el protocolo concluido en agosto. la prueba alfa del software comenzó en febrero de 1987, la prueba beta en mayo; el lanzamiento del X11 finalmente ocurrió el 15 de septiembre de 1987.
El diseño del protocolo X11, encabezado por Scheifler, fue discutido
extensivamente en listas de correo abiertas en el naciente Internet donde se extendió un puente a los groupos de noticia de USENET. Gettys
se mudó desde el Systems Research Center de DEC a California para ayudar a
dirigir el trabajo de de desarrollo del X11 en el WSL, donde Phil Karlton y
Susan Angebrandt encabezaban el diseño y la implementación del servidor de
ejemplo del X11. Por lo tanto, X representa uno de los primeros, muy grandes
proyectos distribuidos, de software libre.
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.
Historial de versiones
Versión
|
Fecha de lanzamiento
|
Cambios importantes
|
X1
|
Junio
de 1984
|
Primer
uso del nombre "X"; varios cambios fundamentales con
respecto a "W"
|
X6
|
Enero
de 1985
|
Primera
versión licenciada a algunas compañías ajenas.
|
X9
|
Septiembre
de 1985
|
|
X10
|
Fines
de 1985
|
IBM
RT/PC, AT (corriendo DOS) y otros
|
X10R2
|
Enero
de 1986
|
|
X10R3
|
Febrero
de 1986
|
|
X10R4
|
Diciembre
de 1986
|
Última
versión de X10.
|
X11
|
Primera
versión del actual protocolo.
|
|
X11R2
|
Febrero
de 1988
|
Primer
lanzamiento del "X Consortium"
|
X11R3
|
||
X11R4
|
XDMCP, twm vino como el manejador de ventanas estándar, se
mejoraron aplicaciones, se agregó la 'Shape
extension' y nuevas fuentes.
|
|
X11R5
|
||
X11R6
|
ICCCM v2.0;
Inter-Client Exchange; X Session Management; X Synchronization extension; X
Image extension; XTEST extension; X Input; X Big Requests; XC-MISC; cambios
en XFree86.
|
|
X11R6.1
|
Extensión
X Double Buffer; extensión X keyboard; extensión X Record.
|
|
X11R6.2
X11R6.3 (Broadway) |
Funcionalidad
Web, LBX.
Última entrega del X Consortium. X11R6.2 es el nombre de una parte de X11R6.3
que tiene solo como nuevas características sobre R6.1 a XPrint y la
implementación de Xlib de la escritura vertical y el soporte de caracteres
definido por el usuario.
|
|
X11R6.4
|
||
X11R6.5
|
||
X11R6.5.1
|
||
X11R6.6
|
Corrección
de errores.
|
|
X11R6.7.0
|
||
X11R6.8.0
|
||
X11R6.8.1
|
||
X11R6.8.2
|
Corrección
de errores, actualización de controladores.
|
|
X11R6.9
X11R7.0 |
||
X11R7.1
|
||
X11R7.2
|
||
X11R7.3
|
||
X11R7.4
|
Xserver 1.5.1, Pci-rework, EXA speed-ups, _X_EXPORT, GLX 1.4, mayor rapidez de arranque del servidor.
|
|
X11R7.5
|
||
X11R7.6
|
||
X11R7.7
|
6 de
junio del 2012
|
Cambios
en el servidor Xorg 1.10; extensión RandR 1.4; extensión Sync 1.3.
|
lewdy y keen =27=08 =2-B este blog esta interesante porque hay unos tamas buenos para nosotro ya que los temas estan muy bien iinformados para nuestra educacion .
ResponderBorrareste blog es muy bueno por que nos ayuda a capatizarnos mas para el futuro tambien hoy en dia el windows system ya no se utiliza por que los jovenes ya no estan atualizado.
att:Lmaproduce
lewdy mendoza
att:keen antonio c.m
K.a.c.m la volanta
ANA VICTORIA 1A #29 ME GUSTA ESTE BLOG PORQUE NOSOTROS APRENDEMOS MAS Y SI TENEMOS ALGUNA DUDA DE ALGO PODEMOS ENTRA A AQUI O SI QUEREMOS ALGUNA TAREA LA BUSCAMOS
ResponderBorrarraul daniel 1E#25 me guta esta pajina por que no eseña mucha cosa k uno no sabia y no eseña la carateritica y la hictoria de cada una de lo paso de windosw x y mas cosa que tiene la pajina y tabien buscamo la tarea k no tenemo
ResponderBorrarmuy buen aportes me gusto esta pajina me enseño muchas cosas muy importantes gracias.... jose alexander 34 1e..
Borrarwildo#33 me gusto esta pajina por que me eseño a aprender mucha cosa inportamte k no sabia grasia
ResponderBorrardiana garcia 1c num 14 me parecio interesante ya que fue diisenado para implementar clientes ligeros. es un sofwar que fue desarrollado amediados 1980 en el MIT para doctar una interfas del sistema UNIX
ResponderBorrar