The New Cult of Dead Cow

Porque el mundo es de los malditos

Loki: Detectar RAM del Sistema

2 Commentarios

Antes que nada agradecer a mi amigo Matias Vara, por darme la orientación adecuada, a veces la solución mas simple escapa de nuestra vista por empecinar nuestros esfuerzos en callejones sin salida. Bueno el algoritmo para detectar la cantidad de RAM que dispone nuestro sistema es realmente simple. Consiste en escribir un numero cualquiera en una zona de memoria especifica, por ejemplo 2 Mb, luego leerlo y comparar si es igual entonces escribir 1 Mb mas arriba y volver a comparar en el momento que la comparación falle, ahí tenemos el limite de la memoria del sistema.
    unsigned long Manager::GetMemorySize()     {         long * border;         const long MB = 1024 * 1024;         border = (long *) (3*MB);         long i = 3;         while ( 1 == 1 )         {             *border = 123456789;             if ( *border != 123456789 )                 break;             i++;             border = (long *)(i * MB);                     }                     return i;     }
Technorati Tags: , , , ,

Written by necudeco

Posted in personal
  1. No siempre la solución mas fácil es la mejor. Ese método aparentemente tarda poco, pero ya que se trata del arranque del sistema, hay que tener un poco de cuidado creo yo. Si hubieran problemas en la memoria del equipo o si estás usando una máquina virtual, es probable que mientras haya un error de memoria o se intente agotar la Swap (En máquina virtual), el algoritmo se vuelva desesperantemente largo. Bueno... cuando estudie sistemas operativos hablaré mejor... pero es lo que pienso. Saludos,
    BrunoProg64

    http://brunoprog64.blogsome.com

  2. Por favor podrias ser mas claro en la explicacion, me gustaria enteder lo que comentas. Un saludo Matias Vara .
    Matias Vara

Leave a Reply