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