Qu es un Sistema Operativo?
Administra recursos Arma una mquina virtual Comunicacin con el usuario Facilita el uso (herramientas, bibliotecas, etc.)
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
14
PCI Express
15
16
PCI Express
17
Usa ms caminos
18
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
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
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
SIMD
56
MIMD
57
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
62
Alcanza?
A=a B=b C=A+B D=C Falta determinar dependencias transitivas Grafos de Precedencia, los veremos en Concurrencia
63