[OSy] Funkcia malloc
Martin Decky
decky at dsrg.mff.cuni.cz
Wed Dec 20 15:55:01 CET 2006
Hezky den,
> chcel by som sa iba uistit, ze som spravne pochopil tuto cast zadania.
> Malloc mame implementovat ako funkciu beziacu v user-space (v ramci
> kniznice, s ktorou sa bude uzivatelsky program prekladat), ktora bude
> programu pridelovat pamet z baliku virtualnej pamete uz namapovanej na
> fyzicku, ktory dostal proces pri svojom vzinku. Az v pripade, ze sa tato
> pamet neustalim volanim malloc procesu minie, ma malloc zavolat syscall
> a pomocou vmalloc si vypytat dalsiu. Pojde teda o obdobu memory
> managementu, ale v uzivatelskom priestore v snahe minimalizovat
> systemove volania...
> ...a podobne pri ostatnych funkciach.
Ano, presne tak.
Zadani 3. semestralky je skutecne popis toho, co se ma implementovat
jako knihovni funkce v user space. Pochopitelne jsou situace, kdy v teto
implementaci bude potreba nejakym zpusobem vyuzit sluzeb kernelu pres
syscally -- navrh tohoto syscalloveho rozhrani je na Vas.
Jako priklad patologickeho pouziti syscallu by mohla byt implementace
funkce printf() jen pomoci syscallu volajiciho printk(). Naopak je
rozumne, kdyz samotna logika printf() bude v user space, ale pro vypis
bufferu znaku se pouzije jeden syscall (analogie pouziti kerneloveho
driveru obrazovky).
M.D.
More information about the NSWI004
mailing list