INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un...

40
INFORMATICA III Cap. I: Plataformas

Transcript of INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un...

Page 1: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

INFORMATICA III

Cap. I: Plataformas

Page 2: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Plataformas

Código nativo y portable Máquinas virtuales Servidores Estaciones de trabajo Clientes delgados Dispositivos embebidos Dispositivos móviles

Page 3: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Plataformas

Hardware Sistemas operativos Herramientas de desarrollo

Page 4: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Plataformas

Hardware Sistemas operativos Herramientas de desarrollo

Page 5: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 6: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 7: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 8: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 9: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Plataformas

Hardware Sistemas operativos Herramientas de desarrollo

Page 10: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 11: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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.

Page 12: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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”

Page 13: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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.

Page 14: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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.

Page 15: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 16: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 17: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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, ...

Page 18: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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:

HARDWARE

SISTEMA OPERATIVO

MAQ. VIRTUAL MAQ. VIRTUAL MAQ. VIRTUAL

Aplicación Aplicación Aplicación Aplicación Aplicación Aplicación

Page 19: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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.

Page 20: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 21: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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 ...

Page 22: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 23: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Máquina Virtual Java

Page 24: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 25: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Plataformas

Hardware Sistemas operativos Herramientas de desarrollo

Page 26: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 27: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 28: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 29: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Entidades

Opcodes, hexCódigo de máquina

MnemónicosEnsamblador

Rutinas, módulosLenguaje procedural

Objetos, clases, mensajesLenguaje orientado a objetos

ComponentesFramework

DiagramasModelador UML

EntidadesHerramienta

Page 30: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 31: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Capas de Abstracción

Hardware

Sistema Operativo/Monitor

Máquina Virtual

Entorno Runtime

Aplicación A AplicaciónB Aplicación

C AplicaciónD

Page 32: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Dispositivos

Servidores Clientes Dispositivos embebidos Dispositivos móviles

Page 33: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 34: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

Informática III Ing. José L. Simón Pág. 1

Arquitectura

Clientes

ServidorRed

Page 35: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 36: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 37: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 38: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 39: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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

Page 40: INFORMATICA III · 2016-09-26 · cajero automático Menos ... Máquina Virtual Java Es un procesador abstracto ... o directamente en hardware, capaz de ejecutar aplicaciones escritas

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