Tarea #1 Comunicación y Sincronización entre Procesos
|
|
- Magdalena Ojeda Rojo
- hace 7 años
- Vistas:
Transcripción
1 Comunicación y Sincronizacion 1 Tarea #1 Comunicación y Sincronización entre Procesos 1. Enumere cuatro elementos de diseño para los cuales es necesario el concepto de concurrencia. La concurrencia comprende un gran número de cuestiones de diseño, las cuales incluye: la comunicación entre los procesos, compartición y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador de los procesos. 2. En qué tres contextos se presenta la concurrencia? La concurrencia puede presentarse en tres contextos diferentes: Múltiples Aplicaciones: la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas. Aplicaciones Estructuradas: como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes. Estructura del Sistema Operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos. 3. Cuáles son los requisitos básicos para la ejecución de procesos concurrentes? Para que haya ejecución de procesos concurrentes tiene que existir la intercalación y superposición entre procesos. 4. Enumere tres niveles de conocimientos entre procesos y defina brevemente cada uno de ellos.
2 Comunicación y Sincronizacion 2 Existen tres niveles de conocimiento: Los procesos no tienen conocimiento de los demás. Estos son procesos independientes que no están pensados para operar juntos. El mejor ejemplo de esta situación es la de multiprogramación de varios procesos independientes. Estos pueden ser tanto trabajos por lotes como sesiones interactivas o una combinación de ambos. Aunque los procesos no trabajen juntos, el sistema operativo tiene que encargarse de la competencia por los recursos. Por ejemplo, dos aplicaciones independientes pueden querer acceder al mismo disco, archivo o impresora. El sistema operativo debe regular estos accesos. Los procesos tienen un conocimiento indirecto de los otros: los procesos no conocen necesariamente a los otros por sus identificadores de proceso, pero comparten el acceso a algunos objetos, como un buffer de E/S. Estos procesos muestran cooperación para compartir el objeto común. Los procesos tienen un conocimiento directo de los otros: los procesos son capaces de comunicarse con los demás por el identificador de proceso y están diseñados para trabajar conjuntamente en alguna actividad. Estos procesos también muestran cooperación. 5. Cuál es la diferencia entre proceso en competencia y procesos en cooperación? Los procesos en competencia son aquellos que compiten por el uso del mismo recurso; dos o más procesos necesitan acceder a un recurso durante el curso de su ejecución; ningún proceso es consciente de la existencia de los otros. En el caso de la cooperación entre procesos son aquellos que interactúan con otros sin tener conocimientos explícitos de ellos. 6. Enumere los tres problemas asociados a la competencia entre procesos y defina brevemente cada uno de ellos. Cuando existe la competencia entre los procesos se puede dar varios problemas:
3 Comunicación y Sincronizacion 3 Exclusión Mutua. Condición por la cual un conjunto de procesos, solo uno puede acceder a un recurso dado o realizar una función dada en un instante de tiempo. Interbloqueo. Este problema lo tenemos cuando dos procesos tienen que hacer uso del mismo recurso y uno se encuentra en espera de que el recurso sea liberado por el proceso que lo esta utilizando. A su vez el otro proceso necesita de un recurso que esta siendo utilizado por el proceso en espera. Inanición. Este problema se debe a la espera indefinida de un proceso causado por la asignación de preferencias de ejecución a otro proceso. 7. Requisitos para la ejecución mutua. La exclusión mutua debe cumplir con los siguientes requisitos; Debe cumplirse la exclusión mutua: solo un proceso de entre todos los que poseen secciones críticas por el mismo recurso u objeto compartido, debe tener permiso para entrar en ella en un instante de tiempo. Un proceso que se interrumpe en una sección crítica debe hacerlo sin interferir con los otros procesos. Un proceso no debe poder solicitar acceso a una sección crítica para después ser demorado indefinidamente; no puede permitirse el interbloqueo o la inanición. Cuando ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilación. No se deben hacer suposiciones sobre la velocidad relativa de los procesos o el número de procesadores. Un proceso permanece en su sección crítica solo por un tiempo finito. 8. Que operaciones se pueden efectuar sobre un semáforo? Un semáforo puede iniciarse con un valor no negativo. La operación wait disminuye el valor del semáforo. Si el valor se hace negativo, el proceso que ejecuta el wait se bloquea.
4 Comunicación y Sincronizacion 4 La operación signal incrementa el valor del semáforo. Si el valor no es positivo, se desbloquea un proceso bloqueado por una operación wait. 9. Cuál es la diferencia entre los semáforos Generales y los Binarios? Los semáforos binarios solo puede tomar los valores de 0 y 1; siendo mas sencillo de implementar que los generales, ya que son mas limitados. Pero manejan la misma potencia que estos últimos. 10. Cuál es la diferencia entre los semáforos débiles y los robustos. Los semáforos robustos tienen un orden definido para retirar los procesos que se encuentra en cola de espera. Mientras que los semáforos débiles no especifican el orden para llevar a cabo esta labor. 11. Que es un monitor? Los monitores son estructuras de un lenguaje de programación que ofrecen una funcionalidad equivalente a la de los semáforos y que son más fáciles de controlar. 12. Cuál es la diferencia entre bloqueador y no bloqueador con relación a los mensajes? La diferencia que existe entre uno y el otro es que cuando se envía un mensaje el proceso emisor o receptor puede estar o no bloqueados. Si el mensaje es bloqueador el proceso quedara bloqueado hasta que llegue el próximo mensaje. Pero si es no bloqueador, usado mucho en procesos concurrentes, el proceso continuara su ejecución normalmente tenga o no tenga mensajes. 13. Cuales son las condiciones asociadas, en general, con el problema de los lectores/escritores? Se deben satisfacer las siguientes condiciones: Cualquier número de lectores puede leer el archivo simultáneamente. Sólo puede escribir en el archivo un escritor en cada instante. Si un escritor está accediendo al archivo, ningún lector puede leerlo.
5 Comunicación y Sincronizacion 5 Problemas. 1. Considérese el algoritmo de Dekker, escrito para un número de arbitrario de procesos, cambiando la sentencia ejecutada cuando se abandona la sección crítica de turno = 1 i /* es decir, P0 pone turno a 1 y P1 pone turno a 0 */ a turno = ( turno + 1 ) % n /* n= números de procesos */ Evaluar el algoritmo cuando el número de procesos que ejecutan concurrentemente es mayor de dos. Si tenemos varios procesos concurrente con un algoritmo de esta forma se estará viendo solamente que la sección critica estará libre cuando el residuo de la división del total de los procesos sea un numero exactamente divisible entre la cantidad n de procesos. 2. Otro método de software para la exclusión mutua es el algoritmo de la panadería de Lamport, llamado así porque está basado en la costumbre de las panaderías y de otras tiendas en las que cada cliente recibe un número al llegar, lo que permite servirles por turnos. El algoritmo es como sigue: booleano eleccion[n]; int numero[n]; while (cierto) eleccion[i] = cierto; numero[i] = 1 + max(numero[ ], n); eleccion[i] = falso; for (int j=0; j<>n; j++) while (eleccion[j]) ;
6 Comunicación y Sincronizacion 6 while ((numero[j]!=0) && (numero[j], j) <> (numero[i], i)) ; /* seccion critica */; numero[i] = 0; /* resto */; Los vectores eleccion y numero se inicia a falso y a 0, respectivamente. El i- esimo elemento de cada vector puede ser leído y modificado por el proceso i, pero solo puede ser leído por otros procesos. La notación (a, b) < (c, d) se define como: (a<c) or (a = c and b<d) a. describir el algoritmo con palabras. Este algoritmo trata de algo común; nos habla de cómo se trata a los clientes en las panaderías. En este caso numero es el número de procesos o clientes a atender y eleccion será el proceso o cliente elegido, el arreglo numero le asignara una etiqueta numérica a cada proceso y el eleccion solo dirá si la región critica esta ocupada o no. Cada vez que haya un proceso se le dará un número. El proceso con el número más pequeño será atendido primero. Este algoritmo también nos dice que si el P[i] y el P[j] toman el mismo numero y que i es diferente de j, entonces Pi entra primero; sino lo hace Pj (P=numero). En la sección de salida vemos que el Pi asigna 0. c. Demostrar que este algoritmo evita el interbloqueo. a < c or si a = c y b < d max(a0,...ak) es un número b tal que: b >= ai para i=0,..k Si Proceso[i] está dentro SC es que Proceso[k] ha escogido un numero[k]!= 0, y (numero[i],i) < (numero[k],k). Si nos basamos en este supuesto y en lo dicho anteriormente este algoritmo no permitirá el interbloqueo; ya que la sección critica estará disponible para que sea usada por otro proceso. d. Demostrar que respeta la exclusión mutua.
7 Comunicación y Sincronizacion 7 La exclusión mutua esta siendo respetada ya que el algoritmo solo permite que un proceso de los n existente entren a la sección critica y que los otros esperen a que esta sección este libre para entrar. 3. Demostrar que los siguientes métodos de software para la exclusión mutua no dependen de la exclusión mutua básica del nivel de acceso a la memoria. El algoritmo de la panadería. El algoritmo de Peterson. La operabilidad de ambos logaritmos esta dada para brindar soluciones mediante software, los cuales usaran direcciones de memoria que serán dadas por el Sistema Operativo; mas no así direcciones físicas asignadas directamente en la memoria. O sea que el hardware no formara parte directa de la solución de la exclusión mutua. 4. El siguiente problema se empleó una vez en un examen: Parque Jurasico está formado por un museo de dinosaurios y un parque excursiones de safari. Hay m pasajeros y n coches monoplazas. Los pasajeros dan vueltas por el museo durante un tiempo y después se ponen en fila para dar un paseo en un coche de safari. Cuando el coche está disponible, carga un pasajero y recorre el parque durante un tiempo aleatorio. Si los n coches están todos dando vueltas a los pasajeros, los que quieren subir deben esperar; si un coche está listo para recoger pasajeros, pero no hay ninguno esperando, el coche debe esperar. Use semáforos para sincronizar los procesos de los m pasajeros con los n coches. Determinar si el siguiente código es correcto. Ignorar la sintaxis y las declaraciones ausentes de variables. Recuerde que P y V corresponden con wait y signal. \beginliteralmente Recurso Parque-Jurasico ()
8 Comunicación y Sincronizacion 8 sem coche_vacio := 0, tomar_coche := 0, coche_lleno := 0, pasaj_libre := 0 process pasajero(i := 1 to num_pasajeros) do true -> dormir(int(random(1000*tiempo_paseo))) P(coche_vacio); V(tomar_coche); P(coche_lleno) P(pasaj_libre) od end pasajero process coche(j:=1 to num_coches) do true -> V(coche_libre); P(tomar_coche); V(coche_lleno) dormir(int (random(1000*tiempo_recorrido)) V(pasaj_libre) od end coche end Parque_Jurasico \endliteralmente Según mi punto de vista la lógica tiene sentido, en lo que se ve se usan tres semáforos y un contador de procesos (pasajeros). Los semáforos serán coche_vacio, tomar_coche, coche_lleno. Estos semáforos le envían la señal de wait o signal a los procesos (pasajeros) para que se ejecuten (tomen el bus). La codificación utilizada es un poco enredada pero se tiene la lógica, la política utilizada para definir los semáforos es bastante buena. 5. Considérese el algoritmo de semáforos. Cambiara el significado del programa si se intercambian las siguientes sentencias? Wait(e); wait(s) Signal(s); signal(n) Wait(n); wait(s) Signal(s); signal(e)
9 Comunicación y Sincronizacion 9 Si nos basamos en el algoritmo del Productor-Consumidor del libro de Stalling (figura 5.16), podemos ver que las funciones declaradas se ejecutan mediante caída libre; al momento de hacer dichos cambios estaremos cambiando el significado del programa. Si tomamos la función productor y cambiamos wait(e) por wait(s) el wait del tamaño de buffer estará en 1 siempre y si el tamaño requerido por el proceso es mayor puede generar errores. Al ir bajando en la ejecución del programa vemos que a la hora de enviar una señal para la inserción de otro proceso en el buffer se vera siempre en 0, o sea no habrá una señal de que se ha insertado un proceso. Analizando el algoritmo para la parte del consumidor el primer wait entrará en 1, en primera instancia el programa puede tomarlo como si ya el consumidor ha tomado ya el proceso. 6. Responda a las siguientes cuestiones relativas a la barbería equitativa: Requiere el código que cobre el pago de un corte de pelo a un cliente el mismo barbero que lo terminó? Si se coloca en el código que el mismo barbero sea el que cobre el corte, el proceso (cliente) se demorara más tiempo con el barbero y dejara a los otros procesos esperando más tiempo. Esto puede llevar a una gran espera y retrazar todo el funcionamiento. Usan los barberos siempre la misma silla? La misma silla será utilizada, ya que existe una relación entre el barbero y la silla; al momento que se liberó la silla, será liberado el barbero el cual estará dispuesto para atender otro cliente. 7. Este problema demuestra el modo en que se usan tres semáforos para coordinar tres tipos de procesos. Santa Claus duerme en su taller del Polo Norte y sólo puede despertarse por (1) los nueve renos que vuelven de sus vacaciones en el Pacifico Sur o (2) algún duende que tiene dificultades para hacer juguetes; para permitir que Santa Claus duerme, los duendes sólo pueden despertarle cuando son tres los que tienen problemas. Cuando tres
10 Comunicación y Sincronizacion 10 duendes van a plantear sus problemas, cualquier otro que desee visitar a Santa Claus debe esperar a que vuelvan. Si Santa Claus despierta y encuentra y encuentra tres duendes en la puerta de su taller, junto con el último reno que vuelve al trópico, Santa Claus decide que los duendes pueden esperar hasta después de Navidad, porque es mas importante poner su trineo a punto (se supone que los renos no quieren dejar trópico y que permanecen allí hasta el ultimo momento posible). El último reno en llegar debe avisar a Santa Claus mientras los otros esperan calentitos en un refugio antes de ser enjaezados al trineo. Resuelva este problema por método de semáforos. semáforo re = 0 semáforo en = 0 semáforo enj = 1 semáforo noenj = 1 semáforo en-cuar = 1 semáforo salir = 1 /* Enanos */ while (true) hacer(); en-espera(); wait(en-cuar); consul(); wait(salir); void en-espera() if (e<>3) then wait(en) en=en + 1 else en-listo(); /* Renos */ while (true) navidad(); re-regre(); wait(enj); entregar(); wait(noenj); void re-regre() if (r==8) wait(enj); else
11 Comunicación y Sincronizacion 11 re = re + 1; /* Santa Claus */ while (true) despertado(); void despertado() wait(enj) entregar() wait(noenj); void despertado() & en-listo() wait(en-cuar); consulta() wait(salir) 8. Demostrar que el paso de mensajes y los semáforos tienen una funcionalidad equivalente: a. implementando el paso de mensajes por medio de semáforos. Pista: haga uso de un área de elementos compartidos para contener buzones, cada uno de ellos formado por un vector de espacios para mensajes. /* productor consumidor */ cap = prod = 1 cons = 1 void productor () while (cierto) producir() wait(e) wait(prod) signal(prod) mens() void consumidor ()
12 Comunicación y Sincronizacion 12 while (cierto) coger () wait(cons) signal(cons) mens() void mens() msg[prod] = prod + 1 msg[cons] = cons + 1 b. implementando un semáforo por medio del paso de mensajes. Pista: cree un proceso independiente para la sincronización. void productor () while (cierto) receive(producir, msjp) msj. = producir( ) send(consumir, msjp) void consumidor () while (cierto) receive(consumir, msjp) consumir(mjsp) send(producir, null)
13 Comunicación y Sincronizacion 13 void mens() buzon1(producir) buzon2(consumir) producir = producir + 1 consumir = consumir + 1
Concurrencia de Procesos
Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)
Más detallesConcurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
Más detallesSISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización
SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Procesos concurrentes y problemas en la comunicación y la sincronización Contenido 2 Concurrencia. Condiciones de carrera. Exclusión mutua
Más detallesISO Tema 8,
ISO Tema 8, 2017-2018 Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos 13 de abril de 2018 Modificado el 27 de abril de 2018 de la presentación 1 2 3 4 5 6 7 2 / 32 1 2 3 4 5 6 7 3 / 32
Más detallesUnidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 1, Concurrencia: Exclusión mutua y sincronización. 1.1 Problema de la sección crítica, alternativas al uso de semáforos: - Regiones críticas, Monitores, Variables de
Más detallesSISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 6: Procesos concurrentes y problemas en la comunicación y la sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Concurrencia: Exclusión mutua y sincronización. 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesSincronización de procesos
Sincronización de procesos Contenido Procesos concurrentes. El problema de la seccion critica Problemas clásicos de comunicación y sincronización. Mecanismos de comunicación y sincronización. DSO 2014
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detallesMaterial Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización Slides de Samuel Oporto Díaz CONCURRENCIA 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesSecciones críticas y exclusión mutua
Secciones críticas y exclusión mutua Lecturas: Andrews, secciones 3.1, 3.2, 3.3, 3.4 Ben-Ari, sección 2.2 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la
Más detallesAcceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
Más detallesCONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización CONCURRENCIA Slides de Samuel Oporto Díaz 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesConcurrencia, exclusión mutua y sincronización.
Resumen de sistemas operativos. Segundo Corte. Secciones 703M- 704M y 705M Msc Hungria Berbesi Concurrencia, exclusión mutua y sincronización. Multiporgramación: consiste en la gestión de varios procesos
Más detallesUniversidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Principios de Programación Concurrente 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesExamen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.
Junio 2008 Programación Concurrente 1/6 Normas Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software Este examen es un cuestionario
Más detallesConcurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Más detallesSistemas Operativos Tema 6. Concurrencia
Contenidos Sistemas Operativos Tema 6. Concurrencia Sistemas concurrentes El problema de la sección crítica Semáforos Monitores 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 2 Bibliografía
Más detallesEstados de un proceso
Semáforos Estados de un proceso Inactivo Listo Ejecutando Completo Escribimos p.state := ready p. state := running Bloqueado Para indicar que un proceso cambia de estado Semáforo Es un tipo de dato abstracto
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesLección 6: Ejemplos de programación con semáforos
Lección 6: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Más detallesSistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.
Sistemas Operativos Concurrencia Mario Medina (mariomedina@udec.cl) Everybody understands what concurrency means? Two lies at once. Todos entienden qué significa concurrencia? Dos mentiras a la vez. Luis
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detalles7. Programación Concurrente
7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar
Más detallesGrafo acíclico orientado cuyos nodos corresponden a sentencias individuales.
GRAFOS DE PRECEDENCIA Grafo acíclico orientado cuyos nodos corresponden a sentencias individuales. Un arco de un nodo Si al nodo Sj significa que la sentencia Sj puede ejecutarse sólo cuando ha acabado
Más detallesProgramación de Sistemas Concurrentes y Distribuidos 2 a Convocatoria curso 12/13
Programación de Sistemas Concurrentes y Distribuidos 2 a Convocatoria curso 12/13 13 de septiembre de 2013 Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza Ejercicio 1 (2.0 ptos.)
Más detallesSistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos
Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión
Más detalles*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010
Calificación SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 1 2 3 4 Nombre *** SOLUCIONES *** Titulación Dispone de tres horas para realizar el examen 1 (5 puntos) Test. En cada uno de los siguientes
Más detallesConcurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Más detallesEjercicios con Monitores
Ejercicios con Monitores 57. Aunque un monitor garantiza la exclusión mutua, los procedimientos tienen que ser reentrantes. Explicar por qué. 58. Demostrar que incluso si la implementación del semáforo
Más detallesSistemas Operativos. Paso de Mensajes. Direccionamiento de Mensajes. Sincronización de mensajes. Mensajes permiten: Paso de Mensajes
Paso de Mensajes Sistemas Operativos Paso de Mensajes Mario Medina (mariomedina@udec.cl) Mensajes permiten: Sincronización de procesos Comunicación entre procesos Aptos para: Beware of bugs in the above
Más detallesTeoría de Sistemas Operativos Sincronización Procesos
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica º Semestre, 00 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo1 Dos o más procesos leen o escriben ciertas zonas compartidas
Más detallesSistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesFUNDAMENTOS BÁSICOS DE LOS SISTEMAS OPERATIVOS Fe de Erratas Actualizada a 12 de septiembre de 2018
FUNDAMENTOS BÁSICOS DE LOS SISTEMAS OPERATIVOS Fe de Erratas Actualizada a 12 de septiembre de 2018 Nota: Las erratas que comienzan con la viñeta+son erratas que han sido añadidas o modificadas con respecto
Más detallesAviso 2: Escriba con buena letra y evite los tachones. Aviso 3: Solución del examen y fecha de revisión en
SISTEMAS OPERATIVOS (Código: 71902048) Enero 2012 Material permitido: Solo calculadora no programable Tiempo: 2 horas N1 Aviso 1: Todas las respuestas deben estar debidamente razonadas. Aviso 2: Escriba
Más detallesConcurrencia entre Procesos.
Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que
Más detallesSistemas operativos. Comunicación y sincronización de procesos
Sistemas operativos Comunicación y sincronización de procesos Comunicación y sincronización de procesos Contenido 1. Introducción 2. Comunicación por memoria común 3. El problema de la sección crítica
Más detallesPrimitivas de Sincronización (continuación) MONITORES: Primitiva de alto nivel, es a nivel de lenguajes como: ADA, PASCAL, JAVA.
Primitivas de Sincronización (continuación) MONITORES: Primitiva de alto nivel, es a nivel de lenguajes como: ADA, PASCAL, JAVA. Carácterísticas: Construcción de alto nivel. Estructura de datos estática:
Más detallesComunicación y sincronización
Comunicación y sincronización Son conceptos relacionados con la interacción entre los procesos La comunicación se refiere al paso de información de un proceso a otro La sincronización corresponde al cumplimiento
Más detallesConcurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo
Concurrencia Programación Concurrente Espera ocupada. Primitivas IPC con bloqueo Programación concurrente Los lenguajes concurrentes tienen elementos para: Crear procesos Sincronizar procesos Comunicar
Más detallesPorque desarrolló el concepto de lista de tareas (pool de Job) que podía ser gestionada de acuerdo a políticas distintas a la FIFO.
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen Parcial, 3 de mayo de 2003 SOLUCIONES Calificación 1 2 3 4 5 Nombre Titulación
Más detallesUNIDAD 3 MEMORIA COMÚN. El problema de exclusión mutua
UNIDAD 3 MEMORIA COMÚN El problema de exclusión mutua Exclusión mutua Exclusión mutua significa asegurar que un recurso compartido (variable, estructura de datos, etc.) sea accedida por un solo hilo a
Más detallesProgramación Concurrente Recopilación de teoría referente a la materia
UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a
Más detallesSincronización de Procesos
Sincronización de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sincronización de Procesos Fundamentos El Problema de la Sección Crítica Solución a la sección
Más detallesNatalia Partera Jaime Alumna colaboradora de la asignatura
Programación Concurrente y de Tiempo Real Guión de prácticas 6: Programación en Java de algoritmos de control de la Exclusión Mutua con variables comunes Natalia Partera Jaime Alumna colaboradora de la
Más detallesnecesitan 3 dígitos hexadecimales y otros 3 para el desplazamiento. Por tanto la una dirección física queda expresada según el siguiente formato:
Calificación 1 2 SISTEMAS OPERATIVOS - SEGUNDA PARTE Examen Convocatoria Ordinaria, 22 de junio de 2006 Nombre 3 4 Titulación SOLUCIONES Dispone de dos horas y media para realizar el examen 1 (2.5 puntos)
Más detallesUNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERIA E.A.P. INGENIARIA EN INFORAMTICA Y SISTEMAS MONITORES: "PROBLEMA DE SANTA CLAUS
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERIA E.A.P. INGENIARIA EN INFORAMTICA Y SISTEMAS MONITORES: "PROBLEMA DE SANTA CLAUS PRESENTADO POR: Uriel Jonatan Villaca Paco CODIGO 2013-39111
Más detallesDE SISTEMAS CONCURRENTES
REDES DE PETRI: MODELADO DE SISTEMAS CONCURRENTES PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 2012/13 1 MODELADO DE SISTEMAS
Más detallesSISTEMAS OPERATIVOS Manejo de procesos
SISTEMAS OPERATIVOS Manejo de procesos Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx Universidad de Occidente Presentación Concepto de proceso Despacho de procesos Operaciones sobre procesos
Más detallesTarea 2. Descripción y Control de Procesos
1 Tarea 2. 1. En qué consiste una traza de instrucciones? Consiste en listar las secuencias de instrucciones que ejecuta cada proceso. El procesador puede caracterizarse mostrando la forma en que intercalan
Más detallesFac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007
Calificación Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007 1 2 3 4 Nombr SOLUCIONES Titulació Dispone de tres horas para realizar el examen
Más detallesProgramación concurrente
23 de Marzo de 2017 Condiciones generales Docente: Hernán Melgrati (hmelgra@...) Horario: Teóricas: Jueves de 14 a 17 Prácticas: Martes de 14 a 17 Evaluaciones: Un parcial (mediados de mayo) Un trabajo
Más detallesUniversisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Introducción y Conceptos Básicos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Más detallesLa secuencia de referencias a páginas para el proceso B es:
SISTEMAS OPERATIVOS (Código: 71902048) Enero 2017 Material permitido: Solo calculadora no programable Tiempo: 2 horas N1 Aviso 1: Todas las respuestas deben estar debidamente razonadas. Aviso 2: Escriba
Más detallesdit Programación concurrente Sincronización condicional UPM
20151028 dit UPM Programación concurrente Sincronización condicional Juan Antonio de la Puente Algunos derechos reservados. Este documento se distribuye bajo licencia Crea9ve Commons
Más detallesPROGRAMACIÓN CONCURRENTE
PROGRAMACIÓN CONCURRENTE Lenguajes de Programación - Progr. Concurrente 1 Introducción El concepto fundamental de la programación concurrente es la noción de Proceso. Proceso: Cálculo secuencial con su
Más detallesSISTEMAS OPERATIVOS (Código: ) Septiembre 2018
SISTEMAS OPERATIVOS (Código: 71902048) Septiembre 2018 Material permitido: Solo calculadora no programable Tiempo: 2 horas N 1. Conteste razonadamente a las siguientes preguntas: Aviso 1: Todas las respuestas
Más detallesPARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
Más detallesInterbloqueo. Concurrencia: Interbloqueo e Inanición
Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución
Más detallesSistemas Operativos Tema 3. Concurrencia Conceptos generales Sincronización con semáforos
Sistemas Operativos Tema 3. Concurrencia Conceptos generales Sincronización con semáforos 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos n Sistemas concurrentes n El problema
Más detallesMensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Más detalles*** S O L U C I O N E S ***
Calificación Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Parcial 9 de mayo de 2009 1 2 3 4 Nombre *** S O L U C I O N E S *** Titulación Dispone de tres horas para realizar
Más detallesSistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
Más detallesProgramación Concurrente y distribuida
Working Hypothesis Programación Concurrente y distribuida Camilo Rueda 1 1 Universidad Javeriana-Cali 1 de febrero de 2010 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería
Más detallesMECANISMOS PARA SINCRONIZACIÓN. Semáforos
MECANISMOS PARA SINCRONIZACIÓN Semáforos Mecanismos para sincronización Una vez discutidos los principales problemas a enfrentar para coordinar procesos/hilos que comparten espacio de direccionamiento,
Más detallesSistemas Operativos Tema 7. Concurrencia
Contenidos Sistemas Operativos Tema 7. Concurrencia Sistemas concurrentes El problema de la sección crítica Semáforos Monitores 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 2 Bibliografía
Más detallesTEMA 2: PROCESOS E HILOS: CONCURRENCIA, SINCRONIZACIÓN Y COMUNICACIÓN
TEMA 2: PROCESOS E HILOS: CONCURRENCIA, SINCRONIZACIÓN Y COMUNICACIÓN 1. Introducción Definición de proceso (tarea según los fabricantes): Programa en ejecución. Cálculo computacional que puede hacerse
Más detallesConcurrencia Condiciones de Carrera. Guillermo Román Díez
Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición
Más detallesLección 10: Ejemplos de programación con semáforos
Lección 10: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada instante la CPU ejecuta
Más detallesTema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.
Tema 3. Paso de mensajes Bibliografía Programación Concurrente J. Palma, C. Garrido, F. Sánchez, A. Quesada, 2003 Capítulo 7 Principles of Concurrent and Distributed Programming M. Ben-Ari. Prentice Hall,
Más detallesALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Más detallesSEMAFOROS. if hay procesos suspendidos en este semáforo then despertar a uno de ellos else S = S + 1
1 de 21 22/12/2007 21:48 SEMAFOROS 1. DEFINICIONES 1.1. Semáforo general 1.2. Semáforo binario 1.3. Semáforo con cola de procesos bloqueados 1.4. Semáforo con espera activa (busy-wait) 1.5. Consecuencias
Más detalles06/06/2017. Hay varios niveles para expresar concurrencia: Nivel de Instrucción Nivel de Sentencia Nivel de Unidad Nivel de Programa
1 Hay varios niveles para expresar concurrencia: Nivel de Instrucción Nivel de Sentencia Nivel de Unidad Nivel de Programa 2 Hay varios niveles para expresar concurrencia: Nivel de Instrucción Nivel de
Más detallesLección 5: Sincronización de procesos mediante semáforos
Lección 5: Sincronización de procesos mediante semáforos Introducción Estados de un proceso Semáforos: sintaxis y semántica Técnicas de programación con semáforos: el problema de la sección crítica el
Más detallesEl problema de los Filósofos
El problema de los Filósofos Problemas de Programación Concurrente Solución con Semáforos Para evitar una situación de interbloqueo se limita el número de filósofos en disposición de comer a 4. PROGRAM
Más detallesSOLUCIONES. Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen Parcial, 7 de mayo de 2005 Nombre SOLUCIONES Dispone de tres horas para
Más detallesOrganización del Sistema Operativo
del Sistema Operativo Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 del Sistema Operativo Funciones Básicas Funciones Básicas Perspectivas del Computador Responsabilidades del SO
Más detallesMientras duerme, el barbero espera a ser despertado por un nuevo cliente.
1. Enunciado Tres barberos trabajan en una barbería. La barbería cuenta con tres sillones de barbero, cada uno asignado a uno de los barberos. Cada barbero desarrolla el siguiente plan de trabajo: El barbero
Más detallesPROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS
PROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS SISTEMAS OPERATIVOS JOSÉ ALFREDO ESTRADA SOTO Para cada uno de los siguientes tres problemas se requiere escribir un programa que atienda las necesidades
Más detallesLecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1
Semáforos Lecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la Creative Commons
Más detallesFundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)
Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,
Más detallesTema 6. Gestión de Interbloqueo
Tema 6. Gestión de Interbloqueo Introducción (I) Protocolo de acceso a recursos compartidos: Solicitud. Utilización. Liberación. El sistema operativo suspende a los procesos cuyas solicitudes no pueden
Más detallesHilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Más detallesProgramación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Más detallesLa Máquina de Acceso Aleatorio (Random Access Machine)
La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:
Más detallesSOLUCIONES. DURACIÓN: Dispones de dos horas para realizar el examen. Lee las instrucciones para el test en la hoja correspondiente.
1 2 3 4 test extra NOTA Fundamentos de los Sistemas Operativos Examen parcial 3 de abril de 2017 Nombre y apellidos DNI/NIE SOLUCIONES DURACIÓN: Dispones de dos horas para realizar el examen. Lee las instrucciones
Más detallesPuebla, Pue a 4 de Junio del Programación Concurrente y Paralela
Puebla, Pue a 4 de Junio del 2015 Programación Concurrente y Paralela Algoritmo de Dekker y Peterson Problemas: 1.- Esquimales 2.- Identificar procesos. ALUMNOS: OSCAR EDUARDO GONZÁLEZ RAMOS MICHAEL CASTAÑEDA
Más detalles6. Enumere tres ventajas de los ULT frente a los KLT.
1 Tarea 3 Hilos 1. Cuales bloques de control de proceso deberían pertenecer a un bloque de control de hilo y cuáles a un bloque de control de proceso en un sistema multihilo? Para modelos monohilo deben
Más detallesINDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos
INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos
Más detalles1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Convocatoria de Junio, 26 de Junio de 2003 SOLUCIONES Calificación 1 2 3 4 Nombre
Más detallesProgramación de Sistemas Concurrentes y Distribuidos 1 a Convocatoria curso 12/13
Programación de Sistemas Concurrentes y Distribuidos 1 a Convocatoria curso 12/13 5 de febrero de 2013 Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza Ejercicio 1 (1.5 ptos.) Considérese
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
Más detallesProgramación concurrente
Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.6 Sincronización basada en memoria compartida. J.M. Drake M. Aldea Procesos concurrentes y memoria
Más detallesPROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela
Más detalles