Práctico de Procesos, Hilos y Deadlock



Documentos relacionados
Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Sistemas Operativos. Curso 2016 Procesos

Examen Febrero de 2012

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador

Práctica 2: El problema de la sección crítica

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:

Tema 2. Procesos. 1. Concepto de proceso

Q-flow Patrones básicos de Workflow

Capítulo IV. INTERBLOQUEO E INANICIÓN

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

REGISTRO DE USUARIOS Y CURSOS

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Sistemas Operativos. Oscar Bedoya

Unidad 2: Gestión de Procesos

Tema 7: Programación con Matlab

Procesos. Planificación del Procesador.

DCU Diagramas de casos de uso

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

CDI Exclusión mutua a nivel alto. conceptos

Asignación de Procesadores

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

CERTAMEN 2 90 minutos 20 puntos

Solución Examen Febrero 2006

Programa de Apoyo a la Gestión del Clima y la Convivencia Escolar. Documento para la Asesoría Técnico Pedagógica

C. Elaboración de la respuesta a la primera cuestión: Segundo paso. A. Lectura comprensiva de la segunda pregunta:

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Construcción de Escenarios

Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Fundamentos del trazado electrocardiográfico

Tema 5. Diseño detallado.

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO SEGURO DE VIDA REGLAMENTO DEL SEGURO DE GRUPO

PHP y MySQL. Indice: Switch Bucles For While do...while

Capítulo 4 Procesos con estructuras de repetición

Acciones Correctivas y Preventivas. Universidad Autónoma del Estado de México

CLASE # 5 TÉCNICAS DE CAJA BLANCA

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

CÓMO TRABAJA TU SISTEMA OPERATIVO?

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Tema 4: Estructuras de Control Estructura y Contenidos

Elementos requeridos para crearlos (ejemplo: el compilador)

Manual de Usuario del Sistema de control de Turnos

2.- Diseño del comportamiento: Diagrama de actividades. Mª Antonia Zapata

Tema: Gestión de programas. 12 meses antes de la finalización de la adjudicación

Tema 4. Gestión de entrada/salida

PREVENCIÓN DE DAÑOS EN TEXAS

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Unidad II: Administración de Procesos y del procesador

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Salud de Activos Reflejo de la Estrategia de Mantenimiento

a2 Herramienta Administrativa Configurable Versión Servipack 6

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

INFORMÁTICA. Matemáticas aplicadas a la Informática

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras

Respuestas a consultas

LINEAMIENTOS PARA LA ELABORACIÓN DEL PROGRAMA ANUAL DE TRABAJO

Dell Premier. Guía para comprar y efectuar pedidos de. Registro en la página Premier. Administrar su perfil personal

Sistemas Operativos Práctica 4

Introducción a la Computación TFA

Operación 8 Claves para la ISO

Examen de Arquitectura de Computadores

Primer Parcial de Programación 3 (1/10/2009)

Concurrencia. Primitivas IPC con bloqueo

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

PRACTICA 6. VECTORES Y MATRICES.

FABRICANTE MAYORISTA MINORISTA CONSUMIDORES La ganancia por venta se expone a través del Estado de Resultado

Método PERT-CPM y gráficas GANTT

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

Programa de soporte técnico ampliado MSA Start

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Estructura de datos y de la información Boletín de problemas - Tema 7

Programación I: Funciones y módulos

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.

MANTENIMIENTO Y SOPORTE

ISO Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA WENDY CARRASCAL VILLAMIZAR

Curso de Excel Avanzado

Guía de instalación del sistema Iglesia HOY en una red local de Windows

un programa concurrente

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

SOFTWARE PARA EL CONTROL DE PROYECTOS. Microsoft Project

Optimización, Solemne 2. Semestre Otoño 2012 Profesores: Paul Bosch, Rodrigo López, Fernando Paredes, Pablo Rey Tiempo: 110 min.

Partes, módulos y aplicaciones de un Controlador de Procesos

MODULO: MERCADEO. Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) MODELO DE MUESTRA SIN VALOR COMERCIAL

Escuela Universitaria Politécnica Grado en Ingeniería Informática Fundamentos de Programación II ENUNCIADO DE PRÁCTICAS CONVOCATORIA DE SEPTIEMBRE

Instituto de Computación - Facultad de Ingeniería - Universidad de la República

Guía Sudoe - Para la elaboración y gestión de proyectos Versión Española Ficha 7.0 Ayudas de Estado

Diferencias entre nivel 2 y nivel 3 y una estrategia de implantación

