En realidad es un contrasentido tener que alojar memoria, como si la memoria no estuviera alli !!Si hablamos de S.O. modernos estas equivocado, la memoria RAM (fisica) no es la que reservas sino la memoria virtual. Y realmente no se puede decir que sea flexible un programa con arrays de tamaño fijo, independientemente del S.O. utilizado.
La flexibilidad se programa y si esperamos que el sistema operativo la provea estamos fritos.
Fijate que hay un proceso que se llama recolector de basura, el malloc se deberia llamar generador de basura.. :)
por otra parte, es cierto, conviene que los almacenamientos este en variables globales y no el la pila de parametros.
Eso muy relativo, todo depende de cuanta memoria RAM tienes en total. Con DOS tienes 640 Kb, reservar 120Kb es un abuso. En estos dias minimo tienes 512 Megas, asi que 120Kb no son nada, pero reservar 375 megas en un bloque contiguo no es para nada una buena idea. Otro factor que ayuda mucho es la programación orientada a objetos que maneja la memoria dinámicamente al crear y destruir objetos. Y aunque a alguno se le ocurra meter un "array estático" de 300 megas dentro de un objeto esa memoria será manejada dinámicamente y no en la pila. Asi aunque "sufra" :P mucho la máquina eventualmente puede ser que funcione. :rolleyes:Cita de: "pabloreda"En realidad es un contrasentido tener que alojar memoria, como si la memoria no estuviera alli !!Si hablamos de S.O. modernos estas equivocado, la memoria RAM (fisica) no es la que reservas sino la memoria virtual. Y realmente no se puede decir que sea flexible un programa con arrays de tamaño fijo, independientemente del S.O. utilizado.
La flexibilidad se programa y si esperamos que el sistema operativo la provea estamos fritos.
Fijate que hay un proceso que se llama recolector de basura, el malloc se deberia llamar generador de basura.. :)
por otra parte, es cierto, conviene que los almacenamientos este en variables globales y no el la pila de parametros.
El malloc es una funcion fundamental en cualquier S.O. moderno. Fijate que harias para cargar varios MB de informacion (incluso imagina una base de datos de un par de GB). ¿Un array fijo que ocupa la memoria todo el tiempo?
Eso muy relativo, todo depende de cuanta memoria RAM tienes en total.
El sistema operativo de la xbox parece que utiliza la memoria lineal, claro gana en velocidad, y es mas facil de programar.
Eso ya se. Lo importante es evitar reservar un bloque demasiado grande de memoria contigua tomando en cuenta cuanta RAM tienes. Si no fuera así pudieras trabajar igual con 128 de RAM o 2GB, pero no es asi, si no tienes un mínimo de RAM de acuerdo al software que tienes instalado el disco duro sufre las consecuencias.Cita de: "Amilius"Eso muy relativo, todo depende de cuanta memoria RAM tienes en total.
Independientemente del total de memoria en S.O. modernos se trabaja con direcciones virtuales que son traducidas por el microprocesador a direcciones fisicas.
alguien le pudo responder a un neofito que significaba error de proteccion general ? y que te entienda ????
La computadora se esta protegiendo de quien ? blink.gif