Concurrencia de Sistema Operativo

Páginas: 9 (2142 palabras) Publicado: 3 de diciembre de 2013
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 al procesador A yun 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 tener en cuenta quemientras un proceso está escribiendo un valor en una variable determinada, puede darse el caso que otro proceso que es concurrente al primero vaya a 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 se realicecorrectamente. Para estudiar esto, y determinar el tipo de operaciones que se pueden realizar sobre recursos compartidos utilizaremos las condiciones de Bernstein.
Condiciones de Bernstein.

Condiciones que nos determinan si dos procesos se pueden ejecutar de forma paralela.

   R(S1) es el conjunto de variables cuyo valor es accedido durante la ejecución de la instrucción. 
   W(S1) es el conjuntode variables cuyo valor cambia durante la ejecución de la instrucción.
Condiciones de Bernstein: Dos procesos se pueden ejecutar de forma concurrente si se verifican las siguientes condiciones:
      R(S2) Intersección W(S1) = {conjunto vacío} 
      R(S1) Intersección W(S2) = {conjunto vacío} 
      W(S1) Intersección W(S2) = {conjunto vacío}
INTERACCIÓN ENTRE PROCESOS
Se puede clasificaren los que interactúan los procesos en función del nivel de conocimiento que cada proceso tiene de la existencia de los demás. Existen tres niveles de conocimiento:
1) Los procesos no tienen conocimiento de los demás: son procesos independientes que no operan juntos. Ej: la multiprogramación de procesos independientes. Aunque los procesos no trabajen juntos, el sistema operativo se encarga dela "competencia" por los recursos.
2) Los procesos tienen un conocimiento indirecto de los otros: los procesos no conocen a los otros por sus identificadores de proceso, pero muestran cooperación el objeto común.
3) Los procesos tienen conocimiento directo de los otros: los procesos se comunican por el identificador de proceso y pueden trabajar conjuntamente.
Competencia entre procesos por losrecursos
Los procesos concurrentes entran en conflicto cuando compiten por el uso del mismo recurso; dos o más procesos necesitan acceder a un recurso durante su ejecución .Cada proceso debe dejar tal y como esté el estado del recurso que utilice.
La ejecución de un proceso puede influir en el comportamiento de los procesos que compiten. Por Ej. Si dos procesos desean acceder a un recurso, elsistema operativo le asignará el recurso a uno y el otro tendrá que esperar.
Cuando hay procesos en competencia, se deben solucionar tres problemas de control: la necesidad de exclusión mutua. Suponiendo que dos procesos quieren acceder a un recurso no compartible. A estos recursos se les llama "recursos críticos" y la parte del programa que los utiliza es la "sección crítica” del programa. Esimportante que sólo un programa pueda acceder a su sección crítica en un momento dado.
Hacer que se cumpla la exclusión mutua provoca un interbloqueo.
Otro problema es la inanición si tres procesos necesitan acceder a un recurso, P1 posee al recurso, luego lo abandona y le concede el acceso al siguiente proceso P2, P1 solicita acceso de nuevo y el sistema operativo concede el acceso a P1 YP2...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Resumen sobre la concurrencia y la exclusion en el diseno de sistemas operativos
  • Concurrencia y colisiones
  • Procesos Concurrentes: Sistemas Operativo
  • Sistemas operativos: procesos concurrentes
  • Sistemas operativos: concurrencia
  • Sistemas de fueras concurrentes
  • ¿Qué Es Un Sistema Operativo? y Tipos De Sistemas Operativos
  • Sistema Operativo Y Tipos De Sistemas Operativos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS