This shows you the differences between two versions of the page.
so2:laboratoare:lab03:exercitii [2018/03/06 23:07] anda.nicolae [3. [2.5p] Alocarea și lucrul cu memoria în kernel] |
so2:laboratoare:lab03:exercitii [2018/03/06 23:09] (current) anda.nicolae [2. [1p] Folosirea de operații blocante în context atomic] |
||
---|---|---|---|
Line 123: | Line 123: | ||
==== 2. [1p] Folosirea de operații blocante în context atomic ==== | ==== 2. [1p] Folosirea de operații blocante în context atomic ==== | ||
- | Intrați în directorul ''2-sched-spin/'' și parcurgeți conținutul fișierului ''sched-spin.c''. **Hint**: Funcția [[http://elixir.bootlin.com/linux/v4.9/source/kernel/time/timer.c?#L1697|schedule_timeout]], coroborată cu macro-ul [[http://elixir.bootlin.com/linux/v4.9/source/include/linux/sched.h?#L297|set_current_state]], forțează procesul curent să aștepte 5 secunde. | + | Intrați în directorul ''2-sched-spin/'' și parcurgeți conținutul fișierului ''sched-spin.c''. **Hint**: Funcția [[https://elixir.bootlin.com/linux/v4.15.7/source/kernel/time/timer.c#L1725|schedule_timeout]], coroborată cu macro-ul [[https://elixir.bootlin.com/linux/v4.15.7/source/include/linux/sched.h#L128|set_current_state]], forțează procesul curent să aștepte 5 secunde. |
- Compilați codul sursă într-un modul de kernel și copiați-l pe mașina virtuală, conform informațiilor de mai sus (''make build'' și ''make copy''). | - Compilați codul sursă într-un modul de kernel și copiați-l pe mașina virtuală, conform informațiilor de mai sus (''make build'' și ''make copy''). | ||
- Încărcați modulul în kernel folosind comanda ''insmod sched-spin.ko''. | - Încărcați modulul în kernel folosind comanda ''insmod sched-spin.ko''. |