[so] Tema 3 Linux test check_ram_poison

Stefan Bucur stefan.bucur at gmail.com
Sun May 4 13:19:57 EEST 2008


2008/5/4 Alexandra Gherghina <alexandra.gherghina at yahoo.com>:
> Buna!
> Am incercat sa implementez tema 3 si imi pica doar testul check_ram_poison:
> check=1 poison_count=0
> test: check_ram_poison............................................failed
> Poate cineva sa-mi explice ce verifica exact check_ram_poison sau de unde poate veni bug-ul?
> Multumesc!
> Alexandra G.
>

You mean, the "infamous" check_ram_poison :P Testul asta ne-a dat si
noua multa bataie de cap, pe semestrul trecut :), iar concluzia a fost
urmatoarea: atunci cand aloci o noua pagina (primul SEGV la citire pe
pagina respectiva), trebuie sa copiezi in memoria virtuala mapata de
tine cu mmap() continutul paginii de RAM (din fisierul care simuleaza
RAM-ul) pe care ai alocat-o in pozitia respectiva. Astfel vei putea
simula citirea dintr-o memorie RAM neinitializata (simulata prin acel
poison). Desi pare ciudat la prima vedere, este o simulare destul de
corecta, pentru ca la orice moment din timp, paginile din memoria ta
virtuala trebuie sa aiba ca suport memoria RAM, iar atunci cand aloci
pentru prima data o pagina, continutul paginii respective va fi,
evident, continutul memoriei RAM.

Pentru mai multe detalii si discutii mai aprinse, poti consulta arhiva
listei de discutii:
http://cursuri.cs.pub.ro/pipermail/so/2008-January/009526.html
(urmareste tot thread-ul).

Stefan Bucur


More information about the so mailing list