This shows you the differences between two versions of the page.
so:laboratoare:laborator-06 [2021/04/04 10:30] maria.mihailescu [Sumar] Add summary |
so:laboratoare:laborator-06 [2022/04/13 15:14] (current) teodor_stefan.dutu [Exercițiul 3 - Detectare 'buffer underrun' folosind ElectricFence] |
||
---|---|---|---|
Line 599: | Line 599: | ||
<note> Pentru a vă ajuta la implementarea exercițiilor din laborator, în directorul ''utils'' din arhivă există un fișier ''utils.h'' cu funcții utile. </note> | <note> Pentru a vă ajuta la implementarea exercițiilor din laborator, în directorul ''utils'' din arhivă există un fișier ''utils.h'' cu funcții utile. </note> | ||
+ | |||
+ | ==== Exercițiul 0 - GSOC ==== | ||
+ | |||
+ | Google Summer of Code este un program de vară în care studenții | ||
+ | (indiferent de anul de studiu) sunt implicați în proiecte Open Source | ||
+ | pentru a își dezvolta skill-urile de programare, fiind răsplătiți cu o | ||
+ | bursă a cărei valoare [[https://developers.google.com/open-source/gsoc/help/student-stipends|depinde de țară]] | ||
+ | ([[https://developers.google.com/open-source/gsoc|pagină principală GSOC]]). | ||
+ | |||
+ | UPB se află în top ca număr de studenți acceptați; în fiecare an fiind undeva la aprox. 30-40 de studenți acceptați. | ||
+ | Vă încurajăm să aplicați! | ||
+ | |||
===== Linux ===== | ===== Linux ===== | ||
Line 666: | Line 678: | ||
<code bash> | <code bash> | ||
- | $ wget http://ro.archive.ubuntu.com/ubuntu/pool/main/e/electric-fence/electric-fence_2.2.4_i386.deb | + | $ wget http://ro.archive.ubuntu.com/ubuntu/pool/main/e/electric-fence/electric-fence_2.2.4_amd64.deb |
- | $ sudo dpkg -i electric-fence_2.2.4_i386.deb | + | $ sudo dpkg -i electric-fence_2.2.4_amd64.deb |
</code> | </code> | ||
</note> | </note> | ||
Line 770: | Line 782: | ||
Testați comportamentul programului când se fac accese de citire și scriere în aceste zone. Urmăriți comentariile cu ''TODO 1''. | Testați comportamentul programului când se fac accese de citire și scriere în aceste zone. Urmăriți comentariile cu ''TODO 1''. | ||
- | Adăugați un handler de tratare a excepțiilor care să remapeze incremental zonele cu protecție de citire și scriere la generarea excepțiilor. Astfel, dacă pagina nu are vreun drept, la page fault se va remapa cu drepturi de citire. Dacă pagina are drepturi de citire, la page fault se va remapa cu drepturi de citire + drepturi de scriere. Urmăriți comentariile cu ''TODO 2''. | + | Adăugați un handler de tratare a excepțiilor care să remapeze incremental zonele cu protecție de citire și scriere la generarea excepțiilor. Astfel, dacă pagina nu are niciun drept, la page fault se va remapa cu drepturi de citire. Dacă pagina are drepturi de citire, la page fault se va remapa cu drepturi de citire + drepturi de scriere. Urmăriți comentariile cu ''TODO 2''. |
<note important> | <note important> | ||
Line 796: | Line 808: | ||
* Care sunt cele mai importante diferențe între metoda [[https://docs.python.org/2/library/mmap.html|mmap]] din modulul de Python cu același nume și funcția [[http://man7.org/linux/man-pages/man2/mmap.2.html|nativă]] din Linux? | * Care sunt cele mai importante diferențe între metoda [[https://docs.python.org/2/library/mmap.html|mmap]] din modulul de Python cu același nume și funcția [[http://man7.org/linux/man-pages/man2/mmap.2.html|nativă]] din Linux? | ||
- | ===== Soluții ===== | ||
- | |||
- | [[http://elf.cs.pub.ro/so/res/laboratoare/lab06-sol.zip | Soluții exerciții laborator 6]] | ||
===== Resurse Utile ===== | ===== Resurse Utile ===== |