[so] [Tema3] Test vm_free

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sat Apr 23 18:01:40 EEST 2011


On 04/23/2011 05:28 PM, Victor Carbune wrote:
> 2011/4/23 Cosmin Stefan-Dobrin <cosminstefanxp at gmail.com>:
>> Salut,
>>
>> Pai tu iti mentii o asociere interne intre fiecare start address al fiecarei
>> alocari si restul informatiilor (printre care si handle-urile fisierelor),
>> asa cum zice si in cerinta.
>>
>> Cand iti vine o cerere de free, cauti adresa pentru a vedea la care alocare
>> se refera si faci ce mai trebuie facut (avand toate informatiile salvate).
>
> De acord, workaround-ul e simplu de făcut, dar comentariul funcției
> zice altceva.

Îmi cer scuze. A fost o inconsecvență pe care am corectat-o acum[1].

> Și dincolo de comentariul funcției, n-ar fi mai ok să primeșți
> vm_map_t * decât să cauți în lista ta internă de asocieri structura
> care are un pointer către start-ul dat ca parametru?

Decizia de design a fost următoarea: un astfel de simulator îți
transmite ca argument o adresă mapată. Testul are nevoie de fișiere
pentru verificări. În mod obișnuit, chiar vm_alloc ar trebui să întoarcă
doar o adresă de memorie.

Versiunea fostă a temei avea două funcții get_ram_handle și
get_swap_handle care confereau funcției vm_alloc forma indicată de mai
sus. Am decis să simplific header-ul și să complic antetul funcției
vm_alloc.

În mod obișnuit, un astfel de simulator ar ține ascunse informațiile
legate de fișiere (e treaba lui), iar apelul vm_free ar avea interfața
actuală. Am ales un compromis între "tester-friendly" și "realism" cu
accent mai mare pe partea de "realism" (fără a fi complet).

Răzvan

[1] http://elf.cs.pub.ro/so/res/teme/tema3-util/vmsim.h


More information about the so mailing list