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

From DiLab
Jump to: navigation, search
Line 1: Line 1:
==== Uzdevums ====
====Uzdevums====
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.


N un M ir parametri.
Realizēt vienkāršu dinamiskās atmiņas izdalīšanas risinājumu.
Drukājamais burts ir pēc izvēles. Katrs pavediens var drukāt savu burtu, vai visi vienu.


Testēt un novērot gan kādā kārtībā burti tiek drukāti (ja dažādi), gan kopējo burtu skaitu.
Jārealizē:
void * myalloc(size_t size);
int myfree(void * ptr);


Iesūtīt programmas kodu un secinājumus.
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.

Revision as of 00:14, 18 March 2020

Uzdevums

Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.

N un M ir parametri. Drukājamais burts ir pēc izvēles. Katrs pavediens var drukāt savu burtu, vai visi vienu.

Testēt un novērot gan kādā kārtībā burti tiek drukāti (ja dažādi), gan kopējo burtu skaitu.

Iesūtīt programmas kodu un secinājumus.