Está en la página 1de 2

Sistemas Operativos

Nombre: Luis Gustavo Angles Aguilar.


Comunicacin y Sincronizacin de Procesos
n sistema multitarea permite !ue coe"istan varios procesos a la vez# e$ecut%ndolos de
manera concurrente. &"isten tres modelos de computadora en los !ue se pueden e$ecutar
procesos concurrentes: 'ultiprogramacin con un (nico procesador# multiprocesador y
multicomputadora.
&"isten diversas razones !ue motivan la e$ecucin de procesos concurrentes en un sistema
y estos son:
) *acilita la programacin de aplicaciones al permitir !ue estas se estructuren como
un con$unto de procesos !ue cooperan entre s+ para alcanzar un ob$etivo com(n.
) Acelera los c%lculos# dividiendo los procesos# cada uno de los cuales se e$ecuta en
paralelo.
) Posibilita el uso interactivo a m(ltiples usuarios.
) Permite un me$or aprovec,amiento de los recursos.
Los procesos !ue se e$ecutan concurrentemente pueden ser procesos independientes o
cooperantes. Los procesos independientes son los !ue se e$ecutan sin la cooperacin de
otros procesos. Los procesos son cooperantes cuando est%n dise-ados con$untamente en
alguna actividad. .anto en los procesos independientes como cooperantes se producen
iteraciones !ue pueden ser de dos tipos:
) /teraciones motivadas por!ue los procesos comparten o compiten por el acceso a
recursos 0+sicos o lgicos.
) /teracin motivada por!ue los procesos se comunican y sincronizan entre s+ para
alcanzar un ob$etivo en com(n.
&stas iteraciones obligan al sistema operativo a incluir unos servicios !ue permitan la
comunicacin y sincronizacin entre procesos.
&n las iteraciones producidas por los procesos suceden una serie de problemas cl%sicos.
&l problema de la seccin cr+tica es uno de los problemas m%s comunes. Sucede cuando el
sistema operativo designa un mismo valor de operacin a dos procesos di0erentes. Por
e$emplo# el sistema operativo registra cada uno de los procesos a e$ecutar y les asigna un
valor para identi0icarlos# a,ora en el caso !ue dos procesos distintos se e$ecuten
paralelamente# el sistema operativo les asignar% el mismo valor y suceder% el problema.
A,ora lo !ue el sistema operativo deber+a ,acer es asignar un valor atmico e indivisible#
as+ a la ,ora de asignar un valor al proceso siempre ser% un valor di0erente por m%s !ue
suceda el caso anterior.
Otro problema es del productor)consumidor !ue es uno de los problemas m%s ,abituales
!ue surge cuando se programan aplicaciones utilizando procesos concurrentes. &n este tipo
de problemas uno o m%s procesos# !ue se denominan productores# generan cierto tipo de
datos !ue son utilizados o consumidos por otros procesos !ue se denominan consumidores.
&n esta clase de problemas es necesario disponer de alg(n mecanismo de comunicacin
!ue permita a los procesos productor y consumidor intercambiar in0ormacin. Por tanto#
este tipo de problemas re!uiere servicios para !ue los procesos puedan comunicarse y
servicios para !ue se sincronicen a la ,ora de acceder al mecanismo.
n tercer problema es el de los lectores escritores. &n este problema e"iste un determinado
ob$eto !ue va a ser utilizado y compartido por un con$unto de procesos concurrentes. &n
esta clase de problema es necesario contar con un servicio de sincronizacin !ue permita a
los procesos lectores y escritores sincronizarse adecuadamente al acceder al ob$eto.
Otro problema se encuentra en la comunicacin cliente servidor. &n este tipo de
aplicaciones es necesario !ue el sistema operativo o0rezca servicios !ue permitan
comunicarse los clientes con el servidor.
Para resolver los casos anteriores el sistema operativo o0rece una serie de servicios !ue
permiten a los procesos comunicarse y sincronizarse. Los principales mecanismos de
comunicacin !ue o0recen los sistemas operativos son:
) Arc,ivos.
) .uber+as.
) 1ariables en memoria compartida.
) Paso de mensa$es.
Los principales mecanismos de sincronizacin !ue o0recen los sistemas operativos son:
) Se-ales.
) .uber+as.
) Sem%0oros.
) 'ute" y variables condicionales.
) Paso de mensa$es.

También podría gustarte