wywlaszczanie w intelach, : 16 bitowosc win95

Autor: Grzegorz Szysz/lo (znik_at_wbc.lublin.pl)
Data: Tue 14 Apr 1998 - 09:24:49 MET DST


"Radosław Sokół" <rsokol_at_iname.com> wrote:
>Andrzej Nalewajek wrote:
>>
>> Czy ktoś może wjaśnić jak to jest z tą 16 bitowością
>> Win95 i czym to się objawi w użytkowaniu
>
>Procedury w 32-bitowych bibliotekach systemowych USER32
>i GDI32 (okna i grafika) nie zawierają w większości kodu,
>a jedynie odwołania do starych, 16-bitowych bibliotek
>USER i GDI. Ponieważ biblioteki 16-bitowe są jednowejściowe
>(nie mogą zostać wywłaszczone (przerwane) i wykonane przez
>inny wątek),

bzdura. wywlaszczane moga byc zarowno fragmenty 16bitowe, jak
i 32bitowe. 32bity ulatwiaja jedynie operacje na duuuzych blokach
danych, z wywlaszczaniem nie maja nic wspolnego. kilka roznych
systemow ma wywlaszczanie zarowno w 32bitowym, jak i 16bitowym kodzie.
win95/98 nie ma wywlaszczania ani w jednym, ani w drugim.
wywlaszczanie w tych atrapach systemow (wlasciwie to w shellach graficznych)
odbywa sie w ten sposob, ze
1.moze nastapic podczas odwolania do jakiejkolwiek funkcji systemowej
2.w przypadku dlugotrwalych petli ktore cos obliczaja, nalezy
   robic wywlaszczanie wymuszone, odwolujac sie do stosownej funkcji
systemowej.

takie wywlaszczczanie zostalo juz dawno zrealizowae w DOS'ie ,
w ........... turbo vision :)

>to w momencie ich wywołania ustawiony zostaje
>tzw. Mutex,

mutex sluzy do godzenia procesorow w systemach wieloprocesorowych.

>który zawiesza wszystkie wątki wywołujące
>procedury systemowe do momentu zakończenia wywołania.

no wlasnie. sa zawieszone wszystkie watki, do momentu pelnego
uzgodnienia, ktory procesor co ma robic w danym momencie.

>Jeśli więc nastąpi zawieszenie się systemu w procedurze
>systemowej lub jakiś program zapętli się w wywoływaniu
>tej procedury, to cały interfejs użytkownika i grafika
>Windowsów padają.

wiec gdzie to "wywlaszczanie" ? to co napisales swiadczy,
ze wywlaszczanie w windowsach to jedynie reklamowa atrapa.

>Jedynie KERNEL32 (zarządzanie pamięcią)
>jest w pełni 32-bitowy i nie korzysta ze starych bibliotek.

z tym sie zgodze. z tym ze on nadal nie jest wielowatkowy.

>W skrócie: jeden program może z własnej lub systemu winy
>powiesić całą grafikę.

bzdura. taka sytuacja ma miejsce wylacznie w atrapach systemow
operacyjnych. przy prawidlowo zrealizowanej wielowatkowosci,
to jest niemozliwe, czego przykladem moze byc praca takich
systemow jak: SCO Unix, windowsNT (nie cierpie go), Linux czy OS/2 .
wystarczy napisac glupia petle w stylu (przyklad paszczalowy)
  b:=3;
  for x:=1 to 32768 do for y:=1 to 32768 do for z:=1 to 32768 do a:=b*b;

petle nic nie robia, ale zajmuja procesorowi mnooostwo czasu,
nie odwolujac sie do funkcji systemowych. windowsy95/98 padaja
na zbity pysk. do momentu zakonczenia petli, wszystko jest zawieszone.
pozostale systemy ktore wymienilem, sobie radza i realizuja pozostale
zadania, lacznie z grafika. kod mozna skompilowac w trybie 16bitowym,
lub 32bitowym (pod linux tylko 32bitowo). rezultat bedzie zawsze
ten sam, tylko win95/98 zatrzymuje wszelka inna dzialalnosc.

reasumujac. 32bitowosc z wywlaszczaniem nie ma nic wspolnego.
32bitowosc to jedynie ulatwienie dostepu do duzych obszarow pamieci.
32bitowosc jest w pewnej czesci zrealizowana w win95/98, lecz wywlaszczanie
jak kulalo, tak kuleje nadal. i bedzie kulalo. powoduje to, ze komputer
z win95/98 nie moze byc w pelni wykorzystany. staje sie tylko biurowa
maszyna do pisania, a moc procesora sie marnuje.

>Nie wpłynie to na wątki nie wyświetlające

owszem, ma.

-- 
/===================================\    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:09:50 MET DST