[pso] [tema1][win]Mare performanta

Razvan Deaconescu razvand at cs.pub.ro
Tue Mar 27 22:08:13 EEST 2007


omar Chouydary wrote:
> Cred ca am reusit o chestie mare de tot... nu stiu exact cum dar imi cam 
> dau seama. Tot testand ca sa vad unde am bug-uri, etc..  cred ca am 
> schimbat valoarea tabelelor, a.i. la iesire, 
> KeServiceSystemTableShadow.st si ceilalti membrii (spt, ct si ls) imi 
> pointeaza foarte aiurea...in sensul ca in ls am -2321312312312  (adika 
> ceva prost) si in .st am ceva de genul "0". Si de aici si celelalte 
> bug-uri care eu credeam ca sunt de la altceva. Am incercat cu restart al 
> windows-ului din masina virtuala, dar isi pastreaza aceste valori in 
> tabela Ke....Shadow. E normal sa faca asta? Eu credeam ca dau un restart 
> si gata, isi ia pointerii de unde trebuie. Cum isi ia WNT-ul pointerii 
> la pornire pt asta?

hmm, ultra weird ... nu ar trebui sa se intample asta ... ai scos 
modulul din kernel dupa repornire (desi nu ar trebui sa aiba legatura)?

> Asta e un citat din Windows Internals: "As you'll see in Chapter 6, each 
> thread has a pointer to its system service table" So sa inteleg de aci 
> ca fiecare thread are tabela sa ... deci ar trebui s-o ia la pornirea 
> sistemului de undeva... asta nu ma prind de unde..

Exista o singura tabela pe sistem. Adica un vector de tabele 
(KeServiceDescriptorTable) si un vector de tabele shadow 
(KeServiceDescriptorTableShadow)

> si cum de dupa 
> restart isi pastreaza valorile eronate. Mai zice ceva pe aici, ca dupa 
> ce se face primul apel din GDI sau User.dll, abia atunci se pun 
> pointerii in Shadow.. asa e?  In fine, as vrea o mica lamurire in acest 
> caz, thx.

Nu stiu sa-ti spun exact. Iti recomand doua surse de documentare:
Undocumented Windows NT: 
http://www.windowsitlibrary.com/Documents/Book.cfm?DocumentID=356 
(capitolul de adaugarea de apeluri de sistem)
sau, alternativ, modalitatea de implementarea a KeAddSystemServiceTable 
din surse: 
http://cs.pub.ro/~pso/lxr/source/base/ntos/ke/miscc.c?v=wrk-1.2#729

Razvan

P.S.: incearca sa spargi mesajele tale in paragrafe, lasa niste randuri 
libere intre idei; sunt foarte dificil de urmarit; merci


More information about the pso mailing list