This shows you the differences between two versions of the page.
so:laboratoare:resurse:recapitulare [2022/03/13 16:26] teodor_stefan.dutu [Exerciții] |
so:laboratoare:resurse:recapitulare [2022/03/14 18:02] (current) teodor_stefan.dutu [Exerciții] Rework exercise 1 |
||
---|---|---|---|
Line 3: | Line 3: | ||
Laboratorul constă în subiecte în stilul celor de la examen, însoțite de mici bucăți de cod complete sau aproape complete pe care le puteți rula pentru a vă convinge. Discuția pe marginea subiectelor cu asistentul sau cu colegii este încurajată. Subiectele sunt suficient de multe încât nu pot fi acoperite într-un singur laborator. | Laboratorul constă în subiecte în stilul celor de la examen, însoțite de mici bucăți de cod complete sau aproape complete pe care le puteți rula pentru a vă convinge. Discuția pe marginea subiectelor cu asistentul sau cu colegii este încurajată. Subiectele sunt suficient de multe încât nu pot fi acoperite într-un singur laborator. | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
- | Utilizați arhiva {{:so:laboratoare:resurse:recap.tar.gz| recap.tar.gz}} aferentă laboratorului. | ||
- | - Demand-paging, Copy-on-Write. Intrați în directorul ''01-cow-dp''. | + | - Demand-paging, Copy-on-Write. Intrați în directorul ''01-cow''. |
- | * Rulați comanda:<code> | + | * Rulați comanda ''make'' și rulați executabilul creat: ''cow''. |
- | make && make run | + | * **Explicați** când au loc evenimentele de Demand-paging și de Copy-on-Write. |
- | </code> | + | * De ce scrierea efectuată de procesul copil în paginile alocate de părinte dureaza mult mai mult decât citirile? |
- | * **Explicați** apariția evenimentelor de Demand-paging și de Copy-on-Write. | + | |
- | * Pentru testare, utilizați fișierele: ''fault/fault'' și ''fault2/fault''. | + | |
- | * De ce la ultima pagină din buffer (din fișierul ''fault/fault'') nu se mai face Demand-paging? | + | |
- | * **Hints**: | + | |
- | * paginile **gri** reprezintă pagini muliple nemapate reprezentate într-un interval | + | |
- | * paginile **verzi** reprezintă pagini ce aparțin unui singur proces | + | |
- | * paginile **roșii** sunt pagini partajate de cel puțin două procese | + | |
- | * la **click** pe o pagină se centrează pagina respectivă și toate paginile legate de ea | + | |
- | * după ce a a apărut un eveniment de tipul Copy-on-Write **un** click duce la pagina la care este mapată acum, **următorul** click va duce la pagina veche la care era mapată | + | |
- Subsistemul IO. Intraţi în directorul ''02-io'' şi inspectaţi fişierul ''splice.c''. | - Subsistemul IO. Intraţi în directorul ''02-io'' şi inspectaţi fişierul ''splice.c''. | ||
* Închipuiţi-vă scenariul în care programul rulează repede şi un alt scenariu în care rulează greu (din punctul de vedere al timpului). | * Închipuiţi-vă scenariul în care programul rulează repede şi un alt scenariu în care rulează greu (din punctul de vedere al timpului). |