UTFSM - Sistemas Operativos

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Advertisements

GESTION DE PROCESOS.
TEMA 1 Introducción a la Programación Concurrente
Administración de procesos Lic. Orlando Zamora Rdz.
Planificación de Monoprocesadores
UNIX COMP 240.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Estructuras en Sistemas Operativos
Conceptos de Concurrencia
SISTEMAS OPERATIVOS UNIDAD 1..
UTFSM - Sistemas Operativos
Unidad 2: Comunicación entre Procesos (1ra parte)
Mejoras a las Máquinas Von Neumann
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Concurrencia: Exclusión Mútua y Sincronización
Sistemas Operativos Procesos.
PROGRAMACION CONCURRENTE
UNIDAD 3 Conceptos de Sistemas Operativos.
Unidad III Administración de procesos
Procesamiento paralelo
Profesor: Rodrigo Sanhueza Figueroa
Sistemas Concurrentes: programación concurrente
IET110 Sistemas Operativos P04: Exclusión Mutua Prof. Jonathan MakucSlide: 1.
Sistemas en tiempo real (STR)
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
PROGRAMACION CONCURRENTE
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Características de un sistema operativo
Overview de Sistemas Operativos
Planificación y Gestión de procesos
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Introducción a los Sistemas Operativos
Gestión de Procesos Gestión de Procesos Procesos Planificación CPU
Capítulo 7 Gestión de memoria.
Gestión de procesos Sistemas Operativos Edwin Morales
Sincronización de Procesos
Sincronización de Procesos
Tema 9.6: Sincronización de Procesos
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Integrantes: Ma Carmen Zaragoza Santiago Leticia González Hernández Abraham Obispo Antonio Alexis González Ramírez Eduardo Hernández Tolentino.
Administrador de procesos
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Tema 5: Multiprocesadores
1 EL PROCESADOR,LOS PROCESOS Y ESTADOS Esperanza Lozada de Coronel
Estructura de los Sistemas Operativos
Teoría de Sistemas Operativos Sincronización Procesos
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
FLOR ALBA ACEVEDO COD JENNIFFER TATIANA TORRES COD
Unidad 2 – Gestión de Procesos
ARQUICTECTURA DE SERVIDORES
Programación de Clientes Especialidad en Base de Datos.
Elementos y tipos de sistemas operativos
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Estructura del sistema operativo
1 Tema 6: Concurrencia de Procesos Sistemas Operativos.
Transcripción de la presentación:

UTFSM - Sistemas Operativos Ayudantía 5: exercises

