Download informatica iii - Departamento de Sistemas e Informática
Document related concepts
no text concepts found
Transcript
INFORMATICA III Cap. I: Plataformas Plataformas Código nativo y portable Máquinas virtuales Servidores Estaciones de trabajo Clientes delgados Dispositivos embebidos Dispositivos móviles Informática III Ing. José L. Simón Pág. 1 Plataformas Hardware Sistemas operativos Herramientas de desarrollo Informática III Ing. José L. Simón Pág. 1 Plataformas Hardware Sistemas operativos Herramientas de desarrollo Informática III Ing. José L. Simón Pág. 1 Hardware El hardware está presente en inumerables dispositivos con los que interactuamos cotidianamente Mas reconocible: una PC, un PDA, un cajero automático Menos reconocible: un electrodoméstico, un ascensor, un teléfono, un vehículo Informática III Ing. José L. Simón Pág. 1 Hardware (II) Según la naturaleza de la aplicación se utilizan distintas plataformas de hardware, con diferentes objetivos de diseño, prestaciones, capacidades y limitaciones La evolución de la electrónica y de los microprocesadores permite contar con capacidades de programación antes impensadas Informática III Ing. José L. Simón Pág. 1 Microprocesadores Gran variedad de capacidades PC: 32/64 bits, 1 ~ 2.5 GHz, CISC/RISC Servidores: 64 + bits, ídem PDA: 16/32 bits, 200 ~ 400 MHz Celular: 8/16 bits, ~ 200 MHz Microcontroladores: 8/16 bits, 120 ~ 200 MHz Informática III Ing. José L. Simón Pág. 1 Software Programabilidad software La naturaleza del software, su diseño y las herramientas utilizables dependen directamente de la plataforma sobre la cual deberá ejecutarse el producto final Programabilidad implica: > flexibilidad > complejidad Informática III Ing. José L. Simón Pág. 1 Plataformas Hardware Sistemas operativos Herramientas de desarrollo Informática III Ing. José L. Simón Pág. 1 Monitores Todo dispositivo basado en microprocesadores requiere programas de control que administren (al menos) las funcionalidades básicas: Interrupciones Entrada/salida Procesos Informática III Ing. José L. Simón Pág. 1 Sistemas Operativos “Máquina ampliada” El S.O. presenta una abstracción distinta al hardware subyacente, proveyendo de interfaces de programación de mayor nivel y, en algunos casos, de portabilidad, por ejemplo, UNIX. Su tarea principal es la administración de recursos. Informática III Ing. José L. Simón Pág. 1 Multiprogramación Un sistema operativo puede brindar distintas abstracciones conceptuales: Monoprogramación: cada tarea se ejecuta ininterrumpida hasta completarse Multiprogramación: pueden ejecutarse 2 o mas tareas “simultáneamente” Informática III Ing. José L. Simón Pág. 1 Multiprogramación La capacidad de ejecución de tareas concurrentes depende del diseño del S.O. y del hardware. Los S.O. multiprogramables implementan técnicas de 'timesharing', compartiendo la(s) cpu(s) entre todas la tareas a ejecutar. Informática III Ing. José L. Simón Pág. 1 Multiprogramación Todos los S.O. multiprogramables (multitasking) incorporan un gestor de tareas llamado 'scheduler' El scheduler es responsable de aplicar políticas de planificación de procesos, prioridades de ejecución y control de estado de los procesos. Informática III Ing. José L. Simón Pág. 1 Multiprogramación Dependiendo del hardware, la simultaneidad de ejecución puede ser 'virtual' o real Si hay mas de un CPU, o si el CPU único tiene capacidades de paralelismo, el S.O. puede aprovechar estas capacidades planificando distintos procesos por CPU o unidad de ejecución Informática III Ing. José L. Simón Pág. 1 Multiprogramación Los microprocesadores superescalares son capaces de ejecutar varias instrucciones simultáneamente, brindando paralelismo a nivel de proceso. Los procesadores paralelos soprortan dos o mas flujos de instrucciones paralelismo de procesos Informática III Ing. José L. Simón Pág. 1 Microprocesadores Superescalares: IBM PowerRISC, Sun UltraSparc, HP PA-RISC, ... Paralelos: Intel Xeon, Itanium 2, ... Informática III Ing. José L. Simón Pág. 1 Máquinas Virtuales Un sistema operativo puede proporcionar un entorno de emulación de otras plataformas de hardware: Aplicación Aplicación MAQ. VIRTUAL Aplicación Aplicación Aplicación MAQ. VIRTUAL Aplicación MAQ. VIRTUAL SISTEMA OPERATIVO HARDWARE Informática III Ing. José L. Simón Pág. 1 Máquinas Virtuales El primer sistema operativo con soporte de máquinas virtuales fue VM/370 de IBM, en 1979 Los s.o. actuales proporcionan múltiples VM’s: Windows (DOS), OS/390 (Linux), etc. Informática III Ing. José L. Simón Pág. 1 Máquina Virtual Java Es un procesador abstracto, que se implementa en software, sobre la plataforma local, o directamente en hardware, capaz de ejecutar aplicaciones escritas en lenguaje Java Los ‘ejecutables’ de la MVJ se llaman bytecodes Informática III Ing. José L. Simón Pág. 1 Máquina Virtual Java La mayor parte de los sistemas operativos actuales implementan una o mas variantes de la MVJ: Linux MS Windows UNIX: Solaris, AIX, HP-UX, etc. IBM OS/400 y OS/390 ... Informática III Ing. José L. Simón Pág. 1 Máquina Virtual Java Numerosos dispositivos embebidos implementan también MVJ: PDA’s Celulares Microcontroladores Informática III Ing. José L. Simón Pág. 1 Máquina Virtual Java Informática III Ing. José L. Simón Pág. 1 Máquina Virtual Java Una especificación completa de la MVJ asegura la portabilidad de las aplicaciones Java entre diversas plataformas Informática III Ing. José L. Simón Pág. 1 Plataformas Hardware Sistemas operativos Herramientas de desarrollo Informática III Ing. José L. Simón Pág. 1 Herramientas: Evolución La necesidad de desarrollar software implicó la creación de múltiples herramientas de programación de aplicaciones En este terreno encontramos desde simples ensambladores hasta lenguajes de alto nivel Informática III Ing. José L. Simón Pág. 1 Lenguajes de Programación Podemos ver al lenguaje como otra capa de abstracción, que permite ver a las aplicaciones en el contexto del programador, ‘traduciendo’ este modelo al código ejecutable por la máquina destino De acuerdo al ‘nivel’ de esta abstracción, se califica el lenguaje Informática III Ing. José L. Simón Pág. 1 Lenguajes de Programación En orden decreciente de nivel de abstracción, por ejemplo: Herramienta de modelado (UML, etc.) Framework (Plat. Java , MFC, .NET) Lenguaje orientado a objetos (Java, etc.) Lenguaje procedural (C, Pascal, FORTRAN) Ensamblador (assembler) Código de máquina Informática III Ing. José L. Simón Pág. 1 Entidades Herramienta Entidades Modelador UML Diagramas Framework Componentes Lenguaje orientado a objetos Objetos, clases, mensajes Lenguaje procedural Rutinas, módulos Ensamblador Mnemónicos Código de máquina Opcodes, hex Informática III Ing. José L. Simón Pág. 1 Niveles Cuando usamos una herramienta de mayor nivel, estamos interponiendo mas capas de abstracción entre nuestra aplicación y el hardware Generalmente (no siempre), mayor nivel implica mas posibilidades de diseño y menor perfomance Informática III Ing. José L. Simón Pág. 1 Capas de Abstracción Aplicación A Aplicación B Entorno Runtime Aplicación Aplicación C D Máquina Virtual Sistema Operativo/Monitor Hardware Informática III Ing. José L. Simón Pág. 1 Dispositivos Servidores Clientes Dispositivos embebidos Dispositivos móviles Informática III Ing. José L. Simón Pág. 1 Servidores Son dispositivos que brindan uno o mas servicios a un conjunto de clientes Un ejemplo: correo electrónico, referencia temporal, procesamiento numérico o gráfico, comunicaciones,etc. Usualmente concentran capacidad de procesamiento, memoria y almacenamiento Informática III Ing. José L. Simón Pág. 1 Arquitectura Red Servidor Clientes Informática III Ing. José L. Simón Pág. 1 Servidores Basados en arquitecturas RISC o CISC, frecuentemente SMP (Symmetric Multi Processing) Pueden estar agrupados en conjuntos de varios equipos, por ejemplo en clusters o computational grids Ejecutan S.O. multiprogramables, como Unix, Windows o Linux Informática III Ing. José L. Simón Pág. 1 Clientes Dispositivos que toman servicios de uno o mas servidores Una PC conectada a una red es el caso mas frecuente, pero también un microcontrolador o una terminal móvil son ejemplos de clientes La variedad de hardware y software es muy grande Informática III Ing. José L. Simón Pág. 1 Clientes Delgados En los últimos años se vio una tendencia en la industria a simplificar la arquitectura de los clientes Puede ser una limitación real, por ejemplo de un microcontrolador o un celular, o conceptual, como una pc accediendo a aplicaciones a través de la web Informática III Ing. José L. Simón Pág. 1 Dispositivos Embebidos Cuentan con capacidad de procesamiento, memoria y almacenamiento limitados Desde la evolución del control digital, las rtu’s o PDA’s hasta los sensores inteligentes Informática III Ing. José L. Simón Pág. 1 Dispositivos Embebidos Limitado espacio de memoria CPU’s restringidas en clock y longitud de palabra Bajo consumo de energía Conectividad Informática III Ing. José L. Simón Pág. 1 Dispositivos Móviles Las mismas restricciones de los embebidos mas: Conectividad no permanente Trabajo off-line Mayores restricciones de consumo de energía Tecnología inalámbrica Informática III Ing. José L. Simón Pág. 1