[OSy] Zadani 2. semestralky

Jiri Tousek jiri.tousek at gmail.com
Mon Nov 13 15:07:39 CET 2006


Dobry den, mame par dotazu k zadani:

>      Adresy v segmentech KUSEG, KSSEG a KSEG2
>      jsou mapovany do fyzicke pameti pres TLB, pricemz segmenty KUSEG resp.
>      KSSEG jsou analogii segmetu USEG resp. SSEG v uzivatelskem rezimu resp.
>      rezimu supervizora. Adresy v segmentech KSEG0 a KSEG1 jsou mapovany do
>      fyzicke pameti primo (pouze odectenim pocatecni adresy segmentu).

Myslim, ze v prvni radce je preklep, melo by tam byt KSEG3 misto KSEG2
(KSSEG == KSEG2). Je moje domnenka spravna?

>      * int vmalloc (
>            void ** from, const size_t size, const unsigned int flags)
>
>        ...
>
>        Vraci EOK pokud byla pamet alokovana a namapovana, EINVAL pokud
>        nebylo mozne alokovat oblast se zacatkem na adrese @from v danem
>        segmentu virtualniho adresoveho prostoru procesoru, nebo pokud
>        @from ci @size nejsou zarovnany, ENOMEM pokud neni dostatek fyzicke
>        pameti k provedeni operace.

"pokud @from ci @size nejsou zarovnany" - znamena to, ze nami
implementovana funkce vmalloc alokuje vzdy blok pameti velikosti
zarovnane na 4kB (napr i pri alokaci jednoho intu)?



Dekuji
Jiri Tousek



More information about the NSWI004 mailing list