PROCESOS E HILOS - Hilo

Documentos relacionados
Hilos Secciones Stallings:

6. Enumere tres ventajas de los ULT frente a los KLT.

SISTEMAS OPERATIVOS - DEFINICIÓN:

Proceso. Threads, SMP, and Microkernels. Multithreading. Proceso

Threads, SMP y Microkernels. Proceso

Sistemas Operativos INF - 151

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

ESCUELA DE INGENIERIA Informática Y Sistemas

Tema 1: Introducción a los Sistemas Operativos

El kernel forma parte del sistema operativo, para ser más claros es el núcleo, la parte más importante.

SISTEMAS OPERATIVOS: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. Introducción y conceptos básicos

PROCESAMIENTO DISTRIBUIDO

Tema 1: Introducción a los Sistemas Operativos

Introduccion a Sistemas Operativos. Ej: Linux

Necesidad de Protección

Tema II. Descripción y control de procesos. UNED Manuel Fernández Barcell. Blog:

Introducción a los Sistemas Operativos

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino

Parte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación

CONCEPTO. Actúa de intermediario entre el hardware y los programas de aplicación.

Sistemas Operativos. Estructura de los sistemas operativos

Sistemas Operativos Preguntas de Revisión

Capitulo 2 Revisión de Sistemas Operativos

Temario. Diseño de Sistemas Operativos. Módulo 1. Conceptos y Tipologías. Tema 1. Introducción. Francisco Rosales. 4º Curso

Sistema Operativo. Introducción a los Sistemas Operativos. El Sistema Operatico como Interfaz Usuario/Computador. Objetivos del Sistema Operativo

Hilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos

Conceptos de Sistemas Operativos. Sistema Operativo

Conceptos y Estructuras de Sistemas Operativos

Hilos (threads) Realizado por M. Curiel

Programación Concurrente Recopilación de teoría referente a la materia

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

Cuestionario 1-Parte 1

Tema 12: El sistema operativo y los procesos

Programación Concurrente y Paralela. Unidad 1 Introducción

Introducción a los Sistemas Operativos

Sistemas Operativos. Introducción. Tema 6

Capitulo 2 Revisión de Sistemas Operativos

Sistemas Operativos Página 1 de 6

Preguntas de autoevaluación tema 1

Informática 4º ESO. J. Javier Esquiva Mira

1.9 Año 2000 y años siguientes

Introducción a los Sistemas Multiprocesadores

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

Tema%4.( Sistemas(distribuidos.(( Introducción.(Modelos(HW(y(SW.(

Fecha de entrega: Miércoles 4 de Septiembre. Campus: Villahermosa. Carrera : Ingeniería en Sistemas Compuacionales. Nombre del maestro: Carlos Castro

Threads. Hilos - Lightweight process - Procesos ligeros

IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL TUCUMAN

SISTEMAS OPERATIVOS. Ing. Raúl Alberto Rojas Reátegui

Estructura Windows NT

Sistemas operativos Tema 3: Estructura del sistema operativo

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero

SISTEMAS OPERATIVOS Introducción. Amilcar Meneses Viveros

Sistemas operativos avanzados. Tema 1 Introducción

Sistemas Operativos. Procesos

Tipos de Diseño. Ing. Elizabeth Guerrero V.

Hilos. Módulo 4. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Introducción a los Sistemas Operativos S.O.

Sistemas Operativos. Curso 2017 Estructura de los sistemas operativos

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas

Concurrencia y paralelismo

Arquitectura de Sistemas

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro

Sistemas Operativos. Daniel Rúa Madrid

Convivencia Introducción

Historia de los sistemas operativos

Programación en Lenguajes Estructurados de Aplicaciones de Gestión. Certificados de profesionalidad

Sistemas operativos (Parte 4)

SISTEMAS OPERATIVOS. Informática Básica

FUNDAMENTOS DE SISTEMAS OPERATIVOS

TEMA 1. Introducción a las arquitecturas distribuidas

INFORMATICA III. Cap. I: Plataformas

Universidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali

MULTIPROCESADORES TIPOS DE PARALELISMO

Fundamentos de Programación. Sabino Miranda-Jiménez

Sistemas Distribuidos. Soporte de Sistemas Operativos

1. Introducción 4º Curso

ANEXO I GUIA BIBLIOGRAFICA:

TRABAJO PRÁCTICO Nº 2

12/06/2013 USUARIO. /dev /bin /usr /usr/bin /usr/lib /usr/spool /sbin y /usr/sbin /stand /var

Tema 3: Conceptos básicos de GNU/LINUX. Objetivo:

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

INFORMATICA III. Capítulo I: Plataformas

6.1 Base De Datos Centralizada

Concurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR

1. Generalidades. M. en C. Mario Farias-Elinos

Computación 1. Conociendo la herramienta de cálculo La Computadora (II)

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Hilos. Hilos. Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:

Transcripción:

1/6 PROCESOS E HILOS - Hilo! contexto de ejecución que se planifica de forma independiente pero que comparte un mismo espacio de direcciones con otros hilos - Proceso! conjunto de uno o más hilos y los recursos del sistema asociados (memoria, datos, archivos abiertos y dispositivos) - Proceso = tarea! programa en ejecución. Es controlado y planificado por el sistema operativo - MONOHILO! enfoque tradicional con un solo hilo de ejecución por proceso " Un proceso, un hilo! MS-DOS " Múltiples procesos, un hilo por proceso! UNIX - MULTIHILO! capacidad de un S.O. para mantener varios hilos de ejecución dentro de un mismo proceso - Elementos de los procesos: " Espacio de direcciones virtuales que contiene la imagen del proceso " Acceso protegido a los procesadores, otros procesos archivos y recursos de E/S - Elementos de los hilos de un proceso: " Estado del hilo (ejecución, listo, etc.) " Contexto del procesador (contador de programa independiente) " Pila de ejecución " Almacenamiento estático para las variables locales " Acceso a memoria y recursos del proceso, compartidos con el resto de hilos del mismo proceso

2/6 MODELOS DE PROCESO MONOHILO Y MULTIHILO Modelo de Proceso Monohilo Modelo de proceso multihilo Hilo Hilo Bloque de Pila de Bloque Bloque control de usuario de control de control proceso de hilo de hilo Bloque de Espacio de Pila del control de Pila de Pila de direcciones núcleo proceso usuario usuario de usuario Espacio de Pila del Pila del direcciones núcleo núcleo de usuario ENTORNO MULTIHILO " Un único bloque de control de proceso " Un único espacio de direcciones de usuario " Una Pila separada para cada hilo " Un bloque de control para cada hilo " Todos los hilos de un proceso: # comparten el estado y los recursos del proceso # residen en el mismo espacio de direcciones # tienen acceso a los mismos datos Ventajas de la implementación de hilos: # Creación de un nuevo hilo más rápido que un proceso # Terminación de un hilo más rápido que un proceso # Rapidez en cambiar de un hilo a otro # Los hilos de un mismo proceso se comunican SIN acceder al núcleo # Es más eficiente relacionar un conjunto de hilos que un conjunto de procesos # Ejemplo: Servidor de Archivos

3/6 IMPLEMENTACION DE HILOS a) Nivel de Usuario puro b) Nivel de Núcleo puro c) Combinado Hilo a nivel de usuario Hilo a nivel de núcleo Proceso a) Hilos a nivel de usuario (ULT = user level thread) Todo el trabajo de hilos lo realiza la aplicación en el espacio de usuario El núcleo no es consciente de la existencia de hilos Biblioteca de hilos: o crea y destruye hilos o intercambia mensajes y datos o planifica la ejecución o mantiene el contexto de los hilos b) Hilos a nivel de núcleo (KLT = kernel level thread) Todo el trabajo de hilos lo realiza el núcleo (Windows 2000, Linux y OS/2) La planificación se realiza en función de los hilos c) Combinado Combina las ventajas de ULT y KLT (Solaris)

4/6 MILTIPROCESO SIMÉTRICO (SMP) ARQUITECTURAS SMP Procesadores paralelos Memoria compartida (fuertemente acoplada) Memoria distribuida (débilmente acoplada) Maestro/esclavo Multiproceso Agrupaciones simétrico (SMP) a) Arquitectura Maestro/esclavo El núcleo siempre se ejecuta en el mismo procesador Un procesador posee el control de la memoria y dispositivos de E/S Desventajas! fallo en el maestro y puede ser un cuello de botella b) Multiprocesador simétrico El núcleo se puede ejecutar en cualquier procesador S.O. más complejo, cada procesador se autoplanifica c) Agrupaciones Proporcionan escalabilidad, alto rendimiento y alta disponibilidad DEFINICIÓN = grupo de computadoras interconectadas que trabajan juntas creando la ilusión de ser una única máquina

