Table of Contents

Uživatelský paměťový alokátor pro OS NOVA

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í.

Domácí příprava

Pro toto cvičení budete potřebovat:

Zadání úlohy

Implementujte jednoduchý alokátor paměti pro uživatelský prostor OS NOVA. Váš alokátor bude nabízet implementovat funkce my_malloc a my_free s následujícími prototypy:

void *my_malloc(unsigned int size)
int my_free(void *address)

Pro získání 4 bodů budou od alokátoru budou očekávány následující vlastnosti:

Pro získání 8 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 z minulého cvičení. Můžete ho vytvořit pomocí následující řádky z kořenového adresaře NOVY (nebo si můžete upravit pravidlo hw11 v Makefilu):

zip hw11.zip kern/src/ec_syscall.cc user/mem_alloc.cc