Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tema 2: Procese si Threaduri
- Student: Alexandru Turdean
- 1 Descrierea temei
- 1.1 Procese si Threaduri
- In aceast& tem& trebuie create procese si threaduri in Linux, a caror executie
- trebuie sincronizata. In afar de sincronizare, procesele si thread-urile voastre
- vor afisa doar céteva mesaje si se vor incheia. Sincronizarile cerute vor influneta
- ordinea in care mesajele sunt afisate.
- Pentru ca solutia voastra sa poata fi testata automat, procesele si thread-
- urile voastre trebuie sa apeleze in locul potrivit si in ordinea corecta cateva
- functii, furnizate in fisierele “a2_helper.h” si “a2_helper.c”. Pentru aceasta,
- urmatoarele cerinte trebuie satisfacute:
- 1. Procesul principal (cel care se creeaza la lansarea programului si este ilus-
- trat in Figura ?? ca P;) trebuie s& inceapa cu apelul functiei “init”, a
- carei rol este pregatirea programului pentru interactiunea cu tester-ul.
- . Toate procesele (adica atat cel principal cat si cele create explicit de pro-
- gramul vostru), trebuie sa apeleze functia “info()” la inceput si inainte de
- final, cu anumite argumente predefinite, dupa cum se ilustreaza in caseta
- de mai jos, unde se poate observa cum ar trebui sa arate codul programu-
- lui principal si al unuia dintre procesele create.
- Sample Process Code
- int main(int argc, char **argv)
- {
- // tester initialization
- // only one time in the main process
- initQ;
- // inform the tester about (main) process’ start
- info(BEGIN, process_no, thread_no) ;
- // other process’ actions
- // create a new process
- if (fork() == 0) f
- // inform the tester about process’ start
- info(BEGIN, process_no, thread_no) ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement