1 minute read

PROCESOS CONCURRENTES ASÍNCRONOS DE UN SISTEMA OPERATIVO

Laconcurrenciadeprocesosdescribelascircunstanciasenlasquedosomásprocesos puedenaccederaunrecursocompartidoalmismotiempoo,dichodeotromodo,enlasque suejecuciónrequierecoordinación.Elsistemaoperativoproporcionamecanismosde arbitrajequepermitencoordinarlaejecucióndelosprocesosparaevitarestacoincidencia.

Exclusión mutua

Advertisement

Solo cuando los procesos tienen acceso a datos compartidos modificables se debe usar mutexing; de lo contrario, las operaciones que no entren en conflicto deben llevarse a cabo al mismo tiempo. Se dice que un proceso está en una sección crítica una vez que tiene acceso a los datos compartidos que se pueden cambiar. No hace falta decir que debe asegurarse de que otros procesos (o al menos aquellos con acceso a los datos compartidos) no puedan ingresar a un proceso cuando se encuentra en una sección crítica si desea evitar los problemas mencionados en la sección anterior. críticamente sus propias secciones.

Por supuesto, otros procesos pueden continuar operando fuera de sus secciones críticas mientras un proceso está en su sección crítica. Cuando un proceso sale de un área crítica, cualquier otro proceso que esté esperando para ingresar a sus propias regiones críticas (si hay alguno esperando) hace lo mismo. Uno de los problemas centrales de la programación concurrente es garantizar que se mantenga la exclusión mutua. Se han propuesto numerosas soluciones, algunas de las cuales involucran software y otras hardware, algunas son sencillas y otras complejas, algunas requieren cooperación en el proceso, mientras que otras exigen el cumplimiento por escrito de protocolos estrictos.

Seccción crítica

Cuando hay múltiples procesos ejecutándose simultáneamente, cada uno se desarrolla de manera diferente a los demás. Para garantizar que al menos uno y solo un proceso ingrese a una región crítica, se requiere la sincronización entre dos o más procesos cuando ambos deben ingresar a una región crítica.

Debemos sincronizar las actividades con la condición si una actividad quiere evitar que otra acceda a un dato compartido en particular mientras una condición específica sigue siendo verdadera. Dado que la exclusión mutua depende de la sincronización, es un requisito.

Se han creado tres algoritmos específicamente para este propósito, y son los siguientes:. * Siempre en alerta. *La espera no está activa.

This article is from: