Isabel Barba Onniel Ortega Johar Antipara Sistema Compañero Isabel Barba Onniel Ortega Johar Antipara
¿Qué es un sistema compañero? Es un algoritmo que administra la memoria utilizando el sistema binario para optimizar el direccionamiento de las cavidades adyacentes cuando un proceso termina o es intercambiado Este consiste en crear bloques de memoria de 1M de capacidad que serán divididos en dos, llamados compañeros, de 512. El primero iniciará en el bit 0k y el segundo en el bit 512k. A su vez, el primero se divide en otros dos de 256k, en 0k y 256k y estos a su vez en dos de 128k.
Ventaja: Los sistemas compañeros tienen una ventaja sobre otro tipos de algoritmos. La ventaja es que cuando se libera un bloque de tamaño 2kbytes, el administrador de la memoria tiene que buscar una cavidad libre del mismo tamaño para ver si es posible una unión. Con otros algoritmos en los que se permite una división arbitraria, todas las listas de cavidades deben de ser rastreadas lo que termina siendo consumo de tiempo de memoria.
Funcionamiento
Sistema compañero Aloca la memoria en potencia de 2 Decidir código del limite superior programador Escribir código del limite superior Una ves decidido el limite superior programador vuelve a decir el limite en este caso el menor . Este límite es necesario para minimizar el almacenamiento de los datos sobre la ocupación de cada bloque
Ejemplo •Programa A solicita 34K..64K •Programa B solicita 66K..128K •Programa C solicita 35K..64K •Programa D solicita 67K..128K •Programa C libera la memoria •Programa A libera la memoria •Programa B libera la memoria •Programa D libera la memoria
Crear una ranura adecuada se procede de la siguiente manera: Dividir a la mitad una ranura libre de tamaño mayor que el solicitado. Si se alcanzó el límite inferior, alocar esa cantidad de memoria Volver al paso 1 (buscar una ranura de memoria de tamaño adecuado) Si no, repetir el proceso hasta obtener una ranura del tamaño adecuado Si se libera memoria Liberar el bloque de memoria Consultar si el vecino está libre Si lo está, combinar los dos y volver al paso 2. Repetir hasta alcanzar el límite superior (toda la memoria está libre) o hasta que se encuentre un vecino ocupado