Anda di halaman 1dari 63

Sistemas Operativos

Algo de Sistemas Operativos, Arquitecturas y Paralelismo

Qu es un Sistema Operativo?
Administra recursos Arma una mquina virtual Comunicacin con el usuario Facilita el uso (herramientas, bibliotecas, etc.)

Funciones de un Sistema Operativo


Secuenciar las tareas Interpretar un lenguaje de control y comandos Administrar errores Administrar las interrupciones Scheduling Proteger (administrar recursos) Comunicacin con el usuario
3

Caractersticas de un Sistema Operativo


Concurrencia Uso compartido de recursos Almacenamiento a largo plazo Determinismo VS Indeterminismo Eficiente Fiable Facilidad de correccin Tamao Pequeo
4

Repaso Vocabulario
Monoprocesador Monoprogramacin o Monotarea (DOS [trick TSR]) Multiprogramacin o Multitarea Batch - Time-Sharing Interactivo (Terminales Bobas o Inteligentes)
5

Repaso Vocabulario
Multiprogramacin o Multitarea UNIX (en todos sus sabores) Linux IRIX AIX BSD Solaris etc. Windows (en casi todos sus sabores) (Terminal Service) zVM zOS VMS Hyper Threading (HT) ?
6

Hyper Threading

Repaso Vocabulario
Multiprocesador Varios Procesadores Independientes o Independientes con Cores (Dual Quad Octo etc.) Multiprocesamiento SMP vs MP
8

Cores

Cores

10

Cores

11

PCIs

12

PCIs

13

Mejora de Comunicacin (Switch)

14

PCI Express

15

PCI Express Layers

16

PCI Express

17

Usa ms caminos

18

PCI Express Link Layer

19

INTEL S5000PAL

20

INTEL Core I7
QuickPath conexin de 25.6 GB/s a 20-bit. Esta conexin provee exactamente el doble del ancho de banda terico de un FSB
la arquitectura QuickPath asume que la placa tiene un controlador de memoria integrado, obligando as a los multiprocesadores (multiplacas) a usar una arquitectura NUMA (verlo como una mesh luego siguen un esquema NUMA)

Memoria de tres canales: cada canal puede soportar una o dos memorias DIMM DDR3 (en la mother deben ser colocadas en grupos de 3) Cada nucleo (core) es HT y tiene L2 de 256 KB Cache L3 de 8 MB de memoria, compartida por todos los ncleos 45 nm prximos en 32 nm

21

INTEL Core I7

22

INTEL Core I7

23

INTEL Core I7

24

Repaso Vocabulario
Multiprocesador Memoria nica (Fuertemente Acoplado) Memoria Distribuida (Debilmente Acoplado) (en Red) Sistemas Distribuidos o Multicomputadoras
25

Repaso Vocabulario
Memorias UMA NUMA NORMA COMA cc-NUMA o SMP2
26

Repaso Vocabulario
UMA

27

Repaso Vocabulario
NUMA/NORMA/ccNUMA

28

Repaso Vocabulario
CACHE (bus compartido) Snoopy - Write-through Consistencia 00 Limpia 01 Compartida 10 Sucia por este procesador 11 Invlida en este procesador Qu pasa sino se comparte bus?
29

Repaso Vocabulario: Memoria Cache (TLB)

30

Repaso Vocabulario
Sistemas Distribuidos (sirven para ...) Cooperar (MPI, PVM, DSM, etc.) Compartir (archivos, directorios, etc.) Servidores (Modelo Cliente/Servidor RPC,) Clusters GRID

31

Cluster
Sheldon

32

Cluster
Nodo

33

Cluster

34

GRID

35

GRID

36

Repaso Vocabulario
... Y que pasa con Sistemas Operativos? Monolticos Modular Centralizados en Red de Red Microkernels - Exokernels Centralizados (UNIX) en Red (NFS Novell) de RED (SOD basados en Microkernel) Microkernel (mach chorus ameoba) (WNT AIX IRIX basados en mach)
37

Repaso Vocabulario
Microkernel

38

Repaso Vocabulario
Comparacin Paradigmas SO
Sistemas Operativos Sistemas Operativos Sistemas Operativos Mltiprocesador en Red de Red (Distribuido) Se ve como Uniprocesador Virtual Igual SO # Copias Comunicacin Protocolos de Red nica cola de Ejecucin

Si

NO

Si

Si 1 Memoria

No n Archivos Compartidos

Si 1/n Mensajes

No

Si

Si

Si

No

Si/No 39

Introduccin Arquitectura
Estructura abstracta con un set fijo de instrucciones Determinar componentes, funciones de los componentes y reglas de interaccin entre ellos (N. Prasad 1981) Otras ... Nos quedamos con una mezcla ...
40

Introduccin Arquitectura
Definimos una Arquitectura por: Componentes Interconexin entre componentes Interaccin entre componentes Implementacin (materiales, con o sin pipeline, etc.) Set de instrucciones
41

Introduccin Arquitectura
Interconexin
Procesador de un Bus

