Resumen
Texto íntegro de la conversión. Las figuras y la disposición de las notas se pueden consultar en el PDF.
Página 49
Resumen
En este módulo didáctico hemos estudiado con detenimiento el problema de la sincronización de diferentes procesos y hemos ofrecido una idea de cómo se solucionan los problemas de comunicación de procesos y los interbloqueos (deadlocks).
Hemos visto que en la ejecución concurrente de procesos la sincronización es necesaria cuando éstos acceden a recursos compartidos (principalmente, dispositivos y variables compartidas). Sin una sincronización adecuada, la ejecución concurrente, al entrelazar la ejecución de varios procesos, puede producir errores de temporización y puede dejar el sistema inconsistente. Las causas de estas irregularidades dependen del recurso compartido. Así, tenemos las causas siguientes:
-
En el caso de variables compartidas, la principal causa de este problema es la existencia de copias temporales por parte de los procesos concurrentes.
-
En el caso de los dispositivos compartidos, una sincronización incorrecta puede provocar problemas de interbloqueo.
Para solucionar los problemas que surgen en el momento de sincronizar los procesos se han estudiado con detalle los semáforos, un mecanismo que permite la sincronización de manera sencilla. El principal problema que presentan es que el programador es el responsable de su buena utilización. Los programadores tienen que hacer un buen uso para evitar problemas de deadlock y de inanición.
También hemos visto el mecanismo de paso de mensajes, que, además de permitir la sincronización, también posibilita la comunicación de información entre procesos cooperativos y el mecanismo de las señales software. Finalmente, hemos descrito el problema del interbloqueo de procesos (deadlock).
Página 50
Ver fragmento extraído sin normalizar
## Página 49
<!-- source-page: 49 -->
GNUFDL • PID_00214803 49 Comunicación y sincronización
Resumen
En este módulo didáctico hemos estudiado con detenimiento el problema de
la sincronización de diferentes procesos y hemos ofrecido una idea de cómo
se solucionan los problemas de comunicación de procesos y los interbloqueos
(deadlocks).
Hemos visto que en la ejecución concurrente de procesos la sincronización es
necesaria cuando éstos acceden a recursos compartidos (principalmente, dis-
positivos y variables compartidas). Sin una sincronización adecuada, la ejecu-
ción concurrente, al entrelazar la ejecución de varios procesos, puede producir
errores de temporización y puede dejar el sistema inconsistente. Las causas de
estas irregularidades dependen del recurso compartido. Así, tenemos las cau-
sas siguientes:
• En el caso de variables compartidas, la principal causa de este problema es
la existencia de copias temporales por parte de los procesos concurrentes.
• En el caso de los dispositivos compartidos, una sincronización incorrecta
puede provocar problemas de interbloqueo.
Para solucionar los problemas que surgen en el momento de sincronizar los
procesos se han estudiado con detalle los semáforos, un mecanismo que per-
mite la sincronización de manera sencilla. El principal problema que presen-
tan es que el programador es el responsable de su buena utilización. Los pro-
gramadores tienen que hacer un buen uso para evitar problemas de deadlock
y de inanición.
También hemos visto el mecanismo de paso de mensajes, que, además de per-
mitir la sincronización, también posibilita la comunicación de información
entre procesos cooperativos y el mecanismo de las señales software. Finalmen-
te, hemos descrito el problema del interbloqueo de procesos (deadlock).
## Página 50
<!-- source-page: 50 -->