[OSy] Second extended assignment - nejasnosti

AT tt.teichmann at gmail.com
Wed Nov 8 18:44:39 CET 2017


Mám doplňující otázku k předchozí otázce (ASID): Píšete
>  Zrušením daného VASu se uvolňuje jeho ASID.
Jak poznáme, že se má VAS zrušit? Úloha pro to nedefinuje žádné API, v
ukázkové implementaci se to vůbec neděje. Předpokládám, že naším
úkolem není přepisovat funkci thread_finish či nějakou jinou.

2017-11-08 9:51 GMT+01:00 Vojtech Horky <horky at d3s.mff.cuni.cz>:
> Dne 8.11.2017 v 09:26 Roman Firment napsal(a):
>>
>> Este k tomu poslednemu bodu:
>>
>> * je postacujuce v implementacii pridelovania ASIDov pouzit indexovane
>> pole pripadne bitovu mapu?
>
> Ano, bitmapa je celkem rozumné řešení.
>
> Pokud by úloha nebyla hodnocena binárně, tak by určitě byly body navíc za
> bitmapu, kde je hledání volného bitu stylem next-fit, tj. neprohledávat vždy
> od úplného začátku.
>
> - VH
>
>>
>> Roman Firment
>>
>> 2017-11-08 8:40 GMT+01:00 Vojtech Horky <horky at d3s.mff.cuni.cz
>> <mailto:horky at d3s.mff.cuni.cz>>:
>>
>>
>>     Dobrý den.
>>
>>     Dne 7.11.2017 v 21:03 Roman Firment napsal(a):
>>
>>         * kedy sa maju alokovat fyzicke ramce? V case ked vznika vma
>>             alebo az v handleri vynimky TLB Refill Exception, pripadne
>>         inde. Ak az
>>             v handleri, tak co znamena ENOMEM (nedostatok fyzickej,
>>         virtualnej pamati?) pri
>>             volani vma_vmap?
>>
>>     Už při volání vma_map().
>>
>>     Pokud byste to volání odložil do refillu (něco jako Linux se
>>     zapnutým overcommitem), mohla by dojít paměť (až později) a nebylo
>>     by jak tuto chybu rozumně signalizovat zpět. Pokud byste tedy
>>     nechtěl implementovat nějaký swapping a spol. :-)
>>
>>
>>
>>         * moze nastat situacia, ze funkcia vma_map alebo vma_unmap bude
>>         vykonavana
>>             v inom mode nez kernelovskom?
>>
>>     Ne, userland k ní přístup nemá.
>>
>>
>>         * frame alokator v kaliste pouziva iba ramce zo spodnych 512mb.
>>         Malloc pouziva
>>             tento frame alokator. Vsetky struktury potom budu nutne
>>         lezat v tomto segmente.
>>             Nieje to problem?
>>
>>     Pro účely cvičení to nevadí, jde o záměrné zjednodušení.
>>
>>
>>     Frame alokátor má rozhraní připravené na podporu alokace rámců i z
>>     dalších segmentů (VF_AT_* flagy). Takže pokud funkce pro namapování
>>     paměti vidí, že k paměti bude nutné přistupovat skrz TLB, měla by
>>     preferovat alokaci z oblasti nad 512M, protože těch spodních 0.5G je
>>     "cennějších". Nicméně, námi dodaný frame alokátor podporuje pouze
>>     Vámi zmiňovaných 512M, takže toto není nutné implementovat.
>>
>>     Ještě pro úplnost - skrz TLB lze přistupovat i k identicky mapované
>>     paměti, takže funkčnost TLB otestovat půjde.
>>
>>
>>         * len pre istotu, ak nemusime implementovat ziadne dynamicke
>>         priradzovanie asid-ov
>>             a pocet vmm je omezeny poctom validnych asid-ov, tak nam
>>         staci pouzivat jednoduche
>>             inkrementovanie globalnej premennej ako je tomu v povodnej
>>         implementacii kalista.
>>             Alebo je ten pocet omezeny iba v jednom okamihu?
>>
>>     Druhá možnost. Při vytvoření VAS se očekává, že rovnou dostane
>>     přiřazený ASID, který je platný po celou dobu jeho existence.
>>     Zrušením daného VASu se uvolňuje jeho ASID.
>>
>>     Čili v jednom okamžiku může existovat max 255 VASů (resp. pokud
>>     potřebujete nějaký ASID si vyčlenit pro speciální účely v rámci
>>     kernelu, je ok podporovat "jen" 254).
>>
>>
>>     Dává to takhle smysl?
>>
>>     - VH
>>
>>     _______________________________________________
>>     OSy mailing list
>>     OSy at d3s.mff.cuni.cz <mailto:OSy at d3s.mff.cuni.cz>
>>     https://d3s.mff.cuni.cz/mailman/listinfo/osy
>>     <https://d3s.mff.cuni.cz/mailman/listinfo/osy>
>>
>>
>>
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at d3s.mff.cuni.cz
>> https://d3s.mff.cuni.cz/mailman/listinfo/osy
>>
>
>
> _______________________________________________
> OSy mailing list
> OSy at d3s.mff.cuni.cz
> https://d3s.mff.cuni.cz/mailman/listinfo/osy




More information about the NSWI004 mailing list