5/6 MICRONUCLEOS Micronúcleo! es un pequeño núcleo del S.O. que proporciona las bases para ampliaciones modulares Ejemplos: Windows 2000, Mach Antecesores: - S.O. monolíticos S.O. por capas ARQUITECTURA MICRONUCLEO (microkernel) Filosofía:! sólo las funciones esenciales del núcleo del S.O. permanecen en el núcleo! las aplicaciones y servicios se construyen sobre el micronúcleo y se ejecutan en modo usuario! ejemplos: controladores de dispositivos, sistemas de archivos, gestores de memoria virtual, sistemas de ventanas y servicios de seguridad! en núcleo permite la comunicación entre servidores, administra los mensajes y protege el intercambio de mensajes Núcleos por capas Micronúcleos Modo Usuarios P G S S M Usuario r e e e e Sistemas de Archivos o s r r m C t v v o Comunicación entre procesos Usuario. o i I r r d d i Modo Gestión de dispositivos y E/S C.... o o a Núcleo l d r r Memoria virtual i i V e s A P i Gestión de procesos primitivos n p r r r t o c o t e s h c. HARDWARE Nucleo Micronúcleo HARDWARE

6/6 Ventajas: $ Uniformidad de interfaces! utilización de mensajes $ Extensibilidad! posibilidad de añadir nuevos servicios $ Flexibilidad! se adapta a las necesidades de los usuarios $ Portabilidad $ Fiabilidad! un micronúcleo puede probarse rigurosamente $ Soporte a sistemas distribuidos $ Soporte para S.O. orientados a objetos DISEÑO DE MICRONUCLEO Funciones: $ Gestión de memoria a bajo nivel! traducción de página virtual en marco físico $ Comunicación entre procesos (IPC)! a través de mensajes $ Gestión de interrupciones y E/S HILOS Y PROCESOS EN LINUX Estados de los procesos # Ejecución! abarca dos estados: ejecutando o listo # Interrumpible! estado de bloqueo, el proceso espera un suceso de E/S, la liberación de un recurso o una señal de otro proceso # No interrumpible! estado de bloqueo, un proceso espera una condición de HW (no acepta señales) # Parado! el proceso ha sido detenido por otro proceso # Zombie! el proceso terminó, pero debe permanecer en la tabla de procesos Hilos en Linux # Cuando dos procesos comparten la misma memoria virtual, operan como hilos dentro de un único proceso, pero Linux no diferencia entre hilo y proceso