[pso] [tema1][win]Mare performanta

omar Chouydary chouydary at yahoo.com
Wed Mar 28 21:55:46 EEST 2007


Thx... windows-ul asta ma uimeste pe zi ce trece. Nici nu-mi trecea prin cap ca sunt schimbate adresele in wrk si in versiunea obisnuita. Intr-adevar de la asta era, get_shadow pune la Ke... -2 pe cand in wrk la adresa aia nu e nimic :(
  Ma gandeam ca daca tot lucram la sistemul de operare, sa lucram pe cel pe care avem sursele, dar se pare ca nu e o idee stralucita :).
  Thx de informatie. 

Razvan Deaconescu <razvand at cs.pub.ro> wrote:
  omar Chouydary wrote:
> Tocmai mi-am "resetat" masina virtuala de windows, in sensul ca am luat 
> din nou arhiva si am pus-o de la 0, doar mi-am copiat codul sursa in ea, 
> si am facut un mic test, sa vad daca de data asta adresa e buna, dar...
> In .st si .ls am urmatoarele rezultate in tabla K..Shadow fata de Ke...:
> k..->ls = 296
> k...->st = 80831b40 (deci ambele bune)
> In schimb pt shadow:
> kS..->ls = -2138441784
> kS...->st = 0 (deci null)
> (evident am initializat cu get_shadow() inainte tabela Shadow)
> So ceva e foarte ciudat... daca .st de la shadow e NULL?? cum se 
> apeleaza acele servicii sistem, mai tare... cum facem noi sa retinem 
> fostele apeluri sistem din shadow?
> 
> De asemeni, daca facem cum zicea dl. profesor, cel putin la mine imi 
> apare acel maret ecran BSOD din cauza ca am atat Ke... cat si Ke..Shadow 
> pointand catre acelasi pointer( adica daca copiez sa zicem din new_st 
> (noua mea tabela pt .st) in Ke.. si KeShadow)

Nu ar trebui sa fie nici o problema sa puncteze campul st din Ke... si 
Ke...Shadow catre aceeasi tabela.

> Any ideeas pls?

Tocmai am discutat azi la laboratorul cu Catalin Morosan. El a avut o 
problema la o tema care si pe mine m-a lasat un pic rece cand am 
vazut-o. Intr-un tarziu si-a dat seama de ce o patea. El rula de pe 
kernel-ul compilat de noi.

ATENTIE: kernel-ul ala e un model ca sa se vada functional un kernel 
compilat de Windows; din pacate, NU este acealasi kernel cu cel care 
este nativ pe Windows 2003 SP1; asta inseamna ca este o deosebire

deosebirea care ataca direct tema1 este ca, din motive necunoscute, s-a 
inversat ordinea celor doua tabele; in sursele kernel-ului (adica ce am 
compilat noi), avem prima Ke... si pe urma Ke...Shadow: 
http://cs.pub.ro/~pso/lxr/source/base/ntos/ke/kernldat.c?v=wrk-1.2#195
pe cand, daca folositi livekd pe kernel-ul initiakl (nu cel compilat de 
noi), veti observa ca ordinea e inversata:

kd> dd nt!KeServiceDescriptorTable
808a83a0 808278fc 00000000 00000128 8080374c
808a83b0 00000000 00000000 00000000 00000000
808a83c0 00002730 bf89c24d 00000000 00000000
808a83d0 f9ddb4c0 817cc9f8 81611a20 81611a20
808a83e0 00000000 00000000 019c39b0 00000000
808a83f0 e798f4f0 01c75936 00000000 00000000
808a8400 00000000 00000000 00000000 00000000
808a8410 00000000 00000000 00000000 00000000
kd> dd nt!KeServiceDescriptorTableShadow
808a8380 808278fc 00000000 00000128 8080374c
808a8390 bf9a3000 00000000 00000299 bf9a3d08
808a83a0 808278fc 00000000 00000128 8080374c
808a83b0 00000000 00000000 00000000 00000000
808a83c0 00002730 bf89c24d 00000000 00000000
808a83d0 f9ddb4c0 817cc9f8 81611a20 81611a20
808a83e0 00000000 00000000 019c39b0 00000000
808a83f0 e798f4f0 01c75936 00000000 00000000

(decupat din solutia pentru laboratorul 1: 
http://cs.pub.ro/~pso/index.php?section=Laboratoare&file=01.%20Introducere#Solutii)

Daca cineva a mai incercat asa ceva sa stie ca e posibil sa apara 
inconsistente - NU folositi kernel-ul compilat de noi la lucrul cu 
temele - cu atat mai mult la lucrul cu tema 1; o sa adaug chestia asta 
si la FAQ; nu ne-am dat seama ca o sa fie folosit modulul compilat de 
noi pentru realizarea temelor.

Razvan
_______________________________________________
pso mailing list
pso at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso


 
---------------------------------
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20070328/f4a07468/attachment-0001.html


More information about the pso mailing list