Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PREGUNTAS CAPÍTULO 5
• Acelera los cálculos. Si se quiere que una tarea se ejecute con mayor rapidez, lo
que se puede hacer es dividirla en procesos, cada uno de los cuales se ejecuta en
paralelo con los demás. Hay que hacer notar, sin embargo, que esta división a veces
es difícil y no siempre es posible. Además, el aumento en la velocidad de ejecución
de la tarea sólo se puede conseguir si ejecutamos los distintos procesos en un
multiprocesador o una multicomputadora.
Éste es uno de los problemas que con mayor frecuencia aparece cuando se
ejecutan procesos concurrentes, tanto si son cooperantes como independientes.
Considérese un sistema compuesto por n procesos {P1, P2, Pn} en el que cada
uno tiene un fragmento de código, que se denomina sección crítica. Dentro de la
sección crítica los procesos pueden estar accediendo y modificando y variables
comunes, registros de una base de datos, un archivo, en general cualquier
recurso compartido. La característica más importante de este sistema es que,
cuando un proceso se encuentra ejecutando código de la sección crítica, ningún
otro proceso puede ejecutar en su sección. Para ilustrar este problema se van a
presentar dos ejemplos en los que existe un fragmento de código que constituye
una sección critica. Considérese en primer lugar un sistema operativo que debe
asignar un identificador de proceso (PID) a dos procesos en un sistema
multiprocesador.
- Problema del productor-consumidor
El problema del productor-consumidor es uno de los problemas más habituales
que surge cuando se programan aplicaciones utilizando procesos concurrentes.
En este tipo de problemas uno o más procesos, que se denominan productores,
generan cierto tipo de datos que son utilizados o consumidos por otros procesos
que e denominan consumidores.
En esta clase de problemas es necesario disponer de algún mecanismo de
comunicación que permita a los procesos productor y consumidor intercambiar
información. Ambos procesos, además, deben sincronizar su acceso al
mecanismo de comunicación p a que la interacción entre ellos no sea
problemática: cuando el mecanismo de comunicación se llene, e] proceso
productor se deberá quedar bloqueado hasta que haya hueco para seguir
insertando elementos.
- Comunicación cliente-servidor
En el modelo cliente-servidor, los procesos llamados servidores ofrecen una
serie de servicios a otros procesos que se denominan clientes. El proceso
servidor puede residir en la misma máquina que el cliente o en una distinta, en
cuyo caso la comunicación deberá realizarse a través de una red de
interconexión. Muchas aplicaciones y servicios de red, como el correo
electrónico y la transferencia de archivos, se basan en este modelo.
4. ¿Cuáles son los principales mecanismos de comunicación y sincronización?
• Archivos.
• Tuberías.
• Paso de mensajes.
• Señales.
• Tuberías.
• Semáforos,
• Paso de mensajes.
6. ¿Qué es un Mutex?
Un mutex es el mecanismo de sincronización de procesos ligeros más sencillo y
eficiente. Los mutex se emplean para obtener acceso exclusivo a recursos
compartidos y para asegurar la exclusión mutua sobre secciones críticas.
Este mecanismo, sin embargo, presenta una serie de inconvenientes que hacen que
en general no sea un mecanismo de comunicación ampliamente utilizado. Estos son:
• Es un mecanismo bastante poco eficiente, puesto que la escritura y lectura en disco
es lenta.
• Necesitan algún otro mecanismo que permita que los procesos se sincronicen en el
acceso a los datos almacenados en un archivo. Por ejemplo, es necesario contar con
mecanismos que permitan indicar un proceso cuando puede leer los datos de un
archivo.