Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:teme:tema1-2024 [2024/03/22 20:35]
matei.mantu [Bonus (20p)]
sd-ca:teme:tema1-2024 [2024/03/27 21:24] (current)
maria.sfiraiala [Actualizări]
Line 13: Line 13:
  
   * Eliminare mesaj de eroare INVALID_COMMAND:​ **22.03.2024**   * Eliminare mesaj de eroare INVALID_COMMAND:​ **22.03.2024**
 +  * Publicare checker: **22.03.2024** 
 +  * Update checker: **26.03.2024** 
 +  * Mențiune privind obligativitatea eliminării blocurilor la alocare din vectorul de liste: **27.03.2024**
 ===== Obiective ===== ===== Obiective =====
  
Line 53: Line 55:
       - Adresele din heap vor fi în intervalul [heap_base, heap_base + heap_size).       - Adresele din heap vor fi în intervalul [heap_base, heap_base + heap_size).
     * Parametrul <​tip_reconsituire>​ va fi relevant pentru cerința FREE, găsiți mai multe detalii la secțiunea acesteia.     * Parametrul <​tip_reconsituire>​ va fi relevant pentru cerința FREE, găsiți mai multe detalii la secțiunea acesteia.
 +
 +<​note>​
 +<​adresă_start_heap>​ reprezintă un număr pozitiv, nenul.
 +</​note>​
  
 <​note>​ <​note>​
Line 219: Line 225:
 ---> Se fragmentează blocul de 16 bytes într-o parte de 6 bytes ---> Se fragmentează blocul de 16 bytes într-o parte de 6 bytes
      ce va fi alocată și o parte de 10 bytes ce rămâne liberă      ce va fi alocată și o parte de 10 bytes ce rămâne liberă
-     Se întoarce adresa ​0x0.+     Se întoarce adresa ​0x1.
 MALLOC 5 MALLOC 5
 ---> Se fragmentează blocul de 10 bytes într-o parte de 5 bytes ---> Se fragmentează blocul de 10 bytes într-o parte de 5 bytes
      ce va fi alocată și o parte de 5 bytes ce rămâne liberă      ce va fi alocată și o parte de 5 bytes ce rămâne liberă
-     Se întoarce adresa ​0x6.+     Se întoarce adresa ​0x7.
 FREE 0x7 FREE 0x7
 ---> Se alipește fragmentul de 5 bytes cu fragmentul liber de ---> Se alipește fragmentul de 5 bytes cu fragmentul liber de
Line 243: Line 249:
 ---> Se fragmentează blocul de 16 bytes într-o parte de 6 bytes ---> Se fragmentează blocul de 16 bytes într-o parte de 6 bytes
      ce va fi alocată și o parte de 10 bytes ce rămâne liberă      ce va fi alocată și o parte de 10 bytes ce rămâne liberă
-     Se întoarce adresa ​0x0.+     Se întoarce adresa ​0x1.
 MALLOC 5 MALLOC 5
 ---> Se fragmentează blocul de 10 bytes într-o parte de 5 bytes ---> Se fragmentează blocul de 10 bytes într-o parte de 5 bytes
      ce va fi alocată și o parte de 5 bytes ce rămâne liberă      ce va fi alocată și o parte de 5 bytes ce rămâne liberă
-     Se întoarce adresa ​0x6.+     Se întoarce adresa ​0x7.
 FREE 0x1 FREE 0x1
 ---> Se creează un bloc nou de dimensiune 6 bytes. ---> Se creează un bloc nou de dimensiune 6 bytes.
Line 280: Line 286:
  
   * Este **obligatorie** construirea unei implementări care folosește conceptul de **vector de liste dublu înlănțuite**.   * Este **obligatorie** construirea unei implementări care folosește conceptul de **vector de liste dublu înlănțuite**.
 +
 +  * Este **obligatoriu** să realizați eliminarea blocurilor din vectorul de liste atunci când acestea sunt alocate.
  
   * Nerespectarea acestor constrângeri va conduce la **notarea temei cu 0 puncte**.   * Nerespectarea acestor constrângeri va conduce la **notarea temei cu 0 puncte**.
sd-ca/teme/tema1-2024.1711132546.txt.gz · Last modified: 2024/03/22 20:35 by matei.mantu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0