Ilosc pamieci RAM - jak program to sprawdza i jak to ominac

0

Jak w temacie. W jaki sposob mozna programowo sprawdzic ilosc pamieci RAM w komputerze?? Jak to jest realizowane w roznych gotowych komercyjnych programach.

Przy okazji:

Czy da sie jakos oszukac programy pod winde, zeby widzialy wiecej pamieci, niz jest w rzeczywistosci??
Przykladowo program nie chce instalowac sie na 8 MB RAM, bo instalator twierdzi, ze za malo pamieci. Ale po wlozeniu wiekszej kosci, instalacji programu i wroceniu do mniejszej kosci sam program dziala OK. Jak oszukac tego typu glupie "sprawdzacze" pamieci??

(ten muzealny przyklad to tylko tak dla wyjasnienia o co mi chodzi :&gt&gt )

0

var
MS: TMemoryStatus;
begin
GlobalMemoryStatus(MS);
Label1.Caption:=IntToStr(MS.dwTotalPhys);
Label2.Caption:=IntToStr(MS.dwAvailPhys)

wynik w bajtach oczywiście :)--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

0

Dzieki.

A jak to dziala?? To jest gotowiec, ale co on robi?? Testuje po kolei adresy 0x000000, 0x000001, 0x000002, itp. komorek pamieci czy tez bierze sobie skads juz uprzednio obliczona (przez BIOS lub OS) ilosc??

0

Tak mysle, ze to podaje wartosc ktora zarzadza OS, ale wiekszej ilosc detali nie moge podac bo niewiem, znalazlem to kiedys w przykladowym progarmiku z Delphi 3 :)--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

0

Z tego co wiem to oblicza to OS na podstawie danych o tym ile ramu wykorzystuja otwarte programy. Na 100% RAM nie jest sprawdzany bajt to bajcie bo to trwałoby za długo i powodowało bardzo duże użycie procka, a procek się aż tak nie grzeje przy sprawdzaniu ile jest wolnego ramu.--

1 użytkowników online, w tym zalogowanych: 0, gości: 1