Quiz:Laboratoare:Procese

{ Prin ce diferă mecanismele de creare a proceselor in Linux/Windows? - în Windows nu se pot redirecta stream-urile standard ale procesului copil + în Windows nu se poate separa momentul creării procesului copil de încărcarea programului ce se doreşte rulat - fork nu eşuează niciodată - în Linux procesele părinte şi copil împart acelaşi spaţiu de adrese
 * type=""}

{ Câte procese vor exista la finalul urmatoarei secvenţe? - 3 - 6 + 8 - 12
 * type=""}

{ Care este motivul pentru care secvenţa de mai jos afisează de două ori şirul DONE? - fork eşuează - programele părinte şi copil au o execuţie normală şi ambele ating apelul printf - buffer-ul intern folosit de printf rămâne umplut în procesul copil + execl eşuează
 * type=""}

{ Câţi descriptori deschişi va avea fişierul file.txt in urma secvenţei de mai jos (presupunând că apelurile se realizează cu succes)? + 4 - 3 - 2 - 1
 * type=""}

{ Ce setări trebuie realizate în Windows pentru ca un handle de fişier să poată fi moştenit în procesul copil? - este suficient ca fişierul să fie deschis cu atributul de securitate bInheritHandle setat pe TRUE</tt> - este suficient ca parametrul bInheritHandles</tt> al functiei CreateProcess</tt> să fie setat pe TRUE</tt> + sunt necesare ambele setări de mai sus - orice handle poate fi moştenit în mod implicit
 * type=""}

{ Ce puteţi spune despre vizibilitatea variabilei de mediu MYVAR</tt> in procesul copil? - nu este niciun moment vizibilă - este vizibilă doar până la înlăturarea ei de către părinte, prin al doilea apel SetEnvironmentVariable</tt> + este vizibilă pe tot parcursul execuţiei copilului - este vizibilă doar dacă CreateProcess</tt> are parametrul bInheritHandles</tt> setat pe TRUE</tt>
 * type=""}

{ Un proces iniţializează un pipe anonim, creează un copil căruia îi trimite date prin intermediul pipe-ului, după care aşteaptă terminarea lui. Care este cea mai probabilă cauză a blocării proceselor? + părintele a închis capătul de scriere, dar copilul nu - părintele a închis capătul de citire, dar copilul n-a închis capătul de scriere - ambii au închis capătul de scriere - ambii au închis capătul de citire
 * type=""}

{ Ce trebuie făcut în Windows pentru ca un server de named pipe să poată întrebuinţa simultan mai multe instanţe ale aceluiaşi pipe? - un apel CreateNamedPipe</tt> şi mai multe apeluri ConnectNamedPipe</tt> + mai multe apeluri CreateNamedPipe</tt> şi câte un apel ConnectNamedPipe</tt> aferent - mai multe apeluri CreateNamedPipe</tt> şi un apel ConnectNamedPipe</tt> - un apel CreateNamedPipe</tt> şi un apel <tt>ConnectNamedPipe</tt>
 * type=""}