Difference between revisions of "LU-LSP-b:L08"

From DiLab
Jump to: navigation, search
Line 3: Line 3:
Realizēt vienkāršu dinamiskās atmiņas izdalīšanas risinājumu.
Realizēt vienkāršu dinamiskās atmiņas izdalīšanas risinājumu.


Jārealizē:
Jarealizē:
void * myalloc(size_t size);
void * myalloc(size_t size);
int myfree(void * ptr);
int myfree(void * ptr);

Revision as of 23:12, 17 March 2020

Uzdevums

Realizēt vienkāršu dinamiskās atmiņas izdalīšanas risinājumu.

Jārealizē:

void * myalloc(size_t size);
int myfree(void * ptr);

Dots statisks atmiņas buferis ierobežotai atmiņai, ko var izmantot myalloc():

#define MY_BUFFER_SIZE 4096

unsigned char mybuffer[MY_BUFFER_SIZE];

Kļūdas vai nepietiekamas atmiņas gadījumā myalloc() atgriež NULL, un myfree() atgriež (-1);

Izmantot NextFit algoritmu brīvo atmiņas bloku meklēšanai un piešķiršanai.

Testēt dažādus scenārijus un novērtēt veiktspēju. Komentēt ari kādu metriku jūs izvēlaties veiktspējas novērtējumam, un kādus testus.

Risinājumu iesūtīt e-studijās.