Danilo Tedeschi, Laercio de Oliveira Junior, Luiz Miyazaki
O X Window System, também chamado de X11 ou somente X, é um sistema de janelas(windowing system) para os sistemas Unix-Linux.
Ele por si só não oferece uma GUI(Interface gráfica para o usuário) completa. O X funciona no modelo cliente/servidor, que inicialmente
pode ser confuso e não muito claro o conceito à primeira vista. Temos duas possibilidades, o XServer e o XClient pode estar na mesma
máquina ou não. A diferença que ocorre é que quando estão na mesma máquina, o cliente é apenas uma aplicação utilizando a biblioteca
do X se comunicando com o XServer, caso contrário, a comunicação entre eles será feita por TCP através de sockets.
Na imagem acima podemos ver algumas camadas do X, que em conjunto o possibilita forneçer uma GUI completa ao usuário, uma delas
que iremos demonstrar nos códigos é a XLib, biblioteca na qual temos rotinas que são utilizadas para se comunicar com o Xserver. Em contra partida
a XLib não oferece ferramentas para trabalhar com botões por exemplo, com isso necessitamos das ferramentas da biblioteca Intrinsics, e para fornecer uma GUI completa
necessitamos de outras camadas. Outro exemplo de uma camada do X, é o Motif, proporciona um ambiente padrão em sistemas Unix-Linux e permite
os usuários adicionar ou redimensionar ícones em janelas. Algo importante a se ressaltar, é que temos o Window Manager que não faz parte do X11,
que é uma aplicação que permite a criação de novas janelas e o movimento das janelas na tela.
Podemos perceber que o X11 é um sistema que tem como principal objetivo esconder a parte "feia" do Sistema Operacional e por ser
consistido de camadas e programas o torna portável e flexível.