[OSy] dotaz k 2. zadani - vma_alloc()

Ersin ersin at post.cz
Sun Nov 30 12:07:29 CET 2008


Dobre poledne vsem,

Napad mi prijde zajimavy, ale trpi jednou uzivatelskou neprijemnosti.

Pokud se heap alokuje hned a cely, pak ma uzivatel jistotu, ze ma alespon urcitou minimalni velikost stacku. Zatimci kdyby se pamet alokovala az pri skutecnem pristupu, uzivatel by nikdy nevedel, kdy mu program spadne - pretece mu stack, protoze ostatni programy vycerpaly pamet.

Stejne tak pokud uzivatel ve svem programu zavola malloc - tak predpoklada, ze po naalokovani uz je pamet opravdu jeho - nikoliv ze mu program spadne pri pokusu o pristup do teto (korektne naalokovane) oblasti. Sice by tomu pomohl nejaky bankeruv algoritmus, ale tim je reseni v podstate stejne jako skutecna alokace, ne?

Prijde mi proto lepsi pamet alokovat natrvdo pri volani mallocu (vma_allocu).

Ersin

> Dobry den,
> 
> chtel bych se zeptat, zda se doslovne drzet zadani fce vma_alloc(). Tam se
> uvadi, ze funkce ma alokovat a mapovat fyzickou pamet pro oblast. To se mi zda
> vhodne pro segmenty KSEG0 a KSEG1, kde je prime mapovani, ale pro ostatni
> segmenty uz tolik ne.
> 
> Predstavim si situaci, kdy proces (tedy hlavni vlakno procesu) alokuje oblast
> pro heap. Tuto oblast si muze naalokovat znacne rozsahlou, ale zdaleka ne vzdy
> ji celou vyuzije. Takze nebude potrebovat fyzickou pamet odpovidajici cele
> oblasti. Potom se mi zda vhodnejsi alokovat a mapovat fyzicke stranky az pri
> prvnim skutecnem pristupu ke strance, tzn pri cteni nebo zapisu z/do stranky (v
> obsluze TLB vyjimky).
> 
> Napadla me jeste varianta, kdy volajici muze specifikovat, zda si preje alokovat
> fyzickou pamet ihned v ramci alokace virtualni oblasti nebo zda odlozit alokaci
> fyzicke pameti az na dobu pristupu k pameti. K tomuto ucelu by se dal vyuzit
> parametr flags, pridanim dalsiho bitoveho priznaku.
> 
> Zajimalo by me tedy, jestli uvazuji spravne?
> 
> Dekuji za komentare.
> 
> Zdravi a pozdravuje
> Ondra Cerny.                                 
> 
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> 
> 
> 




More information about the NSWI004 mailing list