La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Alex Maneu Victòria David Marí Larrosa Pau Roura Brun

Presentaciones similares


Presentación del tema: "Alex Maneu Victòria David Marí Larrosa Pau Roura Brun"— Transcripción de la presentación:

1 Alex Maneu Victòria David Marí Larrosa Pau Roura Brun
El Protocol -Server Alex Maneu Victòria David Marí Larrosa Pau Roura Brun

2 Sessió

3 Sistema -Window Format per
Protocol de comunicació (X Protocol) API (Xlib): Defineix una interfície aplicacions  dispositius Desenvolupat al MIT als ‘80 com a part del projecte Athena. Necessitat d’una GUI transparent en xarxa sobretot per entorns UNIX Format de les versions inclou nº de versió i de revisió (p.e. X11R6) Especifica un model client-servidor a nivell d’aplicació Client (aplicació) separat del servidor (display)

4 Protocol Especifica una capa dependent i una independent dels dispositius Amaga les característiques del SO i del hardware Ajuda a la portabilitat i al desenvolupament d’aplicacions S’executa sobre la connexió de xarxa (orientat a connexió, generalment TCP) Permet sol·licituds i respostes clientservidor Descriu el format dels missatges intercanviats entre client i servidor

5 Servidor Programa dedicat a subministrar els serveis de display en un terminal gràfic a petició del client X Gestiona La pantalla Els dispositius d’entrada (teclat, mouse, ...) La sortida al display El mapatge de colors La càrrega de fonts El mapatge de teclat S’executa habitualment en PCs, terminals gràfics i terminals X (dissenyats per a executar servidors X).

6 Client És l’aplicació pròpiament dita
Dissenyada per a emprar una interfície gràfica d’usuari per a mostrar les seves sortides Molts clients X competeixen pels serveis d’un servidor X per cada usuari i display El gestor de finestres resol aquests conflictes

7 Gestor de -Window (gestor de finestres)
Cas particular de client X Localitzat a la mateixa màquina que el servidor X Permet fer operacions sobre finestres (moure, redimensionar, etc) No és necessari per a la creació de finestres

8 Funcionament gràfic El client X Manté les finestres que ha creat
No s’ha de preocupar de quina part de la finestra és visible Canvis efectuats en el display per altres altres clients són notificats mitjançant events del servidor X Servidor X Gestiona finestres visibles/no visibles utilitzant piles No conté funcions de gestió, només retalla finestres

9 i la pila TCP/IP Finestres remotes generalment sobre TCP/IP (AF_INET)
Finestres locals sobre sockets AF_UNIX

10 Característiques del sistema -Window
Concepte de client i servidor “invertit”! El servidor s’executa en la màquina “client” L’aplicació s’executa al servidor d’aplicacions i es mostra a la màquina client Permet execució remota en entorns heterogenis Permet utilitzar els serveis de RPC o APPC (Advanced Program to Program Communication)

11 Característiques del sistema -Window
Servidor d’aplicacions – executa Clients X Client – Executa Servidor X Client – Executa Servidor X Client – Executa Servidor X Client – Executa Servidor X

12 Displays Display *XOpenDisplay(char *display_name))
Format per un servidor, pantalles i dispositius d’entrada Per iniciar sessió les aplicacions es connecten al display Display *XOpenDisplay(char *display_name)) L’struct Display conté la informació sobre l’estat d’un display particular Identificació: host:[:]num_servidor.num_display Es numeren a partir de 0 TCP Port 0x5800+N per a clients Little Endian Port 0x5900+N per a clients Big Endian

13 Exemple Cas pràctic en màquines separades Redirecció de la sortida
export DISPLAY=neoma:0.0 (en màquines BSD) > setenv DISPLAY neoma:0.0 (en màquines SysV) A la màquina local (servidor X) caldrà afegir el servidor remot a la llista de control d'accés: xhost +pistacho “Automatitzable” amb ssh Servidor d’aplicacions amb servidor ssh i l'opció X11Forwarding posada a yes a l'arxiu /($ETC)/ssh/sshd_config)

