[so] Intrebari pt tema 4!

George Ciobanu so@cursuri.cs.pub.ro
Thu, 9 Dec 2004 07:25:49 -0800 (PST)


--- dan stefan tacalau <ot_95_dst@yahoo.com> wrote:

> -------------------------
> "Un thread (al serverului) implementeaza una din
> urmatoarele functionalitati 
> 
> operatie de tip a (citire/scriere) 
> operatie de tip b (citire/scriere) 
> operatie de listare "
> 
> 1.Cine este operatie de tip a,  si operatie de tip b?
> (Presupun ca op de tip a este
> ReadFile/WriteFile?)(Presupun ca op de tip b este
> ReadFileEx/WriteFileEx?)


1. Pentru Windows APC-urile trebuie generate folosind ReadFileEx/WriteFileEx
(a), iar (b) prin semnalare event-uri deci ReadFile/WriteFile


> --------------------------------
> "Ordinea parametrilor trebuie respectata, intrucat
> testele fac anumite presupuneri asupra lor. "
> 
> 2.Care este ordinea? Se dau doar doua exemple vagi!
> Adica presupun ca ordinea e ceva de genul:
> usage: adr serv [-reada] [-writea] [-readb] [-writeb]
> [file] [ls] [altfile] (ceva clar pls!)


2. Citat din tema legat de sintaxa :
"
Sintaxa de rulare a serverului este :

    server thr_a thr_b thr_ls

unde

thr_a
    numarul de thread-uri ce servesc operatii de citire sau scriere de tipul a
thr_b
    numarul de thread-uri ce servesc operatii de citire sau scriere de tipul b
thr_ls
    sunt numarul de thread-uri ce servesc operatii de listare

Se va implementa de asemenea si un client, cu urmatoarea comportare:

    * Sintaxa:

	client adresa_server rd | wr a | b fisier offset len
    

      Actiune: citirea, respectiv scrierea prin metoda a sau b in fisierul
fisier len octeti incepand de la pozitia offset. Datele se vor citi de la STDIN
si se vor scrie la STDOUT.

    * Sintaxa:

	client adresa_server ls director
    

      Actiune: listarea fisierelor din directorul director la STDOUT. Formatul
listarii nu este impus, dar trebuie sa contina cel putin numele fisierelor si
dimensiunea acestora. "



> ---------------------------------------------
> 3. Intrucat se cere numar limitat de threaduri
>    a) ce se intampla cu clientii pt care nu  mai sunt
> treaduri libere( sunt pusi in asteptare? sau ignorati
> )
>    b) daca fac serverul sa trateze fiecare conexiune
> pe cat un thread separat pot sa folosesc respectivul
> thread ca thread de citire/scriere(adica dupa
> stabilirea conexiunii si aflarea tipului operatiei sa
> execute el operatia?) ... ar fi pacat ca sa se
> porneasca alt thread.
> 
> Mersi!
> 
> 
> 		
> __________________________________ 
> Do you Yahoo!? 
> Yahoo! Mail - Helps protect you from nasty viruses. 
> http://promotions.yahoo.com/new_mail
> _______________________________________________
> so mailing list
> so@cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
> 

3. Un fir de executie de tip a/b trebuie sa trateze mai multe cereri simultan.
Se poate face o limitare la un numar maxim de cereri pe thread [In acest caz
numarul maxim trebuie sa aiba aproximativ  valoarea 64 - MAXIMUM_WAIT_OBJECTS].
Cererile sunt pornite de thread-ul de acel tip. Pentru operatii de tip ls,
fiecare thread va trata cate o cerere, celelalte ramanand in asteptare.


Succes,
George



	
		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail