Comunicación entre Procesos: Sincronización y Gestión de Memoria
Clasificado en Informática
Escrito el en español con un tamaño de 2,56 KB
Comunicación entre Procesos
Los procesos necesitan comunicarse para ejecutarse correctamente. Por ejemplo, en un entorno multihilo, los hilos de un proceso deben comunicarse para evitar interferencias entre sí.
Problemas de Comunicación
Pueden surgir problemas cuando se intenta mandar a imprimir mientras el búfer está vacío o cuando se intenta depositar archivos para imprimir y el búfer está lleno.
Condiciones de Competencia
Los procesos pueden compartir un área de memoria RAM a la que ambos pueden acceder para leer y escribir, como un archivo compartido. Las condiciones de competencia surgen cuando estos procesos intentan escribir el mismo dato simultáneamente. La planificación de procesos podría dejar uno de ellos en estado "listo" durante más tiempo, lo que podría generar problemas en el búfer. Para evitar esto, es necesario sincronizar los procesos. Existen herramientas como los semáforos, TSL (Test and Set) y monitores. Los semáforos se utilizan a bajo nivel.
Sección Crítica
La sección crítica es el área de memoria RAM o el archivo compartido donde puede surgir una inconsistencia cuando los procesos escriben sobre esa área. Este es el aspecto que se debe controlar estrictamente para que los procesos no se interpongan y se eviten problemas de sincronización.
Paginación
En los esquemas de administración continua, el principal inconveniente era la fragmentación externa. La única solución a este problema era la compactación, que consistía en mover todos los procesos a un lado de la memoria RAM para dejar todo el espacio libre unido. Otra solución era el intercambio, que implicaba mover procesos al disco para liberar espacio suficiente para los procesos que necesitaban acceder a la RAM. La compactación es ineficiente porque consume mucho tiempo de CPU. Hoy en día, existen esquemas más eficientes para la administración de la memoria RAM, como la paginación.
La paginación consiste en dividir los procesos en páginas de tamaño fijo que contienen el código de estos. A su vez, la memoria se divide en marcos del mismo tamaño que las páginas, y es allí donde se ubican las páginas para que el proceso las utilice.
Conjunto de Trabajo
El conjunto de trabajo es la serie de páginas que un proceso utiliza en un período de tiempo determinado. Se sabe que los procesos no utilizan todas sus páginas todo el tiempo, por eso se realizan estos estudios de conjunto de trabajo.