[OSy] Testy as2
Martin Decky
decky at dsrg.mff.cuni.cz
Wed Dec 10 13:13:27 CET 2008
> Ja jsem prave presvedcen, ze ze zadani nikde jednoznacne neplyne, ze by
> vma_alloc mel pouze mapovat virtualni ramce na fyzicke.
Vazeny pane kolego,
chybu v interpretaci zadani muze asi udelat kazdy a koneckoncu take
proto existuji testy, aby zabranily odevzdani reseni, ktere vychazi ze
spatneho pochopeni zakladnich principu operacniho systemu.
Proto Vam doporucuji zamerit se nyni spise na programovani nez na
vysvetlovani toho, proc jste puvodne k mylnym zaverum dosli. Myslim si
totiz, ze pri pozornem cteni v textu zadani zadne nekonzistence nejsou a
vsude se pouzivaji stejne klicove pojmy. V utrzcich textu zadani nize
jsem se snazil klicova slova zvyraznit:
Sprava *OBLASTI* virtualni pameti zahrnuje _ALOKACI_, manipulaci a
uvolnovani *OBLASTI* [...]
*OBLASTI* se nesmi prekryvat, velikost a zacatek *OBLASTI* musi byt
ZAROVNAN na nejmensi velikost stranky [...]
vma_alloc:
Funkce _ALOKUJE_ *OBLAST* [...]
> Tedy - Funkce provede nekde nejakou alokaci ve virtualnim prostoru
> (vyhleda vhodne misto ve virtualnim adresovem prostoru) o velikosti
> daneho poctu byte (nikoliv stranek), pak nalezne stejnou oblast ve
> fyzicke pameti a az na zaver mezi nimi vytvori mapovani. Z dane vety
> zkratka necitim, ze by mapovala stranky.
Pokud dovedete mapovat neco jineho nez stranky, tak bych Vase
pochybnosti chapal. Bohuzel, na MIPSu a pravdepodobne ani zadnem jinem
existujicim procesoru nic mensiho nez stranky mapovat nelze ..
A jeste jedno dulezite upozorneni: Funkce vma_alloc() skutecne neni
"malloc pro procesy nad virtualni pameti". Kdyz si prectete zadani
3. semestralni prace, zjistite, ze alokator uzivatelskeho heapu procesu
je dalsi (tentokrat ciste uzivatelska) vrstva spravy pameti a "zije"
v OBLASTI virtualni pameti (vytvorene pomoci vma_alloc()).
M.D.
More information about the NSWI004
mailing list