14 lib API del sistema X-Window Funcions C encastades en els clients X
Accés de més baix nivell a l’X Protocol Peticions clients  Sol·licituds X Protocol Analitzen missatges dels servidors X (events, respostes, errors) Subministren utilitats addicionals (Xpermalloc()) Clients X envien peticions al servidor X Servidor X respon amb missatges de resposta o error Servidor X envia missatges d’event als clients X

15 Format dels missatges: Peticions
Cada petició conté: Header de 4 bytes que inclou: Un opcode de 8 bits (major opcode) que correspon a una crida de la Xlib Un camp de longitud de 16 bits que expressa la (longitud total incloent el header)/4 Un byte de dades (minor opcode a les extensions) 0 o més bytes de dades Els opcodes de 128 a 255 estan reservats per a extensions. Les extensions poden contenir múltiples peticions, i utilitzen el minor opcode. A cada petició se li assigna implícitament un número de seqüència, començant per 1, que s’utilitza a les respostes, errors i events. Cada petició té un tamany mínim i màxim; si el camp de longitud està fora de rang, es produeix un error.

16 Format dels missatges: Respostes i Errors
Cada resposta conté: Un camp de 32 bits que expressa la longitud total/4 32 bytes seguits de 0 o més bytes addicionals de dades Els 16 bits menys significatius del número de seqüència de la petició corresponent Els paquets d’error són de 32 bytes. Cada error inclou: Un codi d’error de 8 bits Major opcode de la petició Minor opcode de la petició Els 16 bits menys significatius del número de seqüència de la petició Informació necessària en determinats tipus d’errors Els codis d’error del 128 a 255 estan reservats per a extensions.

17 Format dels missatges: Events
Els paquets d’events són de 32 bytes. Cada event conté: Un codi de tipus de 8 bits. Si aquest event l’ha generat una petició SendEvent, el bit més alt està a 1. Els 16 bits menys significatius del número de seqüència de l’última petició feta pel client que el servidor està processant (o ja ha processat). Els codis d’event del 64 al 127 estan reservats per a extensions.

18 Toolkits Problema: complexitat del codi que usa Xlib
Toolkits: Llibreries que afegeixen funcionalitats d’alt nivell Implementen “widgets”: botons, menús, etc. Alguns exemples: QT GTK+ Xt (MIT) Xaw [3D] (Athena)

19 Toolkits (cont.) Es pot combinar l’ús de widgets i Xlib en una mateixa aplicació

20 Avantatges Usuari i programador no noten la diferència entre el funcionament local i remot. Servidor X portable i ofereix suport per diversos llenguatges i sistemes operatius. Clients X són força portables. Sistema X-Window suporta qualsevol protocol de xarxa orientat a connexió. Rendiment de les aplicacions poc afectat. Les aplicacions no han de conèixer les característiques hardware del terminal. Les aplicacions no tenen perquè estar a la mateixa màquina que el terminal. Es poden afegir terminals d’arquitectura diferent proporcionant un servidor X adequat. El programador no s’ha de preocupar de les comunicacions, només ha d’escriure aplicacions gràfiques per a X, amb independència de si s’utilitzaran de forma local o remota.

21 Inconvenients El sistema X Window consumeix molts recursos
No hi ha una GUI unificada ni polítiques sobre el tema La interfície de programació no és còmoda d’utilitzar (problema parcialment solucionat pels toolkits, però no n’hi ha cap que sigui dominant). Les dades viatgen sense encriptar Es complicat gestionar les autoritzacions i controls d’accés El suport de fonts no ofereix serveis com “antialiasing”, i és complicat utilitzar charsets com UNICODE. Una aplicació (client X) no pot indicar al servidor que només li envïi un tipus determinat d’events, per la qual cosa s’envien tots i es pot arribar a generar trànsit innecessari.

22 Links X Consortium: http://www.x.org
XFree86 Project: Enllaços a informació sobre X: Principis de disseny de X: Funcionament de X: Informació TCP/IP: Is X bloated?:

23 Links (cont.) RFC 1013: http://www.faqs.org/rfcs/rfc1013.html
Xlib complete reference: Documentació sobre X:


Descargar ppt "Alex Maneu Victòria David Marí Larrosa Pau Roura Brun"

Presentaciones similares


Anuncios Google