INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático...

40
INFORMATICA III Capítulo I: Plataformas

Transcript of INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático...

Page 1: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

INFORMATICA III

Capítulo I: Plataformas

Page 2: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 2

Plataformas

Hardware

Modelos de sistemas

Sistemas operativos

Herramientas de desarrollo

Page 3: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 3

Plataformas

Hardware

Modelos de sistemas

Sistemas operativos

Herramientas de desarrollo

Page 4: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 4

Hardware

El hardware está presente en inumerables dispositivos con los que interactuamos cotidianamente

Mas reconocible: una PC, una Tableta, un cajero automático

Menos reconocible: un electrodoméstico, un ascensor, un teléfono, un vehículo

Page 5: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 5

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 6: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 6

Microprocesadores

Gran variedad de capacidades

PC: 32/64 bits, 1 ~ 4 GHz, CISC/RISC

Servidores: 64 + bits, ídem

Tabletas y smartphones: 32/64 bits, 400 ~ 1200 MHz

Celular sencillo: 16 bits, ~ 200 MHz

Microcontroladores: 8/16/32 bits, 120 ~ 400 MHz

Page 7: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 7

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 8: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 8

Dispositivos

Servidores

Clientes

Dispositivos embebidos

Dispositivos móviles

Page 9: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 9

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 10: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 10

Arquitectura

Clientes

Servidor Red

Page 11: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 11

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 12: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 12

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 13: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 13

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 14: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 14

Dispositivos Embebidos

Limitado espacio de memoria

CPU‟s restringidas en clock y longitud de palabra

Bajo consumo de energía

Conectividad

Dimensiones físicas acotadas

Page 15: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 15

Dispositivos Embebidos

Están presentes en multitud de aplicaciones y aparatos que usamos cotidianamente

Tienen un rol determinante en aplicaciones críticas de control y automatización

Muchas veces supervisan procesos altamente críticos

Page 16: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 16

Dispositivos Embebidos: ejemplo

Un automóvil de calle:

Frenos (ABS, REF)

Inyección

Drivetrain

Diagnóstico

Entretenimiento/comunicaciones

=> una decena de controladores

Page 17: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 17

Dispositivos Embebidos: otro ejemplo

Mars Curiosity Rover

RAD 750 motherboard

Procesador PowerPC750 (RISC 32 bits)

Clock 200 MHz

256 MB DRAM

2 GB Flash

RTOS VxWorks

Page 18: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 18

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

Page 19: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 19

Plataformas

Hardware

Modelos de sistemas

Sistemas operativos

Herramientas de desarrollo

Page 20: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 20

Conceptos básicos

Todo dispositivo basado en microprocesadores requiere administrar (al menos) las funcionalidades básicas:

Interrupciones

Entrada/salida

Procesos

Page 21: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 21

Modelos de sistemas

La administración de estas funcionalidades puede ejecutarse de acuerdo a dos modelos básicos:

• A cargo de la(s) aplicación(es)

• A cargo de un programa específico

Page 22: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 22

Modelos de sistemas

Hardware

Sistema Operativo/Monitor

Aplicación A Aplicación

B Aplicación

C Aplicación

D

• La aplicación D gestiona recursos de hw directamente

• Las aplicaciones a, b y

c deben hacerlo mediante el sistema operativo

Page 23: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 23

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 24: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 24

Multiprogramación

Un sistema operativo puede brindar distintas abstracciones conceptuales:

Monoprogramación: cada tarea se ejecuta ininterrumpidamente hasta completarse

Multiprogramación: pueden ejecutarse 2 o mas tareas “simultáneamente”

Page 25: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 25

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 26: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 26

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 27: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 27

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 28: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 28

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 29: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 29

Microprocesadores Paralelos

Multicore: dentro de la misma oblea de silicio se incluyen varios núcleos d ejecución independientes, con algunos componentes compartidos, como por ejemplo el cache de nivel 2

Multithread: cada núcleo de procesamiento puede manejar 2 o mas hilos de ejecución en forma concurrente

Page 30: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 30

Máquinas Virtuales

Un sistema operativo puede proporcionar un entorno de emulación de otras plataformas de hardware u otro sistema operativo:

HARDWARE

SISTEMA OPERATIVO

MAQ. VIRTUAL MAQ. VIRTUAL MAQ. VIRTUAL

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

Page 31: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 31

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.

Virtualización de HW y de SO

Page 32: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 32

Máquinas Virtuales (II)

En la actualidad está muy difundido el uso de técnicas de virtualización, que permiten correr aplicaciones diseñadas para un HW o un sistema operativo distinto del realmente utilizado

Hoy es posible correr, por ejemplo, aplicaciones de Windows sobre una máquina Linux, o aplicaciones de Android sobre un procesador Intel

Page 33: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 33

Máquinas Virtuales (III)

Las técnicas de virtualización empiezan a aparecer en sistemas embebidos, por la necesidad de correr aplicaciones existentes sobre nuevo hardware

HARDWARE

Hipervisor

Windows Linux Unix

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

Page 34: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 34

Plataformas

Hardware

Sistemas operativos

Herramientas de desarrollo

Page 35: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 35

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 36: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 36

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 37: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 37

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 38: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 38

Entidades

Opcodes, hex Código de máquina

Mnemónicos Ensamblador

Rutinas, módulos Lenguaje procedural

Objetos, clases, mensajes Lenguaje orientado a objetos

Componentes Framework

Diagramas Modelador UML

Entidades Herramienta

Page 39: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 39

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 40: INFORMATICA III - Inicio - Departamento de Sistemas … · 2016-09-26 · un cajero automático Menos reconocible: un electrodoméstico, ... En la actualidad está muy difundido el

Informática III Pág. 40

Capas de Abstracción

Hardware

Sistema Operativo/Monitor

Máquina Virtual

Entorno Runtime

Aplicación A Aplicación

B Aplicación C Aplicación

D