Upload
iago-plaza
View
217
Download
0
Embed Size (px)
Citation preview
GESTIÓN DE PROCESOS
HILOS Y COMUNICACIÓN ENTRE PROCESOS
HILOSRecibe 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
HILOSMonohilo: 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.
HILOSMultihilo:
Pilas separadas para cada hilo
Boques de control para cada hilo
Solo hay un PBC y un espacio de direcciones
Estructura de los hilos
Hilo:Unidad básica de utilización de la CPU Contador de programa Juego de registrosEspacio de pila
Comparten:Sección de códigoSección de datosRecursos del SO (archivos abiertos y señales)
Recursos compartidos y no
Compartidos:Código Variables globalesFicheros y dispositivos abiertos
No compartidos:Contador del programaRegistro del CPUPila para las variables localesEstado
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.
Ventajas
Se tarda menos en crear un nuevo hiloSe tarda menos tiempo en terminar un hilo Se tarda menos tiempo en conmutar entre hilos
Hace mas rápida la comunicación entre procesos
Hilos Hilos a nivel usuario: La realiza una aplicación.
Hilos a nivel núcleo:Todo lo realiza un núcleoTodos los hilos pertenecen a un mismo proceso
COMUNICACIÓN ENTRE PROCESOSMemoria 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 procesosSólo invocan send y receive (bloqueantes o no).
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.
Tipos de comunicaciónComunicació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.
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.
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.
GESTIÓN DE ALMACENAMIENTOASIGNACIÓN CONTIGUA Y PAGINACIÓN
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 inicialLongitud del área asignada al archivo (# bloques)
Permite el acceso secuencial y directo.
ProblemasAsignació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)
Resumen
Se necesita la dirección del primer bloqueTodo archivo se puede leer solo una vezEl 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.
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.
Paginas
Sirven
Unidad de almacenamiento de información y transferencial
Memoria principal memoria secundaria
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.
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.
Características de la paginaciónEl 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.
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.
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.