[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