Upload
lyanh
View
223
Download
0
Embed Size (px)
Citation preview
INFORMATICA III
Cap. I: Plataformas
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
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:
HARDWARE
SISTEMA OPERATIVO
MAQ. VIRTUAL MAQ. VIRTUAL MAQ. VIRTUAL
Aplicación Aplicación Aplicación Aplicación Aplicación Aplicación
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
Opcodes, hexCódigo de máquina
MnemónicosEnsamblador
Rutinas, módulosLenguaje procedural
Objetos, clases, mensajesLenguaje orientado a objetos
ComponentesFramework
DiagramasModelador UML
EntidadesHerramienta
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
Hardware
Sistema Operativo/Monitor
Máquina Virtual
Entorno Runtime
Aplicación A AplicaciónB Aplicación
C AplicaciónD
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
Clientes
ServidorRed
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