October 2018 1 11 Report
Hola necesito ayuda con este programa que no puedo hacer cito textual:
hacer un programa que a partir de un vector de caracteres asignado con new simule el comportamiento del sistema operativo cuando las funciones antes mencionadas son invocadas. Para ello debe pensar que:
El vector creado es la memoria ram.
Las funciones malloc, realloc, free y memset deberan ser implementadas pensando en el
punto anterior.
Los punteros void que usan algunas funciones, seran simplemente una estructura (struct ), que almacenara el nombre del puntero, donde comienza en el vector “memoria ram” y que tamaño tiene.
Debe salvaguardar la integridad de la memoria, por lo que cada nueva asignacion de esta (malloc,realloc) debe verificar que la nueva memoria asignada esta libre (no ha sido asignada previamente) y que existe espacio suficiente en la memoria.
Las funciones a ejecutar en este “sistema de memoria” ser ́an entregadas al programa a traves de un archivo de texto. Este archivo de texto lo confeccionar ́a el profesor al momento de la evaluacion y tendra el siguiente formato:
La primera linea contiene el nu ́mero de elementos del vector “memoria ram”.
A partir de ahi tendra ́ una serie de funciones codificadas con un nu ́mero diferente en cada linea con el siguiente formato:
• Para malloc el codigo es 1, seguido de un string con el nombre del puntero y un nu ́mero que indicar ́a size. Ej: asignar 8 bytes = 1 ptr 8.
• Para realloc el codigo es 2, seguido de un string que es el nombre del puntero que debe ser modificado y un nu ́mero que es el nuevo size. Ej: reasignar a ptr 10 bytes = 2 ptr 10.
• Para free el codigo es 3, seguido de un string que es el puntero a eliminar. Ej: liberar ptr = 3 ptr.
• Para memset el codigo es 4, seguido de un string que indica el puntero, un nu ́mero que indica el value y otro nu ́mero que indica el num. Ej: setear a 0 la memoria asignada por ptr las siguientes 2 posiciones = 4 ptr 0 2.
• Una linea que comienza con 0, finaliza el programa. Un ejemplo de este archivo de entrada ser ́ıa:
100
1 ptr1 10
1 ptr2 10
1 ptr3 10
2 ptr1 50
3 ptr2
4 ptr1 0 10
0
Antes de finalizar en programa debe imprimir cada una de las posiciones de su vector “memoria ram”, para lo que hara un cast a entero de cada una de las posiciones.

Recommend Questions



Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.