Title: Sistemas de Ventanas
1Sistemas de Ventanas
2Contenidos
- Estructura del software de un SI
- Sistemas de ventanas
- Algunas arquitecturas
- MS Windows
- X Windows
- Macintosh
3Sistemas Interactivos
Aspectos sintácticos y léxicos
Aplicación
Operador
Interfaz
Aspectos semánticos
Sistema Interactivo
4Niveles de Abstracción de un SI
Incremento en el nivel de abstracción
Conocimiento
del dominio
Control de los
obj
. de interacción
Control del
secuen
-
ciamiento
de las
acciones del usuario
Control de los
Control de los
recursos E/S
dispositivos fÃsicos
5Niveles de Abstracción de un SI
- Pueden ser implementados en diferentes formas
- Sistemas de capas
- Agentes
- Modelos mixtos
- Modularidad
- Ocultamiento de la información
6Niveles de Abstracción de un SI
- Administrador de dispositivos (Device driver)
controla un dispositivo fÃsico - ej. instrucciones a nivel de pixels para mostrar
el cursor - Administrador de recursos (Resource manager)
controla los recursos involucrados en la
interacción - ej. sistemas de ventanas
- Objetos de Interacción (OI) (Interaction
objects) entidades percibibles y manipulables
por el usuario - Manipulación por medio de dispositivos de
interacción - Incluye presentación (output) e interacción
(input). - ej. Menúes, botones, barras de desplazamiento
7Niveles de Abstracción en un SI
- Controlador de diálogo (Dialogue
Controller)controla el secuenciamiento lógico
de las acciones del usuario. - Determina la lógica de la interacción
- ej. cuando un OI es accesible al usuario
- Controla el estilo de la interacción
- ej. utilización de menúes o lÃneas de comandos
- Núcleo funcional (Functional core) implementa
el conocimiento del dominio de la aplicación - ej. implementación de la semántica de un juego de
ajedrez
8Niveles de Abstracción en un SI
- Arquitectura cliente - servidor
- Cada nivel actúa como servidor para los niveles
superiores, y como cliente de los inferiores - Cada nivel incrementa el nivel de abstracción de
los conceptos manipulados - ej. clicks del mouse (nivel inferior) ?
comandos a la aplicación (niveles superiores) - Funciones de los niveles intermedios
- Control de una porción de la funcionalidad de la
IU completa - Provisión de una correspondencia entre los
niveles inferior y superior.
9Sistemas de Ventanas
- Funciones
- Administración y control de múltiples contextos
- Separación en distintas partes fÃsicas de la
pantalla - Definición de una terminal abstracta
- Independencia de los dispositivos para los
clientes - Definición de un modelo para expresar outputs e
inputs a la terminal abstracta - Administra los recursos asociados con los
dispositivos de input y output.
10Sistemas de Ventanas estructura
- Funcionalidad dividida en dos niveles
(X-Windows) - Sistema de ventanas (window system - WS - o
Nivel Base) - interfaz funcional con la aplicación (API -
Application Program Interface) - Administrador de ventanas (window manager -
WM) - interfaz con el usuario
Nivel Interfaz con el Usuario
Administrador de Ventanas
Presentación
Comandos
Modelo Input
Modelo Output
Nivel Base
Sistema de Ventanas
11Sistemas de Ventanas estructura
- Varios sistemas combinan WS WM
- SunWindows, Macintosh, MS Windows, NeXT
- Otros permiten diferentes WM sobre el mismo WS
- X, NeWS
- Posibilita la diversidad y preferencias del
usuario
12Sistemas de Ventanas estructura
- Primeros WS implementados como parte de un
programa o sistema. - Ej. ambiente de programación Smalltalk
- Implementación de los WS como parte integral del
SO - Ej. SunView, Macintosh, NeXT, MS Windows
- Diferentes WS operando en el mismo SO
- Ej. X, NeWS
- Los WS operan como procesos separados
- Utilizan los mecanismos de comunicación
interprocesos del SO para conectarse con las
aplicaciones.
13Sistemas de Ventanas Nivel Base
- Interfaz procedural al sistema de ventanas
- Primeros WS diferentes interfaces para distintas
plataformas - X Windows interfaz independiente del hardware
- Incluye
- Modelo de output conjunto de procedimientos
utilizados para realizar presentaciones en la
pantalla - ej. primitivas gráficas, operaciones con pixels
- Modelo de input tratamiento de los distintos
eventos producidos por el usuario - ej. cola de eventos
WM
Presentación
Comandos
Input
Output
WS
14Sistemas de Ventanas Nivel Base
- Comunicación aplicaciones - WS
- Invocaciones directas de los procedimientos
provistos por el WS, o traps especiales del SO - Comunicación interprocesos, a través de un
protocolo de red (X-Windows) - La aplicación puede ejecutarse en un lugar
diferente de la interfaz - Interfaces sencillas con diferentes lenguajes de
programación - Eficiencia
WM
Presentación
Comandos
Input
Output
WS
15Sistemas de Ventanas Interfaz con el Usuario
- Operación de las ventanas
- X Windows WM implementado como un proceso
diferente (ej. mwm, olwm) - Permite el cambio de la forma de interactuar
- Reemplazando un proceso de WM por otro
- Protocolo standard a través del cual se comunican
el nivel base y el WM - Los programas puedan ejecutarse
independientemente del WM actual. - Implementa look feel
- Presentación
- Comandos
16Sistemas de Ventanas Presentación
- Apariencia de la pantalla
- La mayorÃa de los WS actuales están basados en la
metáfora de escritorio (desktop) - WIMP (Windows-Icons-Menus-Pointing)
- Algunos aspectos determinados por el WS
- Formas en que pueden disponerse las ventanas
- Iconificación
- Areas de control para efectuar operaciones sobre
la ventana - Manipulaciones posibles
- TÃtulo de las ventanas
- Fondo (Background)
17Sistemas de ventanas Comandos
- Formas de control de las ventanas por el operador
- Generalmente, acciones por teclado y mouse
- Objetivo básico redireccionar los eventos
producidos por el usuario al proceso cliente
correspondiente - Input focus ventana que recibe actualmente el
input del usuario (ventana activa) - Formas de especificarlo
- Click-to-focus
- Mouse focus
18X-Windows
- Arquitectura cliente - servidor
- El software de la aplicación y el operador pueden
estar localizados en diferentes máquinas
XServer
XClient
Requisitos
Eventos
19X Windows
XProtocol
Red
Xlib
Nivel independiente del hardware
Nivel dependiente del hardware
Red Pantalla Teclado Mouse
XClient2
XServer
20X Windows
21Macintosh / MS Windows
22Sun Windows
23Java
- Los applets son aplicaciones interactivas
completas - La interfaz reside completamente en una sóla
máquina