[OSy] Detekce velikosti a struktury pameti
Petr Tuma
petr.tuma at dsrg.mff.cuni.cz
Thu Dec 6 11:19:31 CET 2007
Dobry den,
mimochodem, jen dodatek k tomu, co uz psal pan Decky - i kdybyste
pocital max 4GB RAM a 4kB bloky, porad je to jen milion bloku, nastavit
polozku TLB a udelat dvojici zapisu a cteni by nemelo byt zase tolik
instrukci, takze i v simulatoru bychom meli stale mluvit o casech v
radech zhruba vterin, to neni tak moc ?
Nehlede na to, ze se jiste da prakticky argumentovat s tim, ze 4kB
pametove moduly uz dnes asi nikdo neprodava :-) a test rekneme po 32MB
je hned o nekolik radu kratsi ...
Petr Tuma
Michal Tuláček - iGroup.cz wrote:
> Zdravim konferenci... pred casem zde bylo mnoho mailu na tema "jak
> detekovat rozsah pameti", obsahovaly mnoho ruznych navodu apod..
>
> Jedinym univerzalnim resenim se nakonec ukazalo si pamet "otukat" a
> zjistit kam realne muzu psat...
>
> Presto... pro ucely testu, je mozne mit promennou memory_map, napr:
>
> struct MemMap {
> void* start;
> void* end;
> };
>
> struct MemMap memory_map[] = {
> {0x00021000, 0x01021000},
> {0x20000000, 0x21000000},
> {0x50000000, 0x51000000},
> {0,0}
> };
>
> s tim ze toto odpovida zaznamum v msim.conf:
>
> add rwm mem_main 0x00021000 16M
> mem_main generic
> mem_main fill 0
>
> add rwm mem_kseg1 0x20000000 16M
> mem_kseg1 generic
> mem_kseg1 fill 0
>
> add rwm mem_somewhere 0x50000000 16M
> mem_somewhere generic
> mem_somewhere fill 0
>
>
> ------
>
> tzn mame kus pameti jak mapovatelnou v KSEG0, tak v KSEG1 tak jinde.
> Problem tkvi v tom, ze otestovani celych 4GB "co tam je kde
> namapovano" pomerne dost trva... A v jednom bloku to nemam prave
> proto, aby bylo mozno s relativne malymi naroky na simulujici pocitac (tady 48MB) otestovat
> chovani napr frame_alloc na celem adresnim prostoru.
>
> Dejme tomu ze bychom do "finalni verze OS v souladu s
> rozsirenym zadanim 2" pridali realne otukani pameti (proste by to
> projelo cela ta 4GB fyzicke pameti a tu mapu by si to vymyslelo samo),
> ale vzhledem k tomu ze pokud me pamet neklame neni v zadani
> specifikovano "system pozna velikost dostupne pameti", tak bych v teto
> fazi pouzil toto reseni...
>
> Otazka tedy zni, splnuje zakladni zadani takove reseni, ktere si informace o
> dostupne pameti precte z predem definovane promenne, kterou bude nutno
> rucne zmenit v assignment-2.h v pripade ze by se menily pametove bloky v
> msim.conf?
>
>
--
Petr Tuma
Distributed Systems Research Group
Department of Software Engineering
Faculty of Mathematics and Physics
Charles University, Czech Republic
http://dsrg.mff.cuni.cz/~ceres
More information about the NSWI004
mailing list