Sei sulla pagina 1di 3

Seccin critica Es la parte del proceso en la cual se tiene acceso a un recurso compartido.

Para evitar problemas en situaciones relacionadas con recursos compartidos, la clave es determinar una forma de prohibir que mas de un proceso lea o escriba en los datos compartidos a la vez, en otras palabras, lo que se necesita es una forma de garantizar que si un proceso utiliza una variable o archivo compartido, los dems procesos no puedan utilizarlos. A esto se le llama exclusin mutua. Se necesitan 4 condiciones para tener una buena solucin. Los cuales son los siguientes: Dos procesos no deben encontrarse al mismo tiempo dentro de sus secciones criticas. No se debe hacer hiptesis sobre la verdad o el nmero de procesadores. Ninguno de los procesos que estn en ejecucin fuera de su seccin critica puede bloquear a otros procesos. Ningn proceso debe esperar demasiado tiempo para entrar en su seccin critica.

Si los procesos comparten recursos no deben estar en su seccin critica al mismo tiempo , ya que puede provocar un conflicto; pero si ambos procesos son independientes no de haber problema, si un procesos desea entrar a su secn critica no deben hacerlo mucho para acceder al recurso compartido. En que consisten los monitores? R.- Un monitor es un conjunto de procedimientos que proporciona el acceso con exclusin mutua a un recurso o conjunto de recursos (datos o dispositivos), se lo puede ver como una valla alrededor del recurso (o rescursos),de modo que los procesos que quieran utilizarlo deben entrar dentro de ella. Muchas procesos pueden querer entrar en distintos instantes de tiempo, pero slo permite que entre un proceso cada vez debindose esperar a que salga el que est dentro antes que otro pueda entrar. Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicializacin, el cual se ejecuta una nica vez, cuando se crea el monitor. { nombre { variables globales accesibles desde todos los procedimientos { procedimiento A { procedimiento B { { inicializacin (solo se ejecuta una vez)

Semforos Un Semforo es una variable especial que constituye una serie de opciones elementales para poder restringir o garantizar el acceso a los recursos en un Sistema Operativo con un entorno de multiprocesamiento. Dependiendo del nmero de recursos a gestionar, un semforo puede ser:1. Semforo contador (Ms de 1 recurso)2. Semforo binario (1 solo recurso)Un semforo se constituye por dos mtodoselementales:1. wait() denominado P2. signal() denominado V Inicia(Semforo s, Entero r){ s = r;}El nmero de recursos a gestionar se define por la variable entera r. P(Semforo s){ if(s>0) s = s-1; else wait(); } Debido a que s representa el nmero de recursos disponibles,cuando un proceso requiere utilizar alguno, llama al mtodo wait(), endonde si es que hay procesos disponibles se resta un nmero delsemforo, sino se mantiene en un bucle hasta que tenga alguno libre. Un proceso se bloquea mientras se encuentra en el bucle wait() V(Semforo s) { if(!procesos_bloqueados) s = s+1; else signal();}Debido a que s representa el nmero de recursos disponibles,cuando un proceso haya dejado de utilizar uno, se vuelve a sumar alsemforo, siempre y cuando no haya procesos bloqueados. Si es que existen procesos bloqueados, ellos tienen prioridad para acceder a los recursos que se hayan liberado. Los procesos son indivisibles, no puede haber modificacin simultnea de los valores del semforo, o pueden causarse conflictos.

Estado de procesos

Potrebbero piacerti anche