Semaforo

Solo disponible en BuenasTareas
  • Páginas : 5 (1032 palabras )
  • Descarga(s) : 22
  • Publicado : 5 de julio de 2010
Leer documento completo
Vista previa del texto
1) semáforo
Un semáforo es una variable especial protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por EdsgerDijkstra y se usaron por primera vez en el sistema operativo THEOS.
2) Monitores
Monitores; forman el software básico, programas que controlan todos los procesos del ordenador, asignando las prioridades de tratamiento mediante el control de interrupciones, de operaciones de E/S y flujo de trabajos
3) que es un proceso?
Un proceso es un programa en ejecución, los procesos son gestionados por elsistema operativo y están formados por:
Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
Otra información que permite al sistema operativo su planificación.
Losprocesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en elmismo espacio de memoria.

4) Procesos e hilos

Tareas e hilos.
Unidad mínima de asignación: tarea.
Unidad mínima de expedición: hilo.

Dos hilos de una misma tarea (denominados hilos pares) comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea.

Podemos captar la funcionalidad de los hilos si comparamos el control demúltiples hilos con el control de múltiples procesos. En el caso de los procesos, cada uno opera independientemente de los otros; cada proceso tiene su propio contador de programa, registro de pila, y espacio de direcciones. Este tipo de organización es muy útil cuando los trabajos que los procesos efectúan no tienen ninguna relación entre si.

Pero cuando los trabajos a realizar van a necesitar,por ejemplo, la llamada a una misma función o bien, la compartición de una variable en memoria, nos interesará englobarlos en una tarea. Ej: Avion-Torre.

Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea.

Un hilo tendrá lo siguiente:
Estado.
Contexto del procesador. Punto en el que estamos ejecutando, la instrucción concretamente en la quenos hallamos. Es útil a la hora de reanudar un hilo que fue interrumpido con anterioridad, puesto que al guardar el contexto, guardamos la ultima instrucción que ejecutamos, y así podemos conocer por donde tenemos que continuar la ejecución del hilo.
Pila de ejecución donde se irá metiendo y sacando instrucciones. (Lugar donde almacenaremos las instrucciones que van a ser ejecutadas).
Espaciode almacenamiento estático donde almacenará las variables.
Acceso a los recursos de la tarea, que son compartidos por todos los hilos de la tarea.

*Ventajas del uso de hilos.
* Se tarda menos tiempo en crear un hilo de una tarea existente que en crear un nuevo proceso.
* Se tarda menos tiempo en terminar un hilo que en terminar un proceso.
* Se tarda menos tiempo en cambiar entredos hilos de una misma tarea que en cambiar entre dos procesos (porque los recursos no cambian, por ejemplo).
* Es mas sencillo la comunicación (paso de mensajes por ejemplo) entre hilos de una misma tarea que entre diferentes procesos.
* Cuando se cambia de un proceso a otro, tiene que intervenir el núcleo del sistema operativo para que haya protección. Cuando se cambia de un hilo a...
tracking img