Sistemas operativos: concurrencia

Solo disponible en BuenasTareas
  • Páginas : 12 (2794 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de agosto de 2012
Leer documento completo
Vista previa del texto
CONTENIDO
HILOS Y MULTIHILOS 1
CONCURRENCIA 2
 Multiprogramación: gestión de varios procesos dentro de un sistema monoprocesador. 2
 Multiproceso: gestión de varios procesos dentro de un sistema multiprocesador. 2
 Proceso distribuido: gestión de varios procesos que se ejecutan en sistemas de múltiples computadoras y remotas. 2
EXCLUSIÓN MUTUA Y SINCRONIZACIÓN 3
EXCLUSIÓNMUTUA: CONDICIÓN 4
REQUISITOS PARA LA EXCLUSIÓN MUTUA 5
EXCLUSIÓN MUTUA: SOLUCIONES POR SOFTWARE 5
COOPERACIÓN ENTRE PROCESOS POR COMPARTICIÓN 7
COOPERACIÓN ENTRE PROCESOS POR CUMNICACIÓN 7
BIBLIOGRAFÍA 8

HILOS Y MULTIHILOS

Un hilo es un único flujo de información de ejecución dentro de un proceso.

Un proceso es un programa en ejecución dentro de su propio espacio de direcciones.Los hilos no pueden ejecutarse ellos solos; por lo que requiere la supervisión de un proceso padre para correr. Dentro de cada proceso hay varios hilos ejecutándose. Por ejemplo, Word puede tener un hilo en background checando automáticamente la gramática de lo que estoy escribiendo, mientras otro hilo puede estar salvando automáticamente los cambios del documento en el que estoy trabajando.• Hilo: Una unidad de trabajo que se puede expedir para ejecución. Es lo que se ejecuta secuencialmente y es interrumpible para que el procesador pueda pasar a otro hilo.

• Proceso: Una colección de uno o más hilos y recursos del sistema asociados (tales como memoria, archivos abiertos y dispositivos). Esto se acerca mucho al concepto de programa en ejecución. Dividiendo una aplicaciónsencilla en varios hilos, el programador tiene un gran control sobre la modularidad de la aplicación y la temporización de los sucesos relativos a la aplicación.

Muchos entornos tienen la llamada multitarea en su sistema operativo, esto es distinto al multihilo. En un sistema operativo, a las tareas se les llama procesos pesados, mientras que en un entorno multihilo se les denomina procesos ligeroso hilos, la diferencia es que los procesos pesados están en espacios de direccionamiento distintos y por ello la comunicación entre procesos y el cambio de contexto es caro. Por el contrario, los hilos comparten el mismo espacio de direcciones y comparten cooperativamente el mismo proceso pesado, cada hilo guarda su propia pila, variables locales y contador de programa, por ello, la comunicaciónentre hilos es muy ligera y la conmutación de contexto muy rápida.

CONCURRENCIA

El diseño de sistemas operativos se realiza en función de las diferentes formas de gestión de procesos y la concurrencia en estos.

La gestión de procesos puede ser de tres tipos:

* Multiprogramación: gestión de varios procesos dentro de un sistema monoprocesador.
* Multiproceso: gestión de variosprocesos dentro de un sistema multiprocesador.
* Proceso distribuido: gestión de varios procesos que se ejecutan en sistemas de múltiples computadoras y remotas.

La concurrencia hace uso de varios conceptos para el diseño de sistemas operativos, tales son: la comunicación entre procesos, compartición y competencia por los recursos, sincronización de la ejecución de varios procesos yasignación del tiempo del procesador a los procesos.

De acuerdo al tipo de gestión de procesos, la concurrencia puede presentarse de tres maneras diferentes:

* Varias aplicaciones: la multiprogramación permite que el tiempo de procesador se comparta dinámicamente entre varias procesos.
* Aplicaciones estructuradas: gracias al diseño modular y la programación estructurada, algunasaplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.
* Estructura de procesos: algunos sistemas operativos están implementados como un conjunto de procesos.

En un sistema multiprogramado con un solo procesador, los procesos se intercalan en el tiempo dando la apariencia de ejecución simultánea. Sin embargo los procesos no se realizan en paralelo y se produce...
tracking img