Re: wywlaszczanie w intelach, : 16 bitowosc win95

Autor: Grzegorz Szysz/lo (znik_at_wbc.lublin.pl)
Data: Mon 20 Apr 1998 - 22:45:48 MET DST


"Radosław Sokół" <rsokol_at_iname.com> wrote:

>> to moze mi wyjasnisz, czemu po odpaleniu kilku zadan win3.xx
>> pod OS/2 , nastepuje prawidlowe ich wywlaszczanie ? a przeciez
>> to jest 16bitowy kod. jeszcze raz. po prostu api do win95/32s
>> ma w sobie mechanizmy, ktore powoduja wywlaszczanie wymuszone
>> przez aplikacje. czyli aplikacja sama z siebie puka do systemu,
>> by oddac czas procesora.
>
>OS/2 _emuluje_ Win16 za pomocą własnych procedur, które mogą ulegać
>wywłaszczeniu. Kod samych aplikacji Win16 też może być wywłaszczany,
>bo ma zawsze swoje zmienne (w Win 3.x też mógłby być) dopóki nie
>załaduje się dwóch instancji tej samej aplikacji. Nie jest moim
>problemem, że emulacja Win16 w OS/2 jest lepsza, niż w oryginale -
>tej samej klasy emulację Win16 mam w NT. Problem jest w tym, że
>nie ma cały czas w OS/2 dobrej, pełnej emulacji Win32.

w NT ? no niezupelnie. aplikacje 16bitowe, potrafia NTkowi niezle namieszac.
co do emulacji win32 dla OS/2 . myslisz dlaczego microsoft wypuscil
nowa specyfikacje win32s v1.30 ? przed wypuszczeniem os/2 , dosyc
dlugo trzymala sie specyfikacja win32s v1.25 . w v1.30 zostaly
dostarczone mechanizmy, ktore jest ciezko prawidlowo zaimplementowac,
w systemach wymagajacych pelnej ochrony pamieci. stad klopot.

>> powiem ci ciekawostke. kod moze byc 16bitowy, byleby korzystal
>> z nowego api win95, nie zas ze starego win3.xx . i juz jest wywlaszczany,
>> bo sam sie o to prosi.
>
>Co rozumiesz przez "kod"? Bo jeśli wygenerowany przez kompilator
>lub asembler kod "środka" programu, to się zgodzę. Mi chodzi o
>nagłówek i format Win32 Portable Executable - bo dopiero on
>zapewnia włączenie wywłaszczania przez scheduler Win95. Sam
>zauważyłeś, że 32 bity są tylko do obliczeń - i to jest słuszne,
>aplikacja wcale nie musi korzystać z jakichś mov eax,..... .
>Może być na zwykłych 16-bitowych mov ax,..., ale jak będzie w
>formacie PE i będzie wołać Win32 API to już jest wywłaszczana.

dokladnie tak.

>> chcesz przez to powiedziec, ze aplikacje korzystaja z instancji kernela ?
>> przeciez to jest stawanie na glowie.
>
>Instancje zmiennych kernela. Sam kod jest tylko odwzorowywany na
>pamięć wirtualną każdego procesu gdzieś około adresu 4GB i jest
>wspólny dla wszystkich aplikacji.

ze tak powiem blah ............ pamiec wspolna powinna byc przydzielana
na rzyczenie, i udostepniana przez desktyptory. a nie tak jak opisales.
ale coz, jest jak jest.

>> niezupelnie. w przypadku os/2 poruszyles problem jednowatkowej kolejki
>> komunikatow GUI, nie zas problem wywlaszczania i wielozadaniowosci.
>> to sa odrebne zagadnienia.
>
>Ale sam poruszyłeś problem wywoływania wywłaszczenia wymuszonego
>i do tego służy Yield - chwilowo usypia aplikację pozwalając innym
>na przetworzenie komunikatów z kolejki. W Win32 jest to zbędne -
>komunikaty są w kolejce wielowątkowej i aplikacja może zwlekać
>z przetwarzaniem swoich. Problem jest w OS/2 - trzeba tworzyć
>własne buforowanie komunikatów lub wywoływać co jakiś czas
>właśnie Yield.

to ci powiem ciekawostke. mam w os/2 uruchomione jakies aplikacje,
ktore cos tam sobie rysuja. a w oknach tekstowych wypisuja.
i teraz ciekawostka. zawieszeniu ulega kolejka komunikatow, bo jedna
z aplikacji przestala je odbierac. operator komputera nie moze nic
zrobic, do czasu przeterminowania (czas sie ustawia, standardowo 15sek).
mimo to, widac ze pozostale aplikacje nadal sobie cos rysuja.
wg. mnie w os/2 zrobili blad, tak organizujac kolejke komunikatow.
co do windowsa, clakowicie asynchroniczna kolejka jest tu koniecznoscia.
gdyby nie byla asynchroniczna, to mialbys co chwila zablokowany
komputer.

>> w takim razie jakim cudem jest mozliwe, ze dwa programy tworzace
>> obok siebie dwa okna moga w tym samym czasie cos rysowac ?
>
>Jeśli są w formacie PE, to są wywłaszczane między kolejnymi
>odwołaniami do funkcji GDI. Jeśli taki sam numer zrobisz w
>aplikacjach Win16, to najpierw się narysuje jedna, a potem
>druga (w Win3.x/9x; w NT i OS/2 nawet aplikacje Win16 będą
>wywłaszczane).

tu sie zgadzam.

>> system ? tak. fajny ? nieeeeeeeee.
>> na to bydle trzeba conajmniej 64mb ramu, i P200 zeby praca byla
>> jako tako wygodna. na czymkolwiek innym, obydwie liczby mozna spokojnie
>> podzielic przez dwa.
>
>Mam K6 2.5x83 i 64MB RAMu i rzeczywiście NT już chodzi fajnie.

sam widzisz :))))

>Zastanawiam się nad 128MB RAMu :))

z wielu aplikacji naraz korzystasz ? dysk ci mocno swapuje ? jesli
nie, to dolozenie ramu nic nie da. dotyczy to kazdego systemu. trzeba
spojrzec na wielkosc swapfile jesli jest dynamiczny, lub zajetosc
statycznego swapfile jesli jest statyczny (w linux zajetosc partycji swap).

>Ale postawiłem na K5-90 48MB
>Linuxa i jak uruchomiłem X-y, to wcale nie były bardzo szybsze
>niż NT na tym samym komputerze.

co do X, chodzi o cos zupelnie innego. X server robi cala komunikacje
poprzez protokoly TCP/IP , GUI windows, robi to przez swoje API.
z tego powodu, X dziala niewiele wolniej od windowsowego GUI,
za to porownywalnie do siebie, niewiele spowalnia jesli aplikacja
przekazuje swoje wyniki do X servera poprzez siec. cos za cos.

>BTW niedługo na pewno będę miał
>maszynę z zainstalowanym RedHatem to będę dokładnie porównywał
>wydajność i funkcjonalność tych systemów.

jesli chcesz porownywac wydajnosc grafiki, to duuuuzo zalezy w jaki
sposob skonfigurujesz X server, oraz jaki X server zastosujesz.
prawdopodobnie bedzie to Xfree86 . jest on dosyc uniwersalny,
ale przez to nieco wolniejszy. komercyjny Metro X czesto dziala
szybciej, nawet o 25 do 100% w porownaniu z Xfree. to zalezy od
karty sieciowej. w niektorych przypadkach metroX jest wolniejsze,
ale to rzadkosc.

>> >PS. Jak tam Twój kot? :)
>> jest dobrze. przezyl marzec, i jest caly :)
>Mój też ;) Mam kotkę i przez tydzień się upiedliwie biedna
>snuła po mieszkaniu wdzięcząc się do każdego :))))

ROTFL :))))

>BTW: NTG: pl.rec.koty ;)

tak by mniej wiecej wychodzilo :)))))

>| Radosław Sokół | mailto:rsokol_at_iname.com |

-- 
/===================================\    oOOo      W temperaturze zera
| http://avalon.wbc.lublin.pl/~znik/ \===\__/==\   bezwzglednego swiatlo
| Grzegorz Szyszlo   mailto:znik_at_wbc.lublin.pl |   zmienia postac
\==============================================/   alotropowa   (by Znik)


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:11:22 MET DST