Search
Na tomto cvičení si zkusíte implementovat alokátor dynamické paměti, který bude využívat systémové volání brk z minulého cvičení.
Pro toto cvičení budete potřebovat:
Implementujte jednoduchý alokátor paměti pro uživatelský prostor OS NOVA. Váš alokátor bude implementovat funkce my_malloc a my_free s následujícími prototypy:
extern "C" void *my_malloc(unsigned int size); extern "C" int my_free(void *address);
Tyto dvě řádky vložte na začátek vašeho souboru user/mem_alloc.cc. extern “C” zajišťuje, aby funkce šla volat jak z programů v C++, tak v C.
extern “C”
Od alokátoru budou očekávány následující vlastnosti:
user/hello.c
Nepovinně (pro plný počet bodů) budou navíc vyžadovány následující vlastnosti:
Co se odevzdává: Archiv obsahující vaši implementaci v souboru user/mem_alloc.cc a soubor kern/src/ec_syscall.cc z minulého cvičení. Můžete ho vytvořit následující řádkou z kořenového adresáře NOVY (nebo si můžete upravit pravidlo hw11 v Makefilu):
user/mem_alloc.cc
kern/src/ec_syscall.cc
zip hw11.zip kern/src/ec_syscall.cc user/mem_alloc.cc