ayuda urgente
Publicado por hector (1 intervención) el 04/05/2007 18:17:22
necesito ayuda en este proyecto....si saben o han hecho algo similar por favor enviar al correo [email protected]
Se requiere de su amplia experiencia para la simulación del administrador de memoria de un
lenguaje de programación, específicamente del área dinámica del montículo (HEAP). Este simulador debe
asignar y liberar bloques de memoria de tamaño variable usando el modelo de LEL, y la técnica de
asignación que escoja el usuario. La secuencia de operaciones a aplicar será cargada desde un archivo de
texto, con todo en mayúsculas, sin importar los espacios en blanco, bajo el siguiente formato:
1: HEAP SIZE <dir_ini> <dir_fin>
2: ASSIGN METHOD <tecnica>
3: COMPACTATION MODE <tipo>
4: <op> <id> <tam>
…
N: END
donde:
• <dir_ini> es un valor entero positivo que representa la dirección inicial del montículo.
• <dir_fin> es un valor entero positivo que representa la dirección final del montículo.
• <tecnica> es la técnica a usar para asignar bloques: BETTER, FIRST, WORST
• <tipo> es el tipo de compactación a usar: NONE, PARTIAL
• <op> es la operación a realizar: ASSIGN, FREE
• <id> es el nombre de la variable que será afectada por una operación
• <tam> es un valor entero que indica el tamaño de memoria requerido (sólo para instrucciones ASSIGN)
Dado como entrada un archivo .TXT, usted deberá:
1. Cargar el archivo de texto y verificar que esté correcto; si existe un error, debe indicar cual es la línea
errónea y no se ejecuta la simulación.
2. En caso de que no hayan errores, ejecutar la simulación, mostrando gráficamente el montículo con las
direcciones de inicio de cada bloque asignado, las variables y los enlaces de la LEL. Al culminar la
simulación, debe mostrar:
a. Cantidad de asignaciones efectuadas.
b. Cantidad de liberaciones efectuadas.
c. Cantidad de compactaciones parciales efectuadas (si aplica)
d. Efectividad del método de asignación usado. Por cada instrucción ASSIGN ejecutada, se asigna
1 punto si el bloque asignado es el primero, 0.5 puntos si el bloque asignado está antes o hasta
la mitad del total de bloques libres, y 0.25 puntos si el bloque asignado está después de la mitad
del total de bloques libres. Luego Efectividad = puntos / asignaciones * 100%
3. Debe permitir simular instrucción por instrucción mediante algún mecanismo activable/desactivable.
Se requiere de su amplia experiencia para la simulación del administrador de memoria de un
lenguaje de programación, específicamente del área dinámica del montículo (HEAP). Este simulador debe
asignar y liberar bloques de memoria de tamaño variable usando el modelo de LEL, y la técnica de
asignación que escoja el usuario. La secuencia de operaciones a aplicar será cargada desde un archivo de
texto, con todo en mayúsculas, sin importar los espacios en blanco, bajo el siguiente formato:
1: HEAP SIZE <dir_ini> <dir_fin>
2: ASSIGN METHOD <tecnica>
3: COMPACTATION MODE <tipo>
4: <op> <id> <tam>
…
N: END
donde:
• <dir_ini> es un valor entero positivo que representa la dirección inicial del montículo.
• <dir_fin> es un valor entero positivo que representa la dirección final del montículo.
• <tecnica> es la técnica a usar para asignar bloques: BETTER, FIRST, WORST
• <tipo> es el tipo de compactación a usar: NONE, PARTIAL
• <op> es la operación a realizar: ASSIGN, FREE
• <id> es el nombre de la variable que será afectada por una operación
• <tam> es un valor entero que indica el tamaño de memoria requerido (sólo para instrucciones ASSIGN)
Dado como entrada un archivo .TXT, usted deberá:
1. Cargar el archivo de texto y verificar que esté correcto; si existe un error, debe indicar cual es la línea
errónea y no se ejecuta la simulación.
2. En caso de que no hayan errores, ejecutar la simulación, mostrando gráficamente el montículo con las
direcciones de inicio de cada bloque asignado, las variables y los enlaces de la LEL. Al culminar la
simulación, debe mostrar:
a. Cantidad de asignaciones efectuadas.
b. Cantidad de liberaciones efectuadas.
c. Cantidad de compactaciones parciales efectuadas (si aplica)
d. Efectividad del método de asignación usado. Por cada instrucción ASSIGN ejecutada, se asigna
1 punto si el bloque asignado es el primero, 0.5 puntos si el bloque asignado está antes o hasta
la mitad del total de bloques libres, y 0.25 puntos si el bloque asignado está después de la mitad
del total de bloques libres. Luego Efectividad = puntos / asignaciones * 100%
3. Debe permitir simular instrucción por instrucción mediante algún mecanismo activable/desactivable.
Valora esta pregunta


0