Transcripción:

Sistemas Operativos Práctico de Procesos, Hilos y Deadlock Universidad Nacional de Córdoba FaMAF Ejercicio 1.. Indique cuantas letras a imprime este programa, describiendo su funcionamiento. printf("a\n"); Generalice a n forks. (Analice para n=1, luego para n=2, etc., busque la serie y deduzca la expresión general en función del n.) Ejercicio 2.. Dados estos 3 procesos en paralelo 1 : Pre: x = 0 P 0 : a 0 = x ;a 0 = a 0 + 1 ;x = a 0 P 1 : x = x + 1 ;x = x + 1 P 2 : a 2 = x ;a 2 = a 2 + 1 ;x = a 2 (a) Qué valores finales puede tomar x? (b) Muestre para cada uno de los valores un escenario de ejecución que los produzca. (Numere las sentencias y construya la secuencia en base a la numeración.) (c) Cuántos escenarios de ejecución hay? Cuántos para cada valor final de x? (d) Modifique el programa agregando semáforos para que el resultado del multiprograma sea determinista (es decir, que no dependa del scheduler) y devuelva el mínimo valor posible. Ejercicio 3.. Utilize semáforos para sincronizar los procesos como lo indican los grafos de sincronización. Explicitar los valores iniciales de los semáforos. (a) A B C D (b) A B (c) B (d) A C D A D B D C C Ejercicio 4.. El siguiente programa asegura exlusión mutua en las regiones críticas: i0 && i1 && t==0 Proceso P0 1: while (1) { 2: {Región no crítica 3: (i0,t) = (true,1) 4: while (t==1 && i1); 5: {Región crítica 6: i0 = false 7: Proceso P1 A: while (1) { B: {Región no crítica C: (i1,t) = (true,0) D: while (t==0 && i0); E: {Región crítica F: i1 = false G: 1 En general, y salvo que explícitamente se diga lo contrario, consideraremos la atomicidad a nivel de sentencia.

Las sentencias 3 y C son asignaciones múltiples que se realizan de manera atómica. Por ejemplo, para el caso de la sentencia 3, las asignaciones y0 = 1 y s = 0 se realizarían en un solo paso de ejecución. Éste protocolo es demasiado exigente en el sentido de que requiere la ejecución de múltiples asignaciones en un sólo paso de ejecución ( se necesitaría implementar un mecanismo de exclusión mutua en sí mismo para administrar esta atomicidad!). Analice cuál de las posibles realizaciones de este protocolo de exclusión mutua en el cual las asignaciones ya no son atómicas y hay que darle un orden determinado es correcta. Ejercicio 5.. Considere los procesos: Pre: cont == true && x == 1 && y == 2 P0 : while (cont==true && x<20) { x = x * y; (a) Calcule los posibles valores finales de x e y. Post: cont == FALSE && x ==? && y ==? P1 : y = y + 2; cont = FALSE; (b) Si en P1 se cambia la instrucción y = y + 2; por y = y + 1; y = y + 1; Cambia esto los posibles valores finales? Justifique. (c) En caso de que la modificación en el punto anterior introduzca cambios en los posibles valores finales, utilice semáforos binarios para que vuelvan a devolver los mismos posibles valores del caso (a). Ejercicio 6.. Considere los procesos P0 y P1 a continuación P0 : while (n<100) { n = n*2; m = n; Pre: n==0 && m==0 Post: n==? && m==? P1 : while (n<100) { n = n+1; m = n; (a) A cuánto pueden diferir como máximo m y n durante la ejecución? (b) Cuántas iteraciones toman en el mínimo y máximo caso en terminar? (c) Qué valores pueden tomar n y m en la Post? Justifique de manera rigurosa. (d) Sincronice los procesos con semáforos de manera que se alternen entre P0 y P1 en cada iteración hasta el final de sus ejecuciones. Qué valor toman n y m al finalizar? Ejercicio 7.. Considere los procesos (en este ejercicio considere el caso en que las sentencias son atómicas, y el caso en que no lo son): Pre: importe==100 && iva==0 && gasto envio==100 && destino==? P0 : importe = importe + gasto_envio; P2 : if (destino=="arg") { iva = 0.21; gasto_envio = gasto_envio + 100; P1 : importe = importe + importe * iva; else { gasto_envio = gasto_envio + 200; iva = 0.1;

(a) Calcule los posible valores finales de la variable importe cuando destino=="arg" y cuando destino=="bra". (b) Suponga que se cambia P1 por P1 donde: P1 : importe = importe * (1 + iva) Cambia esto los posibles valores finales? Justifique. (c) Sincronice los procesos usando semáforos para que siempre se ejecuten en orden P2, P0, y finalmente P1. Ejercicio 8.. Completar las tablas de planificación que aparecen debajo para las políticas: FIFO, SJF, SRTN, RR(Q=2), RR(Q=3), RR(Q=4). En cada caso realice el diagrama de planificación a modo de justificación del ejercicio. (T = tiempo total en el sistema, M = tiempo de espera en el sistema, P = penalidad) (a) Proceso Arribo UsoCPU Inicio Fin T M P A 2 3 B 0 1 C 4 2 D 7 4 E 1 6 (b) Proceso Arribo UsoCPU Inicio Fin T M P A 0 2 B 2 6 C 4 3 D 5 9 E 9 6 Ejercicio 9.. Considere los siguientes procesos que muestran el siguiente comportamiento: Proceso Arribo A 0 3 5 2 4 4 4 2 B 2 8 4 5 4 7 6 4 C 5 3 7 5 5 2 8 3 Realice el diagrama de planificación para un planificador RR (Q=2). Ejercicio 10.. Realice el diagrama de planificación para un planificador RR (Q=2) con cuatro colas de prioridades para los siguientes procesos (la prioridad 0 es la más alta): Proceso Prioridad Arribo UsoCPU Inicio Fin T M P A 1 0 7 B 0 1 3 C 0 2 4 D 2 4 3 E 1 7 4 F 0 12 3

Ejercicio 11.. Tenemos dos procesos periódicos de tiempo real A, B: Proceso UsoCPU Periodo A 15 ms 30 ms B 15 ms 40 ms C 5 ms 50 ms (a) Analice si los procesos cumplen con la condición de planificabilidad en tiempo real. (b) Realice el diagrama temporal de planificación para RMS y EDF e indique en cada caso si los deadlines se cumplen. Ejercicio 12.. Considere los siguientes tres procesos que se ejecutan concurrentemente: P 0 : request(impresora) P 1 : request(impresora) ;request(cd) P 2 : request(cd) ;request(impresora) ;request(cd) (a) Dé la planificación que lleva a un estado de deadlock. (b) Sobre el escenario final de deadlock construya el grafo de recurso-asignación. (c) Agregue semáforos de manera de evitar que los procesos entren en deadlock. Trate de maximizar la concurrencia. (d) Como solución alternativa, modifique mínimamente el órden de los pedidos y liberaciones para que no haya riesgo de deadlock. Ejercicio 13.. Asuma un sistema operativo donde periódicamente se mata algún proceso al azar. Puede haber deadlock en este contexto? Ejercicio 14.. Se tiene el siguiente EAR con 5 procesos y 4 clases de recursos con los valores P0 1 0 2 0 0 0 0 0 0 1 0 2 P1 0 0 0 2 3 7 0 0 P2 2 0 4 0 2 5 2 4 P3 1 3 0 1 0 0 2 2 P4 2 3 2 0 2 3 0 0 (a) Están estos procesos en un estado seguro, inseguro o en deadlock? Por qué? Cuáles procesos, si es que los hay, están en deadlock? (b) Si el proceso P3 pide (0,1,0,0), puede concederse? Qué pasaría si se lo concede de manera inmediata? Cuáles procesos, si es que los hay, están o podrían estar en deadlock si este pedido fuera concedido? Ejercicio 15.. Tenemos un EAR con 4 procesos y 5 clases de recursos. Los valores de los vectores y matrices son como se establece a continuación P0 1 0 2 1 1 0 1 0 0 2 0 0 x 1 y P1 2 0 1 1 0 0 2 1 0 0 P2 1 1 0 1 0 1 0 3 0 0 P3 1 1 1 1 0 0 0 1 1 1 Para qué valores de x resulta seguro si y = 2? y si y = 1? Justifique su respuesta.

Ejercicio 16.. Tenemos un EAR con 4 procesos y 4 clases de recursos. Los valores de los vectores y matrices son como se establece a continuación. P0 1 2 2 2 0 3 0 y 3 0 3 0 P1 3 2 1 1 3 0 2 0 P2 1 1 0 0 2 0 3 0 P3 1 0 1 1 6 0 1 x Qué conjunto de valores puede tomar x para que el EAR resulte seguro si y = 2? y si y = 1? Justifique su respuesta. Revisión 1786, 2012-10-12