Académique Documents
Professionnel Documents
Culture Documents
SECCIN CRITICA
Definicin:
Es un conjunto de instrucciones que acceden a un dato que es compartido
para al menos otro proceso del sistema, de forma que al menos uno de ellos
puede modificar la variable.
Es la parte del programa con un comienzo y un final claramente marcados
que generalmente contiene la actualizacin de una o ms variables
compartidas.
Cmo evitamos las condiciones de carrera? La clave para evitar problemas
aqu y en muchas otras situaciones en las que se involucran la memoria
compartida, los archivos compartidos y todo lo dems compartido es buscar
alguna manera de prohibir que ms de un proceso lea y escriba los datos
compartidos al mismo tiempo. Dicho en otras palabras, lo que necesitamos
es exclusin mutua, cierta forma de asegurar que si un proceso est
utilizando una variable o archivo compartido, los dems procesos se
excluirn de hacer lo mismo. La dificultad antes mencionada ocurri debido
a que el proceso B empez a utilizar una de las variables compartidas antes
de que el proceso A terminara con ella. La eleccin de operaciones
primitivas apropiadas para lograr la exclusin mutua es una cuestin de
diseo importante en cualquier sistema operativo y un tema que
analizaremos con mayor detalle en las siguientes secciones.
El problema de evitar las condiciones de carrera tambin se puede formular
de una manera abstracta. Parte del tiempo, un proceso est ocupado
realizando clculos internos y otras cosas que no producen condiciones de
carrera. Sin embargo, algunas veces un proceso tiene que acceder a la
memoria compartida o a archivos compartidos, o hacer otras cosas crticas
que pueden producir carreras. Esa parte del programa en la que se accede a
la memoria compartida se conoce como regin crtica o seccin crtica. Si
pudiramos ordenar las cosas de manera que dos procesos nunca
estuvieran en sus regiones crticas al mismo tiempo, podramos evitar las
carreras.
(wikipedia, 2014)
2.
Exclusin mutua
Consiste en que un solo proceso excluye temporalmente a todos los
dems para usar un recurso compartido de forma que garantice la
integridad del sistema. (https://es.wikipedia.org, 2016)
un
multincleo(es
decir,
sistema
con
multiprocesadores)
al
VARIABLES DE CANDADO:
Es una solucin de software. Considere tener una sola variable
compartida (de candado), que al principio es 0. Cuando un proceso
desea entrar a su regin crtica primero evala el candado. Si este
candado es 0, el proceso lo fija en 1 y entra a la regin crtica. Si el
candado ya es 1 solo espera hasta que el candado se haga 0. Por ende,
un 0 significa que ningn proceso est en su regin crtica y un 1
significa que algn proceso est en su regin crtica.
ALTERNANCIA ESTRICTA:
La variable entera TURNO (que al principio es 0) lleva la cuenta acerca
de qu proceso le toca entrar a su regin crtica y examinar o actualizar
la memoria compartida. Al principio el proceso 0 inspecciona TURNO,
descubre que es 0 y entra a su regin crtica.
El proceso 1 tambin descubre que es 0 y por lo tanto se queda en un
ciclo estrecho, evaluando TURNO en forma continua para ver cundo se
convierte en 1. A la seccin de evaluar en forma continua una
variable hasta que aparezca cierto valor se le conoce como ESPERA
OCUPADA.
Por lo general se debe evitar, ya que desperdicia tiempo de la CPU. La
espera ocupada solo se utiliza cuando hay una expectativa razonable
de que la espera ser corta. A un candado que utiliza la espera
ocupada se le conoce como CANDADO DE GIRO.
SOLUCIN DE PETERSON:
Este algoritmo consiste de dos procedimientos escritos en ANSI C, lo
cual significa que deben suministrar prototipos para todas las funciones
definidas y utilizadas. Antes de utilizar las variables compartidas (es
decir, antes de entrar a su regin crtica), cada proceso llama a
entrar_region con su propio nmero de proceso (0 o 1) como
parmetro.
Esta llamada har que espere, si es necesario, hasta que sea seguro
entrar. Una vez que haya terminado con las variables compartidas, el
proceso llama a salir_region para indicar que ha terminado y permitir
que los dems procesos entren, si as lo desea.
LA INSTRUCCIN TSL:
Para computadoras diseadas para soportar multiprocesadores.
Instruccin: Test and Set Lock o TSL REGISTRO CANDADO (Evaluar y
fijar el candado) que funciona de la siguiente manera. Lee el contenido
de la palabra de memoria candado y lo guarda en el registro RX, y
despus almacena un valor distinto de cero en la direccin de memoria
candado.
Se garantiza que las operaciones de leer la palabra y almacenar un
valor en ella sern indivisibles; ningn otro procesador puede acceder a
la palabra de memoria sino hasta que termine la instruccin.
(lcsistemasoperativos.wordpress, 2016)
Bibliografa
http://sistemasoperativos. (s.f.). Obtenido de http://sistemasoperativos:
http://sistemasoperativos.angelfire.com/html/2.4.1.html
https://es.wikipedia.org. (2016 de Marzo de 2016). Obtenido de
https://es.wikipedia.org: https://es.wikipedia.org/wiki/Exclusi
%C3%B3n_mutua_(inform%C3%A1tica)
lcsistemasoperativos.wordpress. (03 de Febrero de 2016). Obtenido de
lcsistemasoperativos.wordpress:
https://lcsistemasoperativos.wordpress.com/tag/espera-ocupada/
wikipedia. (14 de Diciembre de 2014). Obtenido de wikipedia:
https://es.wikipedia.org/wiki/Secci%C3%B3n_cr%C3%ADtica