Please enable JavaScript.
Coggle requires JavaScript to display documents.
Parallel Computing from Operating Systems - Coggle Diagram
Parallel Computing from Operating
Systems
Definicion
La computación paralela intenta resolver muchos problemas complejos utilizando múltiple informática recursos simultáneamente
una computadora paralela podría ser un superordenador con cientos o miles de procesadores o podría ser una red de estaciones de trabajo.
El sistema operativo paralelo se ocupa principalmente de gestionar los recursos de máquinas paralelas
El sistema operativo paralelo se ocupa principalmente de gestionar los recursos de máquinas paralelas
Gestión de procesos e hilos
múltiples paralelos hilos o procesos - puede acelerar la ejecución ejecutando múltiples subprocesos
tipos de computadoras paralelas hoy , SMP (multiprocesadores simétricos) , MPP (procesadores masivamente paralelos) , NOWs (redes de estaciones de trabajo) , Clústeres masivos Google, Amazon.com, Microsoft , Grilla computacional SETI
Proceso
Proceso es la abstracción del sistema operativo para ejecución
Programa es la lista de instrucciones, datos inicializados, etc.
Proceso (secuencial)
UN flujo / secuencia simple de instrucción en ejecución.
Consta de
Espacio de dirección
Un Estado de la CPU
Un conjunto de Recursos
del sistema operativo
Cuando el sistema operativo devuelve el proceso al estado de ejecución .Carga los registros de hardware con valores de la PCB de ese proceso
Planificacion (Cada proceso tiene un estado de ejecución)
ready: waiting to be assigned to a CPU
running: executing on a CPU
waiting (aka “blocked”): waiting for an event, e.g., I/O completion, or a message from (or the completion of) another process
Concurrency and Parallelism
Múltiple procesos Llegar concurrencia y paralelismo
Programas (código) de distintos procesos están aislados unos de otros
Threads para Llegar concurrencia y paralelismo Hilos "Compartir un proceso" - mismo espacio de direcciones, recursos del sistema operativo Los hilos tienen diferente flujo de instrucciones - pila privada, estado de la CPU
Varios flujos de instrucción
utilizar el mismo Recursos del sistema operativo Cada flujo de instrucciones tiene hardware estado de ejecución Pila de ejecución y puntero de pila (SP) ○ Rastrea el estado de las llamadas de procedimiento realizadas Contador de programa (PC) Próxima instrucción a ejecutar
Kernel del sistema operativo es responsable de crear / administrar hilos
OS administra hilos y procesos
Gestión de la memoria
El programa debe llevarse (desde el disco) a la memoria y colocarse dentro de un proceso
para que se ejecute
La memoria principal y los registros son el único almacenamiento al que la CPU puede acceder
directamente
Memoria virtual
Completamente desacoplar espacio de direcciones de la memoria física
Permite un mayor espacio de direcciones lógicas que la memoria física
La unidad de memoria solo ve: dirección de memoria física + solicitudes de lectura,
o dirección física + solicitud de datos y escritura
Direcciones lógicas
Las direcciones lógicas son independientes de las direcciones físicas Los datos viven en direcciones físicas El sistema operativo administra la ubicación de los datos en la memoria física
El conjunto de direcciones lógicas que un proceso puede hacer referencia es su espacio de dirección
La memoria principal puede tardar muchos ciclos, lo que hace que la CPU puesto caché se
encuentra entre la memoria principal y los registros de la CPU
Segmentación
particionar un espacio de direcciones en lógico unidades
Sincronizacion
Tareas cooperativas acceder a los mismos datos
Compartido datos y código dos o
más procesos
Datos en memoria compartida
Datos intercambio a través del paso de mensajes
Inconsistencia de datos
Cómo garantizar ordenado ejecución de tareas cooperativas
Sincronizacion Mecanismos
Des habilitar interrupciones
Cerraduras / Cerraduras giratorias
Semáforos
Monitores