Threads, SMP y Microkernels. Proceso

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

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

Sistemas Distribuidos. Soporte de Sistemas Operativos

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Introducción a los Sistemas Operativos

Concurrencia y paralelismo

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Diseño arquitectónico 1ª edición (2002)

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Herramientas Informáticas I Software: Sistemas Operativos

Manipulación de procesos

Sistemas Operativos. Daniel Rúa Madrid

Requerimientos principales de un sistema operativo

TRABAJO PRÁCTICO Nº 2

SISTEMAS OPERATIVOS ACTIVIDAD: TRABAJO COLABORATIVO

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

SISTEMAS OPERATIVOS. Informática Básica

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

HP - UX. Qué es HP UX?

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

Unidad I: Organización del Computador. Ing. Marglorie Colina

Funcionamiento de la computadora

Tema 1: Arquitectura de ordenadores, hardware y software

ARQUITECTURA DE COMPUTADORAS II. Propósito del curso : Ingeniería Ingeniería en Sistemas. Hardware. Clave de la materia: 413

Sistemas Operativos. Introducción. Tema 6

SILABO DE SISTEMAS OPERATIVOS

Introducción a los Sistemas Operativos

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

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

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

4.1 Dispositivos y manejadores de dispositivos: device drivers

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

Servicios del Sistema Operativo (SO)

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

Introducción. Aparición en los 50, se facilita la comunicación entre el usuario y el ordenador Cualquier persona puede utilizar un ordenador.

Gestión de Entrada-salida

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Tecnología de software para sistemas de tiempo real

una red de equipos no puede funcionar sin un sistema operativo de red

Tema 6 Organización y gestión de la memoria

Gabinete USB 3.0 UASP de Aluminio con Cable Integrado para Disco Duro de 2.5" SSD HDD SATA III

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

Tema: Componentes lógicos de un ordenador.

Qué es una subárea? Contenido. Introducción. prerrequisitos. Requisitos

SISTEMA OPEATIVO DEFINICIÓN

Unidad 1: Conceptos generales de Sistemas Operativos.

F1131 Fundamentos de sistemas operativos 1/12

Pontificia Universidad Católica del Ecuador

Sistemas Operativos Tema 5. Procesos José Miguel Santos Alexis Quesada Francisco Santana

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Introducción a la Operación de Computadoras Personales

SISTEMAS OPERATIVOS Arquitectura de computadores

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

TEMA 11 CONMUTACIÓN DE PAQUETES

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

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

Administración de Proyectos de TI

Guía de instalación del navegador Mozilla Firefox

Tema 2: Implementación del núcleo de un Sistema Operativo

Qué es un programa informático?

MOC 10983A Actualización de Conocimientos a Windows Server 2016

Curso: 10983A Upgrading Your Skills To Windows Server 2016

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Axence nvision. Funcionalidades de Axence nvision

Ingeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0

CONTROL DE PROCESOS (LVPROSIM), MODELO 3674

Secretaría Nacional de la Administración Pública Subsecretaría de Tecnologías de la Información

Lusitania. Pensando en Paralelo. César Gómez Martín

PASOS PARA INSTALAR EL SISTEMA OPERATIVO LINUX DISTRIBUCION CENTOS

Estrategia de Pruebas

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

TEMA 2: Sistemas Operativos

Unidad 2: Gestión de Procesos

Sistemas Distribuidos: Migración de Procesos

POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA

Programación concurrente

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

Copias de seguridad y recuperación Guía del usuario

INDICE Prologo Capitulo 0. Guía del lector Primera parte: antecedentes Capitulo 1. Introducción a los computadores

Actualizaciones de software Guía del usuario

Mainframe. Qué son los datos?

Transcripción:

Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual puede estar intercalada con la de otros procesos Estas dos características son tratadas de forma independiente por el sistema operativo 1

Multithreading Los sistemas operativos soportan múltiples threads de ejecución dentro de un mismo proceso MS-DOS soporta un solo thread UNIX soporta múltiples procesos de usuario pero solo un thread por proceso Windows XP/Vista, Solaris, Linux, Mach, y OS/2 soportan múltiples threads 2

Proceso Tienen un espacio de dirección virtual el cual guarda la imagen del proceso Acceso protegido a procesadores, otros procesos, archivos y recursos de E/S Thread Un estado de ejecución (corriendo, listo, etc.) Se guarda el contexto del thread cuando no se está en ejecucion Cuenta con una pila de ejecucion Cuenta con algo de almacenamiento estatico para variables locales Acceso a la memoria y recursos de sus procesos todos los threads comparten esto 3

Ventajas de los threads Toma menos tiempo el crear un nuevo thread que un proceso Menos tiempo en terminar un thread que un proceso Menos tiempo en conmutar entre dos threads de un mismo proceso Como los threads de un mismo proceso comparten memoria y archivos, estos se pueden comunicar entre sí sin invocar el kernel 4

