230 likes | 380 Views
Sistemas de Ventanas. Contenidos. Estructura del software de un SI Sistemas de ventanas Algunas arquitecturas MS Windows X Windows Macintosh. Sistemas Interactivos. Aspectos sintácticos y léxicos. Aplicación. Operador. Interfaz. Aspectos semánticos. Sistema Interactivo.
E N D
Contenidos • Estructura del software de un SI • Sistemas de ventanas • Algunas arquitecturas • MS Windows • X Windows • Macintosh
Sistemas Interactivos Aspectos sintácticos y léxicos Aplicación Operador Interfaz Aspectos semánticos Sistema Interactivo
Núcleo Funcional Control del Diálogo Objetos de Interacción Sistema de Ventanas Drivers Niveles 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
Niveles de Abstracción de un SI • Pueden ser implementados en diferentes formas: • Sistemas de capas • Agentes • Modelos mixtos • Modularidad • Ocultamiento de la información
Niveles 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
Niveles 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
Niveles 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.
Sistemas 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.
Sistemas 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 Output Modelo Input Nivel Base Sistema de Ventanas
Sistemas 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
Sistemas 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.
Sistemas 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 Output Input WS
Sistemas 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 Output Input WS
WM Presentación Comandos Output Input WS Sistemas 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
WM Presentación Comandos Output Input WS Sistemas 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’)
WM Presentación Comandos Output Input WS Sistemas 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’
X-Windows • Arquitectura cliente - servidor • El software de la aplicación y el operador pueden estar localizados en diferentes máquinas XServer XClient Requisitos Eventos
Xlib ..... XDrawLine ...... XClient1 X Windows XProtocol Red Xlib Nivel independiente del hardware Nivel dependiente del hardware Red Pantalla Teclado Mouse XClient2 XServer
Programas de Aplicación Toolkit Window Manager Window System Paquete Gráfico X Windows
Programas de Aplicación Toolkit Window Manager Window System Paquete Gráfico Macintosh / MS Windows
Programas de Aplicación Toolkit Window Manager Window System Paquete Gráfico Sun Windows
Visualizador Servidor Datos ‘Applet’ Máquina Virtual Java Java • Los ‘applets’ son aplicaciones interactivas completas • La interfaz reside completamente en una sóla máquina