Table of Contents

NOVA – Systémová volání a správa paměti

Na tomto cvičení se seznámíte s jádrem miniaturního OS NOVA a implementujete do něj systémové volání brk. NOVA je mikrohypervizor původně vyvíjený na TU Dresden, později ve firmě Intel a nyní převážně projektem GENODE. Na cvičeních však nebudete pracovat s kompletní verzí jádra NOVA, ale se zjednodušenou verzí pro výuku, která má pouze 2 tisíce řádek kódu.

Domácí příprava

Pro toto cvičení budete potřebovat následující:

Zadání úlohy

Implementujte systémové volání brk s prototypem:

void *brk(void *address)

Toto systémové volání nastaví konec adresního prostoru procesu (tzv. program break) na danou adresu (parametr address). Tím se zvětší nebo zmenší množství alokované paměti, které může program využívat ke svému běhu. Program break je první adresa za koncem namapovaného virtuálního adresního prostoru.

Vaše řešení by mělo splňovat následující požadavky:

Odevzdává se archiv se souborem ec_syscall.cc obsahující vaši implementaci, ideálně vytvořený pomocí

make hw10

Nápověda