Ingeniero

Páginas: 30 (7381 palabras) Publicado: 15 de agosto de 2014
(Referencia: Herramientas para la docencia en sistemas operativos en JAVA y HTML)
Contenidos:
Contenidos: 1
1 Comunicación y Sincronización de Procesos 1
1.1 Cooperación entre Procesos 1
1.2 Competencia entre los procesos 2
1.3 Requisitos para la Exclusión Mutua 2
2 Utilizando Memoria Compartida 3
2.1 Soluciones Software al Problema de la Exclusión Mutua 3
2.2 Soluciones hardware a laexclusión mutua 9
3 Sin Utilizar Memoria Compartida: Mensajes 10
4 Problemas Clásicos de Comunicación entre Procesos 13
4.1 El problema de la cena de los filósofos 13
4.2 El problema de los lectores y los escritores 15
5 Un ejemplo de aplicación cliente-servidor 16
1 Comunicación y Sincronización de Procesos
Puede verse la concurrencia de procesos como la ejecución simultánea de variosprocesos. Si tenemos un multiprocesador o un sistema distribuido, la concurrencia parece clara, en un momento dado cada procesador ejecuta un proceso. Se puede ampliar el concepto de concurrencia si entendemos por procesado concurrente (o procesado paralelo) la circunstancia en la que de tomar una instantánea del sistema en conjunto, varios procesos se vean en un estado intermedio entre su estadoinicial y final. Esta última definición incluye los sistemas multiprogramados de un único procesador que estudiamos en los temas anteriores.
Los distintos procesos dentro de un ordenador no actúan de forma aislada. Por un lado, algunos procesos cooperan para lograr un objetivo común. Por otro lado, los procesos compiten por el uso de unos recursos limitados, como el procesador, la memoria o losarchivos. Estas dos actividades de cooperación y competición llevan asociada la necesidad de algún tipo de comunicación entre los procesos. Parte de este tema lo dedicaremos a estudiar mecanismos de comunicación entre los procesos.
Para aclarar un poco todo esto, supongamos que en un entorno UNIX se ejecuta la orden
cat tema1 tema2 tema3 | wc -l
Esta orden va a provocar que el intérprete deórdenes cree dos procesos concurrentes, el primero ejecutará el programa cat, que concatenará el contenido de los archivos de texto tema1, tema2 y tema3. El segundo ejecutará el programa wc, que contará el número de líneas de la salida producida por cat. Estos dos procesos cooperan, y será preciso algún tipo de sincronización entre ellos, concretamente hasta que cat no produzca alguna salida wc deberíabloquearse.
1.1 Cooperación entre Procesos
La velocidad de un proceso con respecto a otro es impredecible ya que depende de la frecuencia de la interrupción asociada a cada uno de ellos y cuán a menudo y de por cuánto tiempo tiene asignado cada proceso un procesador. Diremos, pues, que un proceso se ejecuta asincrónicamente con respecto a otro, es decir, sus ejecuciones son independientes. Sinembargo, hay ciertos instantes en lo que los procesos deben sincronizar sus actividades. Son estos puntos a partir de los cuales un proceso no puede progresar hasta que otro haya completado algún tipo de actividad.
Los procesos también necesitan comunicarse entre sí. Por ejemplo, para leer de un archivo, los procesos de usuario deben decir al proceso que gestiona los archivos lo que desean. Este,a su vez, debe pedirle al proceso de disco que lea los bloques necesarios. Cuando el shell conecta dos procesos con un tubo, los datos de salida del primer proceso se transfieren al segundo. Se necesita que los procesos se comuniquen entre sí, con un mecanismo bien estructurado y no por medio de interrupciones.
1.2 Competencia entre los procesos
Los recursos de un sistema pueden clasificarsecomo compartibles, lo que significa que pueden ser utilizados por varios procesos de forma concurrente, o no compartibles, lo que equivale a que su uso se restrinja a un sólo proceso a la vez. El hecho de que un recurso no sea compartible deriva de una de las dos razones siguientes:
La naturaleza física del recurso hace que sea imposible compartirlo. Un ejemplo lo constituye una impresora: si...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS