Re: WABI

Autor: Jarek Lis (lis_at_cyber.ict.pwr.wroc.pl)
Data: Tue 13 Sep 1994 - 20:37:55 MET DST


Andrzej Marecki (amarecki_at_mpifr-bonn.mpg.de) wrote:

  Nie bedac ekspertem w dziedzinie MS Windows (tych kilka napisanych programow
i troche debuggingu) i bedac kompletnym ignorantem w zakresie budowy SUN
troche moge mimo wszystko wyjasnic.

: To ja moze zapytam jeszcze lopatologiczniej. Co _w ogole_ zawieraja takie
: pliki jak winword.exe? Co oznaczaja bajty, z ktorych sie skladaja.
: Czy sa to:

: 1. Kody instukcji x86?
: 2. Jakis metakod, ktory jest interpretowany przez srodowisko, w ktorym
: program sie wykonuje: obojetnie czy MS Windows, czy WABI?

taki winword.exe zawiera sporo smieci (ikony, teksty, definicje okienek
dialogowych, smieszny programik i nstrukcjach X86 pod DOS ktory wypisuje
this program requires microsoft ....) zawiera procedury (zlozone z rozkazow
x86, ostatnio coraz czesciej X>=2 czasem X>=3 a nalezy sie spodziewac X>=4)
ktore sa wywolywane przez MS Windows oraz same wywoluja procedury Windows.

  W starych dobrych czasach p. Roland Waclawek (o ile mnie pamiec nie myli)
pisal, ze zaprzeszla wersja (jeszcze DOS'owa) bodajze WordPerfekt byla
w wiekszosci napisana pseudokodem. Ale oczywiscie w pliku exe byl emulator
tego psedokodu, a sam emulator byl zlozony z instrukcji 8086.

  Obecnie stawialbym raczej na to, ze program zostal napisany od poczatku w C
(dotyczy prawie kazdegoprogramu).

: I dalej:

: 3. Jesli w aplikacji Windowsowej jest mnozenie dwoch liczb, to
: w jakim jezyku jest sformulowane to zadanie? Czy jest to hardware'owe
: mnozenie w sensie x86, czy cos innego? Jesli to pierwsze, to co
: z tym fantem zrobi WABI?

   Mnozenie to moze zly przyklad, bo jak wyglada realizacja mnozenia zmienno-
przecinkowego pod emulatorem w Windows, to niestety nie wiem.
   Ale jesli trzeba powiekszyc o jeden jakas liczbe calkowita, to na 99%
zostanie uzyty rozkaz x86 o nazwie INC. W pozostalych przypadkach mozna sie
spodziewac innej kombinacji rozkazow, ale ciagle x86.

: 4. Wiadomo ze, ze aplikacje Windowsowe zawieraja odwolania do API.
: W jakim jezyku wyrazone sa te odwolania?

   Po zaladowaniu do pamieci sa to rozkazy x86 wrzucajace na stos argumenty
oraz rozkaz CALL + odpowiedni adres. W pliku winword.exe to boje sie twierdzic
cokolwiek.

: 5. Co robi WABI, gdy dostanie "na zab" aplikacje MS Windows? Prosze o opis
: step-by-step. Co kolejno dzieje sie z napotkanymi tam bajtami? Zwlaszcza
: z tymi, ktore nie sa odwolaniami do API. Bo nie uwierze, ze aplikacje
: windowsowe to tylko ciag instrukcji call API1, call API2...

 Ironicznie: A nawet jesli to sa same CALL APIx, to ten rozkaz call
   nie jest przypadkiem na x86? A SUN cholernie dobrze daje sobie rade z
   nastepujacym dalej segmentem i adresem.

  A troche bardzie naukowo (skutki borykania sie z jezykiem FORTH): samym
   wywolywaniem procedur nie da sie zapisac nietrywialnego programu.
  Musza byc jeszcze instrukcje warunkowe i skoki. Poza tym wywolania API
  maja swoje parametry - tez trzeba z nimi cos zrobic.

: A w ogole to moze nam sie rozjasni, jesli ktos z PT guru SUN-a
: odpowie na takie "paralelne" pytania:

: 1. Czy np. plik /usr/openwin/bin/xview/xterm, to SPARC binary, SunOS binary
: czy OpenWin binary? Ja wiem ze prawdziwa jest ta ostatnia odpowiedz,
: ale na ile prawdziwe sa poprzednie dwie? W koncu...
: 2. ...magic number w/wym pliku (0x8103010b) jest taki sam jak kazdego
: pliku, ktory moze sie wykonywac pod SunOS na byle "dumb" terminalu,
: a nie pod OpenWin. Wiec to chyba jednak SunOS binary?

  Hm. Przed chwila co prawda uruchomilem xterm, ale to bylo spod tcsh
ktore bylo uruchomione przez openWin (a moze przez tvm spod OpenWin).
Uruchomiony bez OpenWin xterm zwraca Error: Can't open display.

: 3. A dalej co zawiera ten plik: kody procesora SPARC czy jakis metakod?

: Zaciekawiony

: A. Marecki

Aby podniesc temperature dyskusji: na swiecie sprzedaje sie ostatnio
pakiet SoftWindows. Generalnie robi to samo co WABI, tylko lepiej (podobno).

fragment reklamy:
compatible applications: WABI - 13
                          SoftWindows - thousands.

Jaroslaw Lis

+------------------------------------------------------------------------+
| E-mail (Internet): | Institute of Engineering Cybernetics |
| jjlis_at_ict.pwr.wroc.pl | Technical University of Wroclaw |
+---------------------------------+--------------------------------------+



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 15:45:55 MET DST