La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

HILOS Y COMUNICACIÓN ENTRE PROCESOS

Presentaciones similares


Presentación del tema: "HILOS Y COMUNICACIÓN ENTRE PROCESOS"— Transcripción de la presentación:

1 HILOS Y COMUNICACIÓN ENTRE PROCESOS
GESTIÓN DE PROCESOS HILOS Y COMUNICACIÓN ENTRE PROCESOS

2 HILOS Recibe el nombre de proceso ligero.
Se refiere sintáctica y semánticamente a hilos de ejecución. Multihilo: Capacidad de un SO para mantener varios hilos en ejecución dentro de un mismo proceso

3 HILOS Monohilo: Un solo hilo de ejecución por proceso.
No existe concepto de hilo. Un proceso incluye su PBC Espacio de direcciones del proceso. Pila de proceso. Pila de núcleo.

4 HILOS Multihilo: Pilas separadas para cada hilo
Boques de control para cada hilo Solo hay un PBC y un espacio de direcciones

5 Estructura de los hilos
Unidad básica de utilización de la CPU Contador de programa Juego de registros Espacio de pila Comparten: Sección de código Sección de datos Recursos del SO (archivos abiertos y señales)

6 Recursos compartidos y no
Código Variables globales Ficheros y dispositivos abiertos No compartidos: Contador del programa Registro del CPU Pila para las variables locales Estado

7 Estados de un hilo Principales: Ejecución, preparado y bloqueado.
Cambio de estado: Creación: Cada ves que se crea un proceso de crea un hilo. Bloqueo: Al esperar se bloquea para que se ejecute otro. Desbloqueo: Cuando se produce su suceso. Terminación: Cuando finaliza se libera su contexto y sus pilas.

8 Ventajas Se tarda menos en crear un nuevo hilo
Se tarda menos tiempo en terminar un hilo Se tarda menos tiempo en conmutar entre hilos Hace mas rápida la comunicación entre procesos

9 Hilos Hilos a nivel usuario: Hilos a nivel núcleo:
La realiza una aplicación. Hilos a nivel núcleo: Todo lo realiza un núcleo Todos los hilos pertenecen a un mismo proceso

10 COMUNICACIÓN ENTRE PROCESOS
Memoria compartida: Necesitan un mecanismo de sincronización externo La responsabilidad de la comunicación recae en los procesos Paso de mensajes: Proporciona un enlace lógico entre procesos Sólo invocan send y receive (bloqueantes o no).

11 Tipos de comunicación Direccionamiento simétrico: Se nombra el destino y origen Direccionamiento asimétrico: Se nombra solo el destino. Comunicación indirecta: Se utilizan buzones. Un enlace puede asociarse a más de dos procesos. Dos procesos pueden compartir varios enlaces. El enlace puede ser unidireccional o bidireccional. Compilación independiente.

12 Tipos de comunicación Comunicación directa:
El enlace lógico es implícito entre cada par de procesos. Un enlace está asociado sólo a dos procesos. Entre cada par de procesos existe un único enlace. El enlace es bidireccional. No compilación independiente Sincrona: Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio. Asincrona: Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.

13 Tipos de comunicación Persistente: El mensaje se almacena tanto tiempo como sea necesario para ser entregado. Momentánea: Se descarta el mensaje si el receptor no esta operativo. Uso de buffers automático: El transmisor se boquea hasta que el receptor recibe el mensaje.

14 Capacidad de enlace Capacidad 0: Los procesos deben estar sincronizados. Capacidad N: La sincronización sólo es necesaria si el enlace esta lleno. Capacidad ilimitada: El emisor nunca tiene que esperar.

15 GESTIÓN DE ALMACENAMIENTO
ASIGNACIÓN CONTIGUA Y PAGINACIÓN

16 ASIGNACIÓN CONTIGUA Cada fichero ocupa: bloques contiguos en el disco.
Numero de búsquedas y tiempo de búsquedas mínimos para acceder a los archivos contiguos. Definida por: Dirección en disco del bloque inicial Longitud del área asignada al archivo (# bloques) Permite el acceso secuencial y directo.

17 Problemas Asignación de dinámica de almacenamiento:
Estrategias de primer y mejor ajuste. Selección de un hueco libre del conjunto de los disponibles. Inserción de los datos difíciles. Fragmentación externa: Al borrar un fichero no puede ser usado por otro completamente. Solución: compactación (creación de un único hueco grande)

18 Resumen Se necesita la dirección del primer bloque
Todo archivo se puede leer solo una vez El método no es realizable, a menos que se conozca el tamaño Max de archivos, al momento de crearlo. Produce bastante fragmentación externa. Fácil acceso directo a bloques. Importante la gestión de espacio libre.

19 PAGINACIÓN Técnica de manejo de memoria, el espacio de memoria se divide en secciones física de igual tamaño, llamadas marcos de página. Denominadas páginas: Tienen el mismo tamaño que los marcos de pagina.

20 Unidad de almacenamiento de información y transferencial
Paginas Sirven Unidad de almacenamiento de información y transferencial Memoria principal memoria secundaria

21 Paginación Las paginas de un programa deben estar contiguamente en memoria. Los mecanismos de paginación permiten la correspondencia correcta entre las direcciones virtuales (dadas por programas) y las reales de la memoria. Cada pagina consiste en: Z palabras contiguas. Espacio de direcciones N consiste en n paginas. Espacio de memoria consiste en m marcos de paginas.

22 Paginación Control de las paginas: Mantenerse una tabla en memoria denominada tabla de mapas de pagina para cada uno de los procesos. Tablas de paginas Cada pagina tiene un índice Tiene un numero de marco correspondiente Finalidad de las tablas: Asociar las paginas virtuales con los marcos.

23 Características de la paginación
El espacio de direcciones lógico puede ser no contiguo. La memoria se divide en bloques físicos fijos llamados marcos (frames) La memoria se divide en bloques llamados paginas. La información se mantiene en los marcos libres. Se establece una tabla de paginas para trasladar las direcciones lógicas a físicas. Se produce fragmentación interna.

24 Ventajas Se puede ejecutar un programa cargando una parte en la memoria y lo que queda bajo solicitud. No es necesario que las paginas sean contiguas , no se necesitan programas de compactación cuando hay marcos libres dispersos en la memoria. Es fácil controlar las paginas por su mismo tamaño.

25 Desventajas El costo del software y hardware va creciendo por la nueva información que se va ingresando. Se consume mucha memoria y tiempo de CPU para su implantación. Se deben reservar áreas de memoria para los procesos. Al no tener un tamaño fijo se crea un problema de desperdicio de memoria.


Descargar ppt "HILOS Y COMUNICACIÓN ENTRE PROCESOS"

Presentaciones similares


Anuncios Google