RDM : Registro de direccin de Memoria RBM : Registro buffer de memoria R0 a Rn = son registros de uso general PC = Program Counter J = es un registro Z = es un registro acumulador RI = Registro de instruccin

42

Introduccin Arquitectura
Interconexin
Procesador MultiBus

43

Introduccin Arquitectura
Unidad de Control
La unidad de control deber no slo decodificar un cdigo de operacin, sino tambin emitir seales (cdigos de condicin) segn se vayan ejecutando las instrucciones (overflow, carry -acarreo-, cero, negativo,etc). Es decir la Unidad de Control recibe de la Unidad AritmticoLgica seales que indican el estado que ha resultado de la ejecucin de la operacin indicada.

44

Arquitectura
Tomando en cuenta lo anterior se puede hablar de niveles de arquitectura:
Exoarquitectura: Es la estructura y capacidad funcional de la arquitectura visible al programador Endoarquitectura: Las capacidades funcionales de los componentes fsicos, las estructuras lgicas de sus interconexiones, las interacciones, los flujos de informacin, sus controles e implementacin. Microarquitectura: Que componentes se abran o cierran durante la ejecucin de una instruccin.

45

Arquitectura Secuenciales
Von Neuman (1946/1947) Programa Almacenado (Control Flow) Datos Alamcenados Representacin binaria Flujo interno paralelo (byte o palabra) No paralelismo de operaciones Unidades Funcionales
46

Arquitecturas Secuenciales
Unidades Funcionales
En el computador se encuentran Unidades Funcionales interrelacionadas que interactan. Unidades Funcionales:
CPU Memoria Sistema E/S

47

Arquitecturas Secuenciales
Estructura Bus
La distancia fsica que separa los componentes puede ser grande de manera tal que sea imposible lograr una transmisin sincrnica de la informacin entre ambos. La transmisin asincrnica se implementa muy frecuentemente con un mecanismo que se denomina "handshaking" (acuerdo).

Un Bus
Una Transferencia x vez
48

Arquitecturas Secuenciales
2 Buses
Por Procesador Canales
Colisiones
Unica Entrada (Robo Ciclos al Proc.) MMU Arbitro

49

Arquitecturas Secuenciales
Unidades Funcionales

50

Etapas de una Instruccin


Generar Dir. Prxima Instruccin Buscar Instruccin Decodificar Instruccin (genera DPI) Generar Dir. Operandos Buscar Operandos Ejecutar Instruccin Almacenar Resultados
51

Arquitecuras Secuenciales

52

Clasificacin de Arquitecturas
Genericamente todos los computadores tendran los componentes funcionales mencionados (CPU, Memoria y E/S) interconectados de alguna forma y la cantidad necesaria. Clasificacin de Flynn
Forma de mostrar la interconexin de los componentes y sus cantidades
53

Clasificacin de Flynn

54

Clasificacin de Flynn
Flujos de Datos e Instrucciones
Son los parmetros bsicos para la clasificacin

Clasificacin
SISD (Single Instruction Single Data) [Paradigma von Newman o Harvard] SIMD (Single Instruction Multiple Data) MISD (Multiple Instruction Single Data) MIMD (Multiple Instruction Multiple Data) [Paradigma Paralelo]

55

Clasificacin Flynn (Grficos)


SISD

SIMD

56

Clasificacin Flynn (Grficos)


MISD

MIMD

57

Memoria para accesos mltiples


Intercalacin de Direcciones
La Memoria Principal se agrupa fisicamente en mdulos

58

Paradigmas
Control Flow
de Von Newman de Hardvard

Data Flow
Dinmica

59

Introduccin Paralelo
La concurrencia implica paralelismo, simultaneidad y pipelining Sucesos Paralelos ocurren en mltiples recursos durante el mismo intervalo de tiempo. Sucesos Simultneos ocurren en el mismo instante. Sucesos Pipeline ocurren en lapsos superpuestos.
60

Niveles de Paralelismo
Multiprogramacin, Multiprocesamiento: Estas acciones se toman a nivel de Programa o Trabajo. Tarea o Procedimientos: Acciones que se toman dentro de un mismo programa, ejecutndose procesos independientes en forma simultnea. Interinstrucciones: Acciones a nivel de instruccin, o sea, dentro de un mismo proceso o tarea se pueden ejecutar instrucciones independientes en forma simultnea. Intrainstrucciones: Acciones simultneas que se pueden realizar para una misma instruccin, por ejemplo vectorizacin de operaciones escalares dentro de una instruccin compleja tipo DO, FOR, etc.

61

Cundo se puede ejecutar paralelo?


Condiciones de Bernstein Dada Si Sj instrucciones o conjunto de intrucciones 1. R (Si) W (Sj) = (). 2. W (Si) R (Sj) = (). 3. W (Si) W (Sj) = ().

62

Alcanza?
A=a B=b C=A+B D=C Falta determinar dependencias transitivas Grafos de Precedencia, los veremos en Concurrencia
63

Anda mungkin juga menyukai