Uso de los Threads en un sistema monousuario de multiprocesamiento Trabajo en el transfondo (background) Procesamiento asíncrono Ejecución veloz Programación modular estructurada Threads El suspender un proceso involucra suspender todos los threads del proceso ya que comparten el mismo espacio en memoria La terminación de un proceso, termina todos los threads que contiene 5

Estado de Threads Estados asociados con un cambio en el estado del thread Generador (spawn) Genera otro theread Bloqueado Desbloqueado Concluido Libera el contexto de los registros y de las pilas Llamada a Procedimiento Remoto utilizando Threads 6

Llamada a Procedimiento Remoto utilizando Threads Threads a nivel de usuario Toda la administración de threads es llevada a cabo por la aplicación El kernel no está enterado de la existencia de threads 7

Threads a nivel del kernel W2K, Linux, y OS/2 son ejemplos de este enfoque El kernel mantiene información del contexto para el proceso y los threads La calendarización es llevada a cabo en base a los threads Enfoques combinados Solaris es un ejemplo La creación de threads es llevada a cabo en espacio de usuario La mayor parte de la calendarización y sincronización de los threads es llevada a cabo en espacio de usuario 8

Relación entre Threads y Procesos Threads:Proceso Descripción 1:1 Cada thread de ejecución es un Proceso único con su propio espacio de memoria y recursos Ejemplos de S.O. UNIX tradicional M:1 Un proceso define un espacio de memoria y propiedad dinámica de recursos. Se pueden crear threads múltiples y ejecutados dentro del proceso. Windows NT, Solaris, OS/2, OS/390, MACH 9

Relación entre Threads y Procesos Threads:Proceso Descripción 1:M Un thread puede migrar de un proceso a otro. Esto permite a un thread el desplazarse a través de varios sistemas. Ejemplos de S.O. Ra (Clouds), Emerald M:M Combina atributos de los casos M:1 y 1:M TRIX Categorías de Sistemas de Cómputo Instrucción Única, Datos Únicos (SISD) un solo procesador ejecuta un solo flujo de instrucciones que opera sobre datos almacenados en una sola memoria Instrucción Única, Datos Múltiples (SIMD) cada instrucción es ejecutada en un conjunto de datos distinto en diferentes procesadores 10

Categorías de Sistemas de Cómputo Instrucciones Múltiples, Datos Únicos (MISD) una secuencia de datos es transmitida hacia un conjunto de procesadores, donde una secuencia de datos es transmitida hacia un conjunto de procesadores, y cada uno de ellos ejecuta una secuencia de instrucciones diferente. Nunca se ha implementado Instrucciones Múltiples, Datos Múltiples (MIMD) un conjunto de procesadores ejecutan secuencias de instrucciones diferentes sobre conjuntos de datos diferentes 11

Multiprocesamiento Simétrico El kernel se puede ejecutar en cualquier procesador Típicamente cada procesador lleva a cabo su calendarización en base a los threads y/o procesos disponibles 12

Consideraciones de Diseño de Sistemas Operativos para Multiprocesamiento Procesos o threads simultáneamente concurrentes Calendarización Sincronización Administración de memoria Confiabilidad y Tolerancia a Fallas Microkernels Pequeño núcleo del sistema operativo Contiene solo las funciones esenciales del sistema operativo Muchos servicios incluidos tradicionalmente en el S.O. ahora son subsistemas externos controladores de dispositivos (drivers) sistema de archivos administrador de memoria virtual sistema de ventanas servicios de seguridad 13

Ventajas de la organizacion Microkernel Interfaz uniforme a las peticiones hechas por los procesos Todos los servicios son provistos por medio del intercambio de mensajes Extensibilidad Permite la adición de nuevos servicios Flexibilidad Se pueden agregar nuevas funcionalidades Funcionalidades existentes pueden ser removidas Ventajas de la organizacion Microkernel Portabilidad Los cambios necesitados para portar el sistema a un nuevo procesador son hechos en el microkernel y NO en otros servicios Confiabilidad Diseño Modular El pequeño microkernel puede ser probado rigurosamente 14

Ventajas de la organizacion Microkernel Soporte a sistemas distribuidos Los mensajes son enviados sin saber a cuál es la computadora destino Sistema operativo orientado a objetos Los componentes son objetos con interfaces definidas claramente que pueden ser interconectadas para formar software Diseño microkernel Administración de memoria de bajo nivel Mapear cada página virtual a una página física Comunicación inter-procesos Administración de E/S e interrupciones 15

Windows 2000 Objeto Proceso 16

Windows 2000 Objeto Thread Ready Standby Running Waiting Transition Terminated Windows 2000 Estados de Threads 17

Solaris El proceso incluye el espacio de memoria de usuario, la pila y el bloque de control del proceso Threads a nivel de usuario Procesos ligeros Threads de kernel 18

19

Ejecución de Threads en Solaris Sincronización Suspensión Atención Ceder el control 20

Procesos en Linux Estado Información de calendarización Identificadores Comunicación interprocesos Ligas Tiempos y temporizadores Sistemas de archivos Memoria virtual Contexto especifico del proceso Estados de un proceso en Linux Running Interruptable Uninterruptable Stopped Zombie 21

22