Ddddddd

Solo disponible en BuenasTareas
  • Páginas : 8 (1858 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de marzo de 2012
Leer documento completo
Vista previa del texto
CONCURRENCIA
* Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro.
* En sistemas multiprocesador, esta ejecución simultánea podría conseguirse completamente, puesto que podremos asignarle, por ejemplo, un proceso A alprocesador A y un proceso B al procesador B y cada procesador realizaran la ejecución de su proceso.
* Cuando tenemos un solo procesador se producirá un intercalado delas instrucciones de ambos procesos, de tal forma que tendremos la sensación de que hay un paralelismo en el sistema (concurrencia, ejecución simultánea de más de un proceso).
* Ahora bien, está claro que en esto tenemos que teneren cuenta que mientras un proceso está escribiendo un valor en una variable determinada, puede darse el caso que otro proceso que es concurrente al primero vaya al leer o escribir en esa misma variable, entonces habrá que estudiar el caso en el que un proceso haga una operación sobre una variable (o recurso en general) y otro proceso concurrente a él realice otra operación de tal forma que no serealice correctamente. Para estudiar esto, y determinar el tipo de operaciones que se pueden realizar sobre recursos compartidos utilizaremos las condiciones de Bernstein.
http://www.webprogramacion.com/43/sistemas-operativos/concurrencia-de-procesos.aspx

EXCLUSION MUTUA

Requisito de que cuando un proceso este en una sección critica que accede a recursos compartidos, ningún otro procesopuede estar en una sección critica que acceda a ninguno de esos recursos compartidos.

SECCION CRITCA

Sección de código dentro de un proceso que requiere acceso a recursos compartidos y que no puede ser ejecutada mientras oteo proceso este en una sección de código correspondiente.

REQUISITOS PARA EXCLUSION MUTUA

1. La exclusión mutua debe hacerse cumplir: solo se permite un proceso altiempo dentro de su sección crítica, de entre todos los procesos que tienen secciones críticas para el mismo recurso u objeto compartido.
2. Un proceso que se pare en su sección no crítica debe hacerlo sin interferir con otros procesos.
3. No debe ser posible que un proceso que solicite acceso a una sección critica sea postergado indefinidamente: ni interbloqueo no inanición.
4. Cuandoningún proceso este en una sección critica, a cualquier otro proceso que solicite entrar a su sección critica debe permitírsele entrar sin demora.
5. No se hacen suposiciones sobre las velocidades relativas de los procesos ni sobre el número de procesadores.
6. Un proceso permanece dentro de su sección critica solo por un tiempo finito.

SEMAFOROS

Un semáforo es una estructuradiseñada para sincronizar dos o más threads o procesos, de modo que su ejecución se realice de forma ordenada y sin conflictos entre ellos.
El por qué no se pueden usar directamente otras estructuras mas clásicas, como por ejemplo usar una variable común para decidir si se puede o no acceder a un recurso, se debe a que estamos en un sistema multitarea: hacer esto implicaría realizar una espera activa(un bucle, comprobando constantemente si la variable está o no a 0, y así saber si podemos seguir ejecutando o no). Por otro lado, puede ocurrir algo mucho peor: supongamos que un proceso comprueba la variable, y ve que el recurso está libre, por lo que procedería a cambiar dicha variable de valor y seguir. Pues bien, si justo después de la comprobacion pero antes de que cambie el valor se conmutade tarea (puede pasar, pues el sistema operativo puede hacerlo en cualquier momento), y el nuevo proceso comprueba la variable, como todavía no se ha actualizado, creerá que el recurso está libre, e intentará tomarlo, haciendo que ambos programas fallen. Lo peor del caso es que se tratará de un error aleatorio: unas veces fallará (cuando se produzca cambio de tarea en ese punto) y otras no....
tracking img