[pso] tema4 windows

Razvan Deaconescu razvand at cs.pub.ro
Fri Jun 22 14:13:11 EEST 2007


Ghervase Gabriel wrote:
> Salut
>  
> Am cateva probleme cu tema asta.
>  
> 1)Ce rost are linia system(route delete 0.0.0.0 <http://0.0.0.0> etc.) 
> din test.c??
>    Daca se executa linia asta, nu mai merge ping-ul la OUTSIDE_IP
>    Imi spune destination host unreachable.Evident ca nu mai merge nimic 
> dupa asta.
>    Am vazut ca a mai avut cineva problema asta.
>    Are cineva vreo idee?

Existau niste probleme cu comunicatia intre masina virtuala si sistemul 
gazda, lucru rezolvat prin eliminarea pachetelor cu sursa specifica 
interfetei de loopback (ip_src == 0x0100007f) si prin eliminarea 
pachetelor care vin de altundeva in afara retelei.

Comanda de mai sus elimina ruta implicita si, deci, orice pachete venite 
din exterior.

In mod normal ai masina virtuala si sistemul gazda in aceeasi retea si 
nu ar trebui sa ai probleme cu asa ceva. E ciudata problema ta cu 'host 
unreachable'.

Verifica inca o data IP-urile utilizate in testare si vezi daca nu 
folosesti alte adrese IP in afara de cele care conecteaza masina 
virtuala de masina gazda.

>  
> 2)Daca comentez linia asta cu route_delete, ma lovesc de problema cu 
> timerele pe windows.
>   Probabil nu am inteles eu cum sa le folosesc.
> Fara timere, sunt trecute toate testele, mai putin "no of rules" pentru 
> ca nu se mai apeleaza DPC-ul ca sa stearga din reguli.
>  
>  Cu timere (asa cum am implementat eu) obtin ecran albastru (ceva de 
> genul IRQ_LEVEL_NOT_LESS_OR_EQUAL).
>  
> Am facut asa:
> Pt. reguli dinamice, am o structura regula dinamica ce contine KTimer, 
> KDpc, regula fwr_t.
> Am nevoie de KDpc in structura deoarece vreau ca metoda asociata sa 
> primeasca in context regula ce este asociata.
> Pentru ca altfel nu stiu ce am de sters.
> Am o lista separata pentru reguli dinamice.
> De fiecare data cand adaug reguli dinamice, apelez KeInitTimer si KeInitDpc.
>  
> Apoi, apelez KeSetTimer cand am de armat/rearmat timerul.
> E vreo diferenta intre armare si rearmare?Trebuie sa apelez KeCancelTimer?
> Blue-screenul e sigur de la timere.

Este OK ce ai spus tu mai sus. Nu am inteles care e faza cu DPC-ul. Mai 
specific nu am inteles fraza: "Am nevoie de KDpc in structura deoarece 
vreau ca metoda asociata sa primeasca in context regula ce este 
asociata." Daca asta inseamna ca ai creat un DPC care se asociaza 
timer-ului in KeSetTimer pentru a rula o functie la expirarea 
timer-ului, atunci e OK.

Vezi sa nu faci operatii invalide in context DPC - gen alocare de 
memorie, lock pe un mutex/semafor sau alte operatii blocante.

> 3)Daca eu consider ca imi este suficient punctajul obtinut din teme + 
> laborator, mai trebuie sa vin la examen??

Tavi decide. Stiu ca e bine sa vii pentru a-ti afla situatia finala in 
mod oficial.

Razvan


More information about the pso mailing list