[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