Procesos concurrentes Supongamos el siguiente código para la ejecución concurrente de los procesos Proceso_A y Proceso_B: ¿Qué función cumple cada uno de los semáforos? ¿En qué orden se ejecutan las secciones de los procesos indicadas por A1,A2,B1,B2? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Trenes Una línea férrea une dos ciudades A y B, donde existe una sección del tramo que tiene una única vía, tal como se indica en la figura: Existen trenes que viajan de A a B y de B a A. En la sección de vía única del tramo se deben coordinar los trenes para que en determinado instante sólo existan trenes viajando en un único sentido. Especifique en pseudo-código los procesos existentes y cómo se coordinan. Ayuda: La solución debe tener un sólo semáforo. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Verdadero/falso Soportar Interrupciones vectorizadas significa contar con una arquitectura que tenga un registro especial (Status) que el sistema operativo debe leer para conocer la causa de la interrupción. En un sistema de interrupciones vectorizadas, la causa de la interrupción esta determinada por la dirección en el vector de interrupciones a la cual es transferido el control del programa Los registros de trabajo del procesador constituyen la memoria mas rápida de un sistema computacional. Verdadero API (Application Program Interface) es sinónimo de Llamada al Sistema (System Call). Las llamadas al sistema son propias de cada sistema operativo. La API es una biblioteca con llamadas estándares que permite a las aplicaciones abstraer de como se generan las llamadas al sistema a través de interrupciones por software y de como se transfieren los parámetros y resultados entre el espacio de direcciones de los procesos y el núcleo, y viceversa. Toda llamada al sistema se ejecuta en modo kernel. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Verdadero/falso Multiprogramación es sinónimo de Multiprocesamiento. Multiprogramación es la ejecución (pseudo‐) concurrente de varias aplicaciones, no siendo necesaria la existencia de múltiples procesadores. En cambio, el Multiprocesamiento requiere de la existencia de varios procesadores. En términos generales, un sistema de IPC (Comunicación entre Procesos) basado en paso de mensajes es mas eficiente que uno basado en memoria compartida. Al contrario. Paso de mensajes requiere la intervención del kernel. Usar memoria compartida solo requiere el apoyo del kernel durante la creación En un sistema operativo de un procesador, la utilización de threads no mejora ningún tiempo. Solo permite dar mayor orden lógico a los desarrolladores de aplicaciones. Al contrario. La utilización de threads permite crear más rápido y con menos recursos instancias de ejecución concurrente, siendo la sincronización y comunicación entre threads más ágil que entre los procesos. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Verdadero/falso La planificación con prioridades puede producir espera indefinida en los procesos, problema que puede ser solucionado implementando una política con expropiación (preemptible) sobre los procesos. Es cierto que la planificación con prioridades puede producir postergación indefinida, pero este problema se soluciona mediante una técnica de envejecimiento (aging), donde los procesos aumentan su prioridad en la medida que esperan. El problema de la solución de Peterson a la exclusión mutua es que produce “espera ocupada”; este problema es solucionado con el uso de instrucciones de maquina especiales , como por ejemplo TestAndSet. La solución de Peterson es por software y produce espera ocupada, pero así lo producen también las soluciones basadas sólo en hardware, como por ejemplo TestAndSet. La solución a este problema requiere de una integración con la gestión de los procesos. Un semáforo es más que una variable de tipo entera, dado que se requiere una integración con la gestión de procesos y asociar una cola de espera a los procesos bloqueados. Verdadero Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Mate Suponga que existen varios tomadores de mate (matero), donde cada uno posee su propio vaso, pero que comparten entre todos un recipiente con un máximo de 10 cargas. Si bien es cierto que el recipiente tiene varias cargas, en el momento en que un matero se sirve mate hace uso exclusivo de éste y los demás deben esperar hasta que quede libre. Para evitar que las cargas disponibles en el recipiente se agoten, existe un reponedor que va cargando el recipiente en la medida que exista espacio para ello. La acción de reponer una carga también hace uso exclusivo del recipiente por parte del reponedor. Hacer pseudocódigo del matero y del reponedor. Sincronizar ambas tareas. Funciona esta solución para N reponedores? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Test And Set Implemente Wait() y Signal() usando la instrucción TestAndSet(). Debe tener la menor cantidad de busy wait posible. Ayuda: P() y V() es lo mismo que Wait() y Signal(). Para minimizar busy wait se deben “suspender” los procesos. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Test And Set Solución anterior (para efectos de los que no estuvieron en la ayudantía). Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Monitores (explicación) Solo 1 objeto puede usar los métodos del monitor a la vez. Hay variables especiales, condiciones, que tienen wait() y signal(). Al esperar (wait) una condición el thread no ocupa el monitor, queda suspendido. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Monitores Implementar un semáforo como monitor. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Compilando un monitor Imagínese un compilador que toma una clase especificada como monitor y al compilarla la transforma en una clase normal, pero con semáforos. Cómo compilaría el siguiente monitor? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Clase monitor sin compilar Ayudantía Sistemas Operativos - http://villaseca.wordpress.com

Ayudantía Sistemas Operativos - http://villaseca.wordpress.com Clase compilada Ayudantía Sistemas Operativos - http://villaseca.wordpress.com