This shows you the differences between two versions of the page.
so:laboratoare:laborator-03 [2021/03/16 12:06] maria.mihailescu [Exercițiul 2 - Tiny-Shell on Windows] Update instructions for lab 03 |
so:laboratoare:laborator-03 [2022/03/02 09:31] (current) teodor_stefan.dutu [Exercițiul -1 - GSOC] Replace with Stagii pe bune |
||
---|---|---|---|
Line 864: | Line 864: | ||
===== Sumar ===== | ===== Sumar ===== | ||
- | ^**Operație** ^**Linux** ^**Windows** ^ | + | ^ **Operație** ^ **Linux** ^ **Windows** ^ |
- | |Crearea unui proces|[[#crearea_unui_proces_in_linux| fork() ]]|[[#crearea_unui_proces_in_windows| CreateProcess() ]]| | + | | Crearea unui proces | [[#crearea_unui_proces_in_linux | fork() ]] | [[#crearea_unui_proces_in_windows| CreateProcess() ]] | |
- | |Așteptarea terminării unui proces |[[#asteptarea_terminarii_unui_proces_in_linux| wait()]], [[#asteptarea_terminarii_unui_proces_in_linux| waitpid()]]| [[#asteptarea_terminarii_unui_proces_in_windows | WaitForSingleObject()]] | | + | | Așteptarea terminării unui proces | [[#asteptarea_terminarii_unui_proces_in_linux| wait()]], [[#asteptarea_terminarii_unui_proces_in_linux| waitpid()]] | [[#asteptarea_terminarii_unui_proces_in_windows | WaitForSingleObject()]] | |
- | |Înlocuirea imaginii unui process | [[#inlocuirea_imaginii_unui_proces_in_linux | exec() ]] | - | | + | | Înlocuirea imaginii unui process | [[#inlocuirea_imaginii_unui_proces_in_linux | exec() ]] | - | |
- | |Terminarea unui process | [[#terminarea_unui_proces_in_linux| exit()]] | [[#terminarea_unui_proces_in_windows| ExitProcess() ]] | | + | | Terminarea unui process | [[#terminarea_unui_proces_in_linux| exit()]] | [[#terminarea_unui_proces_in_windows| ExitProcess() ]] | |
- | |Moștenirea descriptorilor de fișier |[[#mostenirea_descriptorilor_de_fisier_dupa_operatii_forkexec | dup() + exec() ]] |[[#mostenirea_handle-urilor_la_createprocess | CreateProcess() ]] care are câmpul ''bInheritHandle'' al structurii ''SECURITY_ATTRIBUTES'' setat pe ''TRUE'' | | + | | Moștenirea descriptorilor de fișier | [[#mostenirea_descriptorilor_de_fisier_dupa_operatii_forkexec | dup() + exec() ]] | [[#mostenirea_handle-urilor_la_createprocess | CreateProcess() ]], care are câmpul ''bInheritHandle'' al structurii ''SECURITY_ATTRIBUTES'' setat pe ''TRUE'' | |
- | |Variabile de mediu |[[#variabile_de_mediu_in_linux | getenv()]], [[#variabile_de_mediu_in_linux | setenv()]] | [[#variabile_de_mediu_in_windows |GetEnvironmentVariable() ]], [[#variabile_de_mediu_in_windows | SetEnvironmentVariable() ]]| | + | | Variabile de mediu | [[#variabile_de_mediu_in_linux | getenv()]], [[#variabile_de_mediu_in_linux | setenv()]] | [[#variabile_de_mediu_in_windows |GetEnvironmentVariable() ]], [[#variabile_de_mediu_in_windows | SetEnvironmentVariable() ]] | |
- | |Pipe anonim |[[#pipe-uri_anonime_in_linux | pipe()]] |[[#pipe-uri_anonime_in_windows | CreatePipe() ]] | | + | | Pipe anonim | [[#pipe-uri_anonime_in_linux | pipe()]] | [[#pipe-uri_anonime_in_windows | CreatePipe() ]] | |
- | |Pipe cu nume |[[#pipe-uri_cu_nume_in_linux | mkfifo()]] |[[#pipe-uri_cu_nume_in_windows | CreateNamedPipe() ]] | | + | | Pipe cu nume | [[#pipe-uri_cu_nume_in_linux | mkfifo()]] | [[#pipe-uri_cu_nume_in_windows | CreateNamedPipe() ]] | |
Line 904: | Line 904: | ||
<note tip>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 tip>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 -1 - GSOC ==== | + | ==== Exercițiul 0 - Stagii pe bune ==== |
- | 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! | + | |
+ | [[https://stagiipebune.ro/students/jobs/|Stagii pe bune]] este o platformă de internshipuri care vrea să ușureze și să uniformizeze procesul prin care puteți aplica la companii din România (București, Iași, Cluj și Timișoara). Facultatea de Automatică și Calculatoare are un parteneriat cu Stagii pe bune și vă încurajăm să le folosiți platforma pentru a aplica la internshipuri! | ||
+ | Stagii pe bune organizează și evenimente de prezentare a celor mai mari companii din România. Pentru a fi la curent cu acestea, urmăriți și anunțurile postate de Stagii pe bune pe [[https://www.facebook.com/stagiipebune|Facebook]]. | ||
===== Linux ===== | ===== Linux ===== | ||
Line 1119: | Line 1111: | ||
</code> | </code> | ||
- | |||
- | ===== Soluții ===== | ||
- | |||
- | [[http://elf.cs.pub.ro/so/res/laboratoare/lab03-sol.zip | lab03-sol.zip]] | ||