Supervisión del uso de memoria

Transcripción

Supervisión del uso de memoria
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD CULHUACAN
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN
SISTEMAS OPERATIVOS
PRÁCTICA 4. Supervisión del uso de memoria
Unidad II, Administrador de Memoria
OBJETIVOS PARTICULARES DE LA UNIDAD
El alumno explicará las funciones de un administrador de memoria, así como los mecanismos para protección de áreas de memoria.
Aplicará las técnicas de partición y asignación de memoria a un proceso.
OBJETIVO DE LA PRÁCTICA:
El alumno usará las herramientas del sistema operativo Windows y verificará el espacio de memoria que utiliza un proceso (programa) en la
memoria de la computadora. Determinará los tipos de compilación de un programa en C que optimicen el uso de memoria y lo comprobará con las
herramientas del sistema operativo de Windows: Administrador de tareas y 'tasklist'.
4.1 El siguiente programa en C informa cual es la dirección que ocupa el programa cuando está en ejecución. Modifique para que regrese la
dirección final del espacio reservado en memoria y verifique mediante el Administrador de tareas o tasklist si corresponden los espacios
reservados.
/* Programa que reserva memoria de acuerdo al tipo de dato que se declare, el programa regresa la dirección inicial del espacio de memoria */
#include <stdio.h>
int main(void) {
char* p;
p = (char*) malloc(1000*sizeof(char));
while(p =! NULL) {
printf ("p apunta a %d \n", p);
p++;
}
return(0);
}
4.2 Programa que reserva memoria, se llena de información, se cambia el tamaño de la memoria reservada y se modifica su contenido.
1 /3
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD CULHUACAN
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN
Modifique el programa para alojar al menos un megabyte de memoria y verifique las opciones de compilación en las cuales es posible hacerlo.
Compruebe con las herramientas Administrador de tareas y/o tasklist de Windows.
/* Programa que reserva memoria de acuerdo al tipo de dato que se declare, el programa regresa la dirección inicial del espacio de memoria */
#include< stdio.h >
#include< stdlib.h >
define NULL 0
main()
{
char *buffer;
/*Alojando memoria*/
if((buffer=(char *) malloc(20))==NULL)
{
printf(“Fallo reservar memoria con Malloc \n”);
exit(1);
}
printf(“Se creo un espacio de memoria (buffer) de tamaño %d bytes \n,_msize(buffer));
strcpy(buffer,”Practica 4”);
printf(“\nEl Buffer contiene:%s\n”,buffer);
/*Realojamiento*/
if((buffer=(char *)realloc(buffer,15))==NULL)
{
printf(“Reubicamiento fallido\n”);
exit(1);
}
printf(“\nSe modifico el Buffer de tamaño.\n”);
printf(“\nEl Buffer aun contiene: %s\n”,buffer);
strcpy(buffer,”Dinero y Felicidad”);
printf(“\nEl Buffer ahora contiene:%s\n”,buffer);
/*liberando la memoria*/
free(buffer);
}
2 /3
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD CULHUACAN
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN
Bibliografía:
1.
Salas Parrilla, Jesús. “Sistemas Operativos y Compiladores”
Mc Graw-Hill Interamericana de España. 1992. España.
2.
Milenkovic, Milan Sistemas Operativos, conceptos y Diseño.
Mc Graw Hill, 1988, España.
3.
Tanenbaum, Andrew S. Sistemas Operativos Modernos
Prentice Hall Hispanoamericana 1993, México.
4.
Tanenbaum, Andrew S. Sistemas Operativos Distribuidos
Prentice Hall Hispanoamericana 1996, México.
5.
Flynn, Ida M. y McHoes, Ann McIver, Sistemas Operativos 3a Ed.
International Thomson Editores, 2001, México.
6.
Silverschatz, Abraham; Gagne, Greg y Galvin, Peter Baer. Operating Systems Concepts 7th Ed.
John Wiley & Sons, 2005, U. S. A.
3 /3

Documentos relacionados