BC++Builder i zatrzymanie transmisji



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Ed" <edxx_at_nospam_poczta.onet.pl>
Subject: BC++Builder i zatrzymanie transmisji
Date: Wed, 14 Mar 2001 23:55:43 +0100


Cześć!

Jestem elektronikiem i nie mam ogromnego doświadczenia w programowaniu w
BCBuilderze - szukałem porady u programistów ale tam mnie zignorowali,
dlatego prosze o pomoc "swoich" i wytłumaczenie mi w miarę możliwości jak
rozwišzać problem.
Problem jest następujšcy: w aplikacji wykorzystuję komunikację po RS 232
pomiędzy PC i małym sterownikiem. Wymiana danych rozpoczyna się po
naciśnięciu przycisku "Start".
Ponieważ jest trochę danych proces ten trwa parę sekund i w tym czasie
wszystko jest zablokowane ( timer nie generuje zdarzenia, program nie
odpowiada na przycisk Stop).
Jak napisać program aby w czasie wykonywania procedury transmisji sprawdzał
także inne zdarzenia jak np naciśnięcie przycisku Stop.


Pozdrawiam
Ed





Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: BC++Builder i zatrzymanie transmisji - programowanie pod Windows w praktyce.
Date: Thu, 15 Mar 2001 09:16:14 +0100


"Ed" napisał...
[...] nie mam ogromnego doświadczenia w programowaniu w
BCBuilderze - szukałem porady u programistów ale tam mnie
zignorowali,[...]

Problem jest następujšcy: w aplikacji wykorzystuję komunikację po RS 232
pomiędzy PC i małym sterownikiem. Wymiana danych rozpoczyna się po
nacisnięciu przycisku "Start".
Ponieważ jest trochę danych proces ten trwa parę sekund i w tym czasie
wszystko jest zablokowane ( timer nie generuje zdarzenia, program nie
odpowiada na przycisk Stop).

Widac ze nie masz doswiadczenia w programowaniu pod Windows ;o)
Ale nie przejmuj sie - poczatki sa trudne ale potem idzie juz lepiej.
Z opisu wynika, ze stosujesz "klasyczne" podejscie do programowania, tzn.
odpytujesz port czekajac na dane i stosownie do tego podejmujesz jakies
dzialanie (np. zapis do bufora).
W zwiazku z tym zajmujesz caly dostepny czas procesora i praktycznie
wylaczasz dzialanie systemu operacyjnego. Dlatego w tym czasie "nic nie
dziala".
Programowanie w Windows oparte jest o obsluge zdarzen, o ktorych informuje
cie system poprzez komunikaty.
Aby tak sie dzialo (tzn system mial szanse wykrycia zdarzenia i
poinformowania o tym), musisz zwracac sterowanie do systemu tak czesto jak
tylko sie da - w praktyce program nie powinien zawierac zadnych petli
"oczekiwania", a procedury wykonywac "liniowo". Rzecz jasna petla ktora
liczy sobie 100 obiegow nie spowolni zbytnio Windows, jednak jesli czekasz
na jakies zdarzenie, to petle moga byc wykonywane i po kilka sekund. Nie
wolno wprowadzac opoznien czasowych w postaci petli ! Od tego masz
komponenty typu timer, ktore generuja zdarzenie po okreslonym czasie.
Poczatkowo program bedzie wydawal sie dziwny : zbior pozornie niezaleznych
funkcji uruchamianych przez zdarzenia, przekazujacych sobie informacje
poprzez zmienne i flagi :o)
ale szybko sie przyzwyczaisz...
Kilka rad na poczatek :
programu.

przypadku TComm - BuforFull lub cos w tym stylu ;o)
i niech obsluga zdarzenia przepisuje dane do bufora, jesli wolisz odbierac
dane po jednym znaku, to ustaw dlugosc bufora na 1.

liscie warunkow wyjscia z petli flage ustawianą przez przyciski ktore chcesz
obslugiwac, a wewnatrz petli umiesc linie :

Application.Process.Messages(); // (dokladny opis znajdziesz w helpie do
Buildera)

zapewni ona przekazywanie sterowania do systemu na czas potrzebny m.in. do
obslugi przyciskow, myszki itp.

trwania takiej operacji i ZAWSZE zakladaj bezpiecznik w postaci np.
okreslonego czasu oczekiwania na zakonczenie operacji, pamietaj rowniez ze
czas ten zalezec bedzie od szybkosci procesora.

po dwoch sek.) dziel na mniejsze, niezalezne etapy :
* (zdarzenie_odebrano_znak) :odbierz znak i dopisz do bufora
* (zdarzenie_bufor_pelny) : wykonaj potrzebne obliczenia, aktywuj timer
* (zdarzenie_timer_skonczyl odliczanie) : wylacz timer, wyswietl wyniki

delphi, np.
http://delphi.icm.edu.pl/


Mam nadzieje ze powyzsze jest dostatecznie jasne i przyda sie w pokonywaniu
poczatkowych trudnosci.

Pozdrawiam
MaraBut




Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: OT: zapiski malkontenta ;-).
Date: Fri, 16 Mar 2001 07:24:25 +0100


Witam,

MaraBut wrote:

Problem jest następujšcy: w aplikacji wykorzystuję komunikację po RS 232
pomiędzy PC i małym sterownikiem. Wymiana danych rozpoczyna się po
nacisnięciu przycisku "Start".
Ponieważ jest trochę danych proces ten trwa parę sekund i w tym czasie
wszystko jest zablokowane ( timer nie generuje zdarzenia, program nie
odpowiada na przycisk Stop).

Widac ze nie masz doswiadczenia w programowaniu pod Windows ;o)
Ale nie przejmuj sie - poczatki sa trudne ale potem idzie juz lepiej.

Przepraszam, ale tu chyba nie moze byc lepiej. A co, jesli moj program ma
sobie cos policzyc bez interakcji z otoczeniem? Np. zrobic kilka krokow
algorytmu ewolucyjnego (albo i caly, efekty koncowe wyrzucic do pliku) albo
skompilowac kawalek programu? To mam go przerywac co chwile, zeby system mogl
dzialac??? Przepraszam, to kto tu przydziela procesor zadaniom- ja, czy system?
Bo mie wychodzi, ze ja, a jesli tak, to gdzies sie wielozadaniowosc zgubila po
drodze...


Z opisu wynika, ze stosujesz "klasyczne" podejscie do programowania, tzn.
odpytujesz port czekajac na dane i stosownie do tego podejmujesz jakies
dzialanie (np. zapis do bufora).
W zwiazku z tym zajmujesz caly dostepny czas procesora i praktycznie
wylaczasz dzialanie systemu operacyjnego. Dlatego w tym czasie "nic nie
dziala".

Nie zgadzam sie. To system jest kiepsko napisany, dlatego nic nie dziala.
Metoda jest wlasciwa- prosze system o dostarczenie znaku. Znaku nie ma- to wisze
(system mnie zawiesza) az znak przyjdzie albo az sie czas oczekiwania skonczy.
Po czym sytem mnie odwiesza i wracam z funkcji ze znakiem lub bledem.
Bezposrednio sie do portu nie dostane, bo to nie moja brocha, jak port dziala
(poza b. szczegolnymi przypadkami). Nawet jesli to zrobie przez 'busy waiting'
to system operacyjny po prostu zabierze mi sterowanie, jak moj czas uplynie i
koniec.


Programowanie w Windows oparte jest o obsluge zdarzen, o ktorych informuje
cie system poprzez komunikaty.

Przynajmniej jedna rzecz w miare O'K.


Aby tak sie dzialo (tzn system mial szanse wykrycia zdarzenia i
poinformowania o tym), musisz zwracac sterowanie do systemu tak czesto jak
tylko sie da - w praktyce program nie powinien zawierac zadnych petli
"oczekiwania", a procedury wykonywac "liniowo".

Dodac nalezy, ze nie jest to cecha systemu wysylajacego komunikaty, a cecha
Windows, ktore nie potrafi zarzadzac procesami i biedne czeka na oddanie
sterowania ('ja jestem systemem operacyjnym, oddaj mi, prosze, sterowanie, bo ja
tu musze nad rozdzialem zadan panowac'... 'prose pana, prose pana, a on mi nie
chce sterowania oddaaaaaaaaaaaaaaac'.). W Unixach zadnego sterowania oddawac nie
musisz, jak system bedzie chcial, to je sobie wezmie (w niektorych systemach
czasu rzeczywistego tez).


Rzecz jasna petla ktora
liczy sobie 100 obiegow nie spowolni zbytnio Windows, jednak jesli czekasz
na jakies zdarzenie, to petle moga byc wykonywane i po kilka sekund. Nie
wolno wprowadzac opoznien czasowych w postaci petli !

A to z zupelnie innych powodow. Nie sposob oszacowac czasu dzialania takiej
petli, wiec opoznienie czasowe moze byc... dziwne.


- wykorzystuj obsluge zdarzen zamiast czekania na zdarzenie : np. w
przypadku TComm - BuforFull lub cos w tym stylu ;o)
i niech obsluga zdarzenia przepisuje dane do bufora, jesli wolisz odbierac
dane po jednym znaku, to ustaw dlugosc bufora na 1.

- jesli juz koniecznie musisz czekac na cos w petli, koniecznie umiesc na
liscie warunkow wyjscia z petli flage ustawianą przez przyciski ktore chcesz
obslugiwac, a wewnatrz petli umiesc linie :

Application.Process.Messages(); // (dokladny opis znajdziesz w helpie do
Buildera)

zapewni ona przekazywanie sterowania do systemu na czas potrzebny m.in. do
obslugi przyciskow, myszki itp.

A jesli nie jest potrzebna taka obsluga? Windows stoi, system (czyli np.
Unix) dziala.


- jesli trzeba wykonac operacje czasowo krytyczne, upewnij sie ze znasz czas
trwania takiej operacji i ZAWSZE zakladaj bezpiecznik w postaci np.
okreslonego czasu oczekiwania na zakonczenie operacji, pamietaj rowniez ze
czas ten zalezec bedzie od szybkosci procesora.

No comments... kill -9 i po sprawie, a w Win oczywiscie zwisnie. Ale- pomysl
jest O'K i tak sie robic powinno, pod U tez.


- operacje wieloetapowe (np. odbieraj znaki , oblicz cos i wyswietl wynik
po dwoch sek.) dziel na mniejsze, niezalezne etapy :
* (zdarzenie_odebrano_znak) :odbierz znak i dopisz do bufora
* (zdarzenie_bufor_pelny) : wykonaj potrzebne obliczenia, aktywuj timer
* (zdarzenie_timer_skonczyl odliczanie) : wylacz timer, wyswietl wyniki

'Stoj! Gdzie- przez Himalaje?' Kurcze- gotowanie wody na herbate w probowce
10ml...


To oczywiscie jedynie uwagi na temat Windows, nie na temat oryginalnego
problemu i, jak w tytule, zapiski malkontenta :-).


Pozdrawiam,

Marcin.


--
'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'




Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Fri, 16 Mar 2001 09:10:09 +0100


Marcin Wolcendorfnapisał...
Ponieważ jest trochę danych proces ten trwa parę sekund i w tym czasie
wszystko jest zablokowane ( timer nie generuje zdarzenia, program nie
odpowiada na przycisk Stop).

Widac ze nie masz doswiadczenia w programowaniu pod Windows ;o)
Ale nie przejmuj sie - poczatki sa trudne ale potem idzie juz lepiej.

Przepraszam, ale tu chyba nie moze byc lepiej. A co, jesli moj program
ma
sobie cos policzyc bez interakcji z otoczeniem? Np. zrobic kilka krokow
algorytmu ewolucyjnego (albo i caly, efekty koncowe wyrzucic do pliku)
albo
skompilowac kawalek programu? To mam go przerywac co chwile, zeby system
mogl
dzialac??? Przepraszam, to kto tu przydziela procesor zadaniom- ja, czy
system?
Bo mie wychodzi, ze ja, a jesli tak, to gdzies sie wielozadaniowosc
zgubila po
drodze...
Windows jest systemem wielozadaniowym ???? A kto ci takich hmm... dziwnych
;o) rzeczy naopowiadal ? Dopiero NT ma wiekszosc cech systemu
wielozadaniowego (np. pelne wywlaszczanie, ochrone systemowych obszarow
pamieci, czy mechanizmy pelnej emulacji maszyny wirtualnej albo HAL(hardware
abstraction layer). Jak ktos potrzebuje systemu wielozadaniowego to jest np.
QNX albo cos w rodzaju RT Linuxa (chyba tak sie to nazywalo AFAIR). Powtorze
Windows ma "pewne cechy" takiego systemu. Tzn. jezeli program "jest
grzeczny" i dziala poprawnie, to w tym czasie system moze wykonywac inne
zadania, w tym uruchamiac inne programy uzytkownika. Co jednak jesli program
"nie chce" oddac sterowania ? Ano nic - beda dzialac te procesy jadra
systemu ktore bazuja na przerwaniach (o ile program uzytkownika nie
pogrzebie w rejestrach i nie zablokuje ich), ale obsluga tych procesow juz
niekoniecznie (np. aktualizacja zawartosci ekranu). Ale to raczej temat na
grupe pl.comp.programming ...

Z opisu wynika, ze stosujesz "klasyczne" podejscie do programowania,
tzn.
odpytujesz port czekajac na dane i stosownie do tego podejmujesz jakies
dzialanie (np. zapis do bufora).
W zwiazku z tym zajmujesz caly dostepny czas procesora i praktycznie
wylaczasz dzialanie systemu operacyjnego. Dlatego w tym czasie "nic nie
dziala".

Nie zgadzam sie. To system jest kiepsko napisany, dlatego nic nie
dziala.
Ten system jest napisany inaczej niz bys chcial i dlatego masz pretensje.
o)

Metoda jest wlasciwa- prosze system o dostarczenie znaku. Znaku nie ma- to
wisze
(system mnie zawiesza) az znak przyjdzie albo az sie czas oczekiwania
skonczy.
A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ? Gdy cos przyjdzie, system zglosi komunikat i
ponownie przekaze sterowanie do programu. Jest to metoda "cooperative"
zamiast "preemptive". Pewnie, ze nie jest to wygodne, ale Winda pochodzi od
DOSa, nie Unixa i ma inne obciazenia dziedziczne. Gdyby pochodzila od
systemu zorientowanego na wielodostep pewnie wygladaloby to inaczej.
Zwroc tez uwage, ze w tym czasie mozesz realizowac inne watki (wontki :o)
programu - np. przetwarzac poprzednie dane, albo wyswietlac wyniki, zamiast
czekac w petli na kolejne znaki.
Jest to namiastka przetwarzania rownoleglego.

Po czym system mnie odwiesza i wracam z funkcji ze znakiem lub bledem.
Bezposrednio sie do portu nie dostane, bo to nie moja brocha, jak port
dziala
(poza b. szczegolnymi przypadkami). Nawet jesli to zrobie przez 'busy
waiting'
to system operacyjny po prostu zabierze mi sterowanie, jak moj czas
uplynie i
koniec.
Tak dziala "prawdziwy" OS, ktory nie dopuszcza do przejecia kontroli nad
sprzetem przez proces uzytkownika, tylko zapewnia mu "maszyne wirtualna"
ktora bedzie go wykonywac, w okreslonych przez system warunkach. Windows nie
jest "prawdziwym..." itp. itd.
;o)

Programowanie w Windows oparte jest o obsluge zdarzen, o ktorych
informuje
cie system poprzez komunikaty.
Przynajmniej jedna rzecz w miare O'K.
Jak widzisz niektore cechy sa ...

Aby tak sie dzialo (tzn system mial szanse wykrycia zdarzenia i
poinformowania o tym), musisz zwracac sterowanie do systemu tak czesto
jak
tylko sie da - w praktyce program nie powinien zawierac zadnych petli
"oczekiwania", a procedury wykonywac "liniowo".

Dodac nalezy, ze nie jest to cecha systemu wysylajacego komunikaty, a
cecha
Windows, ktore nie potrafi zarzadzac procesami i biedne czeka na oddanie
sterowania ('ja jestem systemem operacyjnym, oddaj mi, prosze, sterowanie,
bo ja
tu musze nad rozdzialem zadan panowac'... 'prose pana, prose pana, a on mi
nie
chce sterowania oddaaaaaaaaaaaaaaac'.). W Unixach zadnego sterowania
oddawac nie
musisz, jak system bedzie chcial, to je sobie wezmie (w niektorych
systemach
czasu rzeczywistego tez).
Aaaa... tu jest pies pogrzebany ;o))))
Winda be - Linux cacy ?
To co, robimy forwarda na comp.os.advocacy ?
;o))))))
Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego faktu
nie neguje.
Tak jak nikt nie neguje faktu, ze dla niefachowca jest prostsza od systemow
unixowych i to jest glowna przyczyna popularnosci Windows. Ludzie sa leniwi
z natury i nie lubia sie za wiele uczyc.
Nie zawsze system lepszy zdaniem fachowcow, jest bardziej popularny wsrod
uzytkownikow. Przypomnij sobie jak to bylo w branzy wideo : system VHS
wyparl system Beta, pomimo oczywistych zalet tego ostatniego...

Nie wolno wprowadzac opoznien czasowych w postaci petli !

A to z zupelnie innych powodow. Nie sposob oszacowac czasu dzialania
takiej
petli, wiec opoznienie czasowe moze byc... dziwne.
A z tym sie nie zgodze... jesli jako warunek wyjscia z petli przyjmiesz
konkretna wartosc timera systemowego, albo chocby stan licznika komponentu
TTimer to opoznienie czasowe bedzie dokladnie okreslone ! Tyle ze
zablokujesz winde na ten czas.

zapewni ona przekazywanie sterowania do systemu na czas potrzebny m.in.
do
obslugi przyciskow, myszki itp.

A jesli nie jest potrzebna taka obsluga? Windows stoi, system (czyli
np.
Unix) dziala.
Ale widziales gdzies BC++ Buildera pod Unixa ?
Bo ja nie... a IMHO programowanie w GNU Cpp pod X-windows jest o wiele
bardziej klopotliwe niz stosowanie sie do kilku prostych zasad pod
windowsem. Tam gdzie wymagana jest wieksza niezawodnosc - tam po prostu nie
uzywa sie windy.
;o)

To oczywiscie jedynie uwagi na temat Windows, nie na temat
oryginalnego
problemu i, jak w tytule, zapiski malkontenta :-).
Oczywiscie :o)))))
Sformulowanie problemu powinno brzmiec : jak wykorzystac winde zeby udawala
system wielozadaniowy. Z tym chyba mozemy obaj sie zgodzic...
;o)))))

Pozdrawiam,
Marcin.
I wzajemnie
Przemek

--
> 'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'



Hmmm... "az bamba sie odmurczy i gola powroci" ?
:o)



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: zapiski malkontenta ;-).
Date: 16 Mar 2001 11:08:50 +0100


On Fri, 16 Mar 2001 09:10:09 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
Windows jest systemem wielozadaniowym ???? A kto ci takich hmm... dziwnych
;o) rzeczy naopowiadal ? Dopiero NT ma wiekszosc cech systemu

Wiesz co oznacza "wielozadaniowosc" w/g MS ? Wiele zadan moze
wywalic twoj system.
A "praca sieciowa" ? Mozna wywalic system przez siec.
A "ulatwienie pracy" ? System sam sie wywala :-)


wielozadaniowego (np. pelne wywlaszczanie, ochrone systemowych obszarow
pamieci, czy mechanizmy pelnej emulacji maszyny wirtualnej albo HAL(hardware
abstraction layer).

G9x posiada w pewnym stopniu te mechanizmy ..

Jak ktos potrzebuje systemu wielozadaniowego to jest np.
QNX albo cos w rodzaju RT Linuxa (chyba tak sie to nazywalo AFAIR). Powtorze
Windows ma "pewne cechy" takiego systemu. Tzn. jezeli program "jest
grzeczny" i dziala poprawnie, to w tym czasie system moze wykonywac inne
zadania, w tym uruchamiac inne programy uzytkownika.

Nie do konca - w win32 juz jest wywlaszczanie ..

Co jednak jesli program "nie chce" oddac sterowania ?

Jak program jest niegrzeczny, to sprawi klopot i NT, i Linuxowi, i
QNX ...

Nie zgadzam sie. To system jest kiepsko napisany, dlatego nic nie
dziala.
Ten system jest napisany inaczej niz bys chcial i dlatego masz pretensje.
o)

Metoda jest wlasciwa- prosze system o dostarczenie znaku. Znaku nie ma- to
wisze
(system mnie zawiesza) az znak przyjdzie albo az sie czas oczekiwania
skonczy.
A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ?

Np tym co tu zrobic jak wredny user kliknie mycha na "stop transfer" ...

Jest to metoda "cooperative"
zamiast "preemptive". Pewnie, ze nie jest to wygodne, ale Winda pochodzi od
DOSa, nie Unixa i ma inne obciazenia dziedziczne.

Winda pochodzi od windy. Dos pochodzi z CPM i UNIXa :-)

Bezposrednio sie do portu nie dostane, bo to nie moja brocha, jak port
dziala
(poza b. szczegolnymi przypadkami). Nawet jesli to zrobie przez 'busy
waiting'
to system operacyjny po prostu zabierze mi sterowanie, jak moj czas
uplynie i
koniec.

Tak dziala "prawdziwy" OS, ktory nie dopuszcza do przejecia kontroli nad
sprzetem przez proces uzytkownika, tylko zapewnia mu "maszyne wirtualna"
ktora bedzie go wykonywac, w okreslonych przez system warunkach. Windows nie
jest "prawdziwym..." itp. itd.

Akurat jesli chodzi o port szeregowy, to :
a) windows obsluguje go sam,
b) jesli programista zadecyduje ze trzeba aktywnie czekac, to bedzie czekal
pod kazdym systemem - no chyba ze system nie oferuje uslugi
"sprawdz czy jest cos gotowe do odbioru"

c) nawet pod unixami widac czesto w programach aktywne czekanie ..

W Unixach zadnego sterowania oddawac nie
musisz, jak system bedzie chcial, to je sobie wezmie (w niektorych systemach
czasu rzeczywistego tez).

Akurat w systemach czasu rzeczywistego to wlasnie chodzi o to zeby
system nie odbieral sterowania kiedy go o to nie poprosza
[albo w wersji lagodniejszej: gdy mu zabronia].
Winda systemem czasu rzeczywistego ? :-)

Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego faktu
nie neguje.

Hi, hi - jak na razie to winmodemow jest pelno, a linmodemow prawie
nie ma :-)

J.

Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Fri, 16 Mar 2001 12:33:35 +0100


J.F. napisał...
Wiesz co oznacza "wielozadaniowosc" w/g MS ? Wiele zadan moze
wywalic twoj system.
A "praca sieciowa" ? Mozna wywalic system przez siec.
A "ulatwienie pracy" ? System sam sie wywala :-)
Wiem, wiem... trafiłem kiedyś na taką stronę MS user offence page. Było tam
tego dużo więcej :o)
Ale to tylko wypociny frustratów - nic nie zaneguje faktu ze winda jest
najbardziej rozpowszechnionym systemem operacyjnym dla PC. I stalo sie tak
nie z powodu ceny, jakosci itp. ale z powodu prostoty obslugi ktora
przebijala i wciaz przebija wszystkie inne OS'y. I nie jest tak zla jak o
niej pisza - w gruncie rzeczy pisanie zle o MS jest po prostu w modzie.

wielozadaniowego (np. pelne wywlaszczanie, ochrone systemowych obszarow
pamieci, czy mechanizmy pelnej emulacji maszyny wirtualnej albo
HAL(hardware
abstraction layer).

G9x posiada w pewnym stopniu te mechanizmy ..
Ale bardzo niedoskonale zaimplementowane - niestety, a moze na szczescie. Bo
wlasnie dlatego dziala znacznie szybciej od NT.

[...] Windows ma "pewne cechy" takiego systemu.

Nie do konca - w win32 juz jest wywlaszczanie ..
Bez ochrony zasobow systemowych ? Ladne mi wywlaszczanie.
Owszem winda potrafi odebrac sterowanie od procesu uzytkownika, ale
standardowemu managerowi zadan przychodzi to bardzo ciezko... a w dodatku
nie zwalnia pamieci bo systemowi sie wydaje ze to on uzywa zbednych juz
DLLek. Ponadto nie masz kontroli nad tym kiedy winda uzna ze jakis proces
nie dziala poprawnie.

Co jednak jesli program "nie chce" oddac sterowania ?
Jak program jest niegrzeczny, to sprawi klopot i NT, i Linuxowi, i
QNX ...
O nie, w przypadku systemow z przydzialem czasu i zasobow wg ustalonych
priorytetow program nie ma nic do gadania w kwestii checi - ani nie jest w
stanie wyjsc poza granice przydzielonych mu zasobow. To programista okresla
pierwszenstwo i ilosci dostepnych resursow, a program co najwyzej moze
wrzeszczec do systemu ze ma ich za malo i ew. sie wylozyc...
o)))))

[...] prosze system o dostarczenie znaku. Znaku nie ma- to
wisze
(system mnie zawiesza) az znak przyjdzie albo az sie czas oczekiwania
skonczy.
A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ?

Np tym co tu zrobic jak wredny user kliknie mycha na "stop transfer" ...
Otoz to - w windzie taka obsluge zalatwia zdarzenie OnClick, w wersji z
petla program musi sam sprawdzac stan przyciskow. W obsludze mozna np.
czyscic bufor i indeks znakow, zamknac port i wyslac komunikat do
uzytkownika.

Winda pochodzi od windy.
Winda jest nakladka na DOSa :o)
To taki ulepszony NC.

Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego
faktu
nie neguje.

Hi, hi - jak na razie to winmodemow jest pelno, a linmodemow prawie
nie ma :-)
??? chyba nie chwycilem dowcipu - jedyne co mi przychodzi na mysl to wlasnie
zawlaszczanie calego czasu procesora przez aplikacje - np. DSP
przetwarzajaca sygnal z modemu. Takie procesy raczej nie moga byc przerywane
bez straty danych. I dlatego sa z nimi problemy w innych OS.

MaraBut



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: zapiski malkontenta ;-).
Date: 16 Mar 2001 13:48:01 +0100


On Fri, 16 Mar 2001 12:33:35 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
[...] I nie jest tak zla jak o
niej pisza - w gruncie rzeczy pisanie zle o MS jest po prostu w modzie.

Popracuejsz troche powazniej to sam nabierzesz tego "fasonu" :-)

Nie do konca - w win32 juz jest wywlaszczanie ..
Bez ochrony zasobow systemowych ? Ladne mi wywlaszczanie.

Ochrona byla juz dawniej.

Owszem winda potrafi odebrac sterowanie od procesu uzytkownika, ale
standardowemu managerowi zadan przychodzi to bardzo ciezko... a w dodatku

Eee - bardzo latwo. Ctrl-Alt-Del, wybierasz "proces ** nie odpowiada",
"zakoncz zadanie" i po 20s procesu nie ma :-)

nie zwalnia pamieci bo systemowi sie wydaje ze to on uzywa zbednych juz

Zwykle jednak zwalnia.

DLLek. Ponadto nie masz kontroli nad tym kiedy winda uzna ze jakis proces
nie dziala poprawnie.

Dlatego potem sam piszesz zle o MS i nie ma to nic wspolnego z moda :-)

Jak program jest niegrzeczny, to sprawi klopot i NT, i Linuxowi, i
QNX ...
O nie, w przypadku systemow z przydzialem czasu i zasobow wg ustalonych
priorytetow program nie ma nic do gadania w kwestii checi - ani nie jest w
stanie wyjsc poza granice przydzielonych mu zasobow. To programista okresla
pierwszenstwo i ilosci dostepnych resursow, a program co najwyzej moze
wrzeszczec do systemu ze ma ich za malo i ew. sie wylozyc...
o)))))

Eee - sa rozne metody bycia niegrzecznym. Zajac cala dostepna pamiec,
generowac procesy szybciej niz administrator moze je ubijac, przepelnic
tablice semaforow czy lockow itp..

Winda pochodzi od windy.
Winda jest nakladka na DOSa :o)

Coraz mniej.

To taki ulepszony NC.

Eee, nie, jesli chodzi o porownanie z NC - to pogorszony :-)

Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego faktu
nie neguje.
Hi, hi - jak na razie to winmodemow jest pelno, a linmodemow prawie
nie ma :-)
??? chyba nie chwycilem dowcipu - jedyne co mi przychodzi na mysl to wlasnie
zawlaszczanie calego czasu procesora przez aplikacje - np. DSP
przetwarzajaca sygnal z modemu. Takie procesy raczej nie moga byc przerywane
bez straty danych. I dlatego sa z nimi problemy w innych OS.

Czyli winda nadaje sie do sterowania procesami, np procesem odbioru danych,
a linux nie :-(
W dodatku wcale nie ma zawlaszczenia, bo rownolegle z aplikacja modemu
pracuje ten Sexploder, Sexlook i pare innych tzw aplikacji :-)

J.

Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Fri, 16 Mar 2001 14:25:03 +0100


J.F. napisał...
On Fri, 16 Mar 2001 12:33:35 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
[...] I nie jest tak zla jak o
niej pisza - w gruncie rzeczy pisanie zle o MS jest po prostu w modzie.

Popracuejsz troche powazniej to sam nabierzesz tego "fasonu" :-)
No nie wiem, ja w zasadzie pracuje tylko w windzie, mam staly zestaw
uzywanych aplikacji (zarowno starych jak i nowych) i w zasadzie nie pamietam
kiedy ostatnio komputer do pracy mi sie zwiesil - moze z rok wstecz, a moze
i dawniej. Ale mam pewne zasady : komputer w pracy jest tylko do pracy,
komputer domowy to inna bajka, czasem jakas gra sie wykrzaczy ale nie robie
tragedii z tego powodu. Archiwizuje regularnie wszystkie moje projekty, i
raz na rok reinstaluje winde (obecnie raczej odtwarzam partycje ghostem)
zeby wywalic nagromadzone smieci na dysku systemowym i w rejestrze. I
powtarzam : nie mam powodow do narzekan na winde. A na linucha i owszem,
tego co sie naklalem przy debianie nikt mi nie odbierze ;o) w koncu
przeszedlem na redhata ale to tak rozrywkowo - zeby nie skostniec.

Nie do konca - w win32 juz jest wywlaszczanie ..
Bez ochrony zasobow systemowych ? Ladne mi wywlaszczanie.
Ochrona byla juz dawniej.
Chcesz powiedziec ze np. w W98SE nie da sie uruchomic programiku w asm
zerujacego CALA pamiec RAM ? Chyba odgrzebie swoje archiwa sprzed paru lat -
ale nie sadze zeby cos sie zmienilo.

Owszem winda potrafi odebrac sterowanie od procesu uzytkownika, ale
standardowemu managerowi zadan przychodzi to bardzo ciezko... a w dodatku

Eee - bardzo latwo. Ctrl-Alt-Del, wybierasz "proces ** nie odpowiada",
"zakoncz zadanie" i po 20s procesu nie ma :-)
Dwadziescia sekund... a w tym czasie sterowany z kompa robot zdazy wybic
dziure w scianie. Poza tym wymagana jest interwencja uzytkownika. Nie ma
czegos w stylu watchdoga systemowego ktory ubijalby wiszaca aplikacje o ile
nie zglosi sie w okreslonym czasie.

nie zwalnia pamieci bo systemowi sie wydaje ze to on uzywa zbednych juz
Zwykle jednak zwalnia.
Tak? Sztandarowym przykladem sa pluginy do MSIE : np. Adobe Acrobat - jak
ten juz zwisnie to niczym go nie wyrzucisz z pamieci, nawet DLLmaster sie
poddaje. Dopiero restart systemu zalatwia sprawe.

Ponadto nie masz kontroli nad tym kiedy winda uzna ze jakis proces
nie dziala poprawnie.
Dlatego potem sam piszesz zle o MS i nie ma to nic wspolnego z moda :-)
Nie ma systemu idealnego : trzeba zdawac sobie sprawe z ograniczen to i
rozczarowanie bedzie mniejsze. No i nie zwalac wlasnego niechlujstwa
programistycznego na system. Jak czasem patrze na obsluge wyjatkow jaka
ludzie pisza to dziw bierze ze te programy w ogole dzialaja...

[...] sa rozne metody bycia niegrzecznym. Zajac cala dostepna pamiec,
generowac procesy szybciej niz administrator moze je ubijac, przepelnic
tablice semaforow czy lockow itp..
Nie mowimy o ewidentnych bledach programowych, czy zlosliwosci programisty,
tylko o odpornosci systemu na nieprzewidziane bledy. System z pelnym
wywlaszczeniem marnuje tylko dany przydzial zasobow dla zawieszonego zadania
(o ile nie wie ze ma je ubic), system udajacy wielozadaniowy - laduje
(londuje) gdzies w krzakach...

Winda jest nakladka na DOSa :o)
Coraz mniej.
Win2K to NT. Zwykla winda uruchamia sie w trybie dosowym (do ME jest
odpowiedni patch) a dopiero potem startuje kernel32 i przelacza procka w
protected mode..

To taki ulepszony NC.
Eee, nie, jesli chodzi o porownanie z NC - to pogorszony :-)
o)))))

Hi, hi - jak na razie to winmodemow jest pelno, a linmodemow prawie
nie ma :-)
[...]jedyne co mi przychodzi na mysl to wlasnie
zawlaszczanie calego czasu procesora przez aplikacje - np. DSP
przetwarzajaca sygnal z modemu.

Czyli winda nadaje sie do sterowania procesami, np procesem odbioru
danych,
a linux nie :-(
W dodatku wcale nie ma zawlaszczenia, bo rownolegle z aplikacja modemu
pracuje ten Sexploder, Sexlook i pare innych tzw aplikacji :-)
Czyli jak widac tryb "cooperative" nie jest taki zly - o ile programista
wykaze dobra wole.
o)

MaraBut



Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Fri, 16 Mar 2001 14:37:16 +0100


MaraBut napisał...
J.F. napisał...
Popracuejsz troche powazniej to sam nabierzesz tego "fasonu" :-)
No nie wiem, ja w zasadzie pracuje tylko w windzie [...]

Chyba mam dzisiaj powazny nastroj - ciezko chwytam dowcipy ;o)))))
Ale zawsze mnie smieszylo, ze ci ktorzy najglosniej pomstuja na winde,
najbardziej kurczowo sie jej trzymaja, wymyslajac tysiace powodow by nie
zmieniac systemu. Szczegolnie dobrze widac to u grafikow komputerowych - w
koncu fotoszopa itp. maja tez na MACach ale ani im w glowie przesiadka na
jabluszko...

o)

M.




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: zapiski malkontenta ;-).
Date: 16 Mar 2001 15:36:40 +0100


On Fri, 16 Mar 2001 14:37:16 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
Popracuejsz troche powazniej to sam nabierzesz tego "fasonu" :-)
No nie wiem, ja w zasadzie pracuje tylko w windzie [...]
Chyba mam dzisiaj powazny nastroj - ciezko chwytam dowcipy ;o)))))
Ale zawsze mnie smieszylo, ze ci ktorzy najglosniej pomstuja na winde,
najbardziej kurczowo sie jej trzymaja, wymyslajac tysiace powodow by nie
zmieniac systemu. Szczegolnie dobrze widac to u grafikow komputerowych - w
koncu fotoszopa itp. maja tez na MACach ale ani im w glowie przesiadka na
jabluszko...

No nie wiem - mialem znajomego w agencji reklamowej - najpierw mial
pare pecetow i dwa jabluszka, ale obiecywal ze wywali te pecety
jak tylko da rade jabluszka kupic. A decydowaly rozne rzeczy.
Wkladasz zdjecie do skanera, ogladasz ma monitorze, naswietlasz,
dajesz do drukarni - wychodzi co skanowales i ogladales.
Na pececie - kolory calkiem inne. Ladnych pare lat temu
to bylo, to o kalibratorach na peceta slyszeli tylko nieliczni.
Corel - fajny program na peceta .. tylko potem naswietlarka meczy
sie godzinami.
Stoi Mac .. pamieci ma jakies smieszne ilosci - 16 MB
chyba, dysk tez [512 MB] - w pecetach standardem bylo dwa razy wiecej.
Ale z obrabianiem projektow gdzie "teczka" miala 90MB - wielowarstowy
obrazek - nie mial zadnego problemu z wydajnoscia.

Slajdy chcialem poskanowac ... no to ulozylismy wszystkie na skanerze
A3, preview, zaznaczylismy obszary, opcja skan ... i moglismy sie
zajac piwem spokojnie, bo 30 plikow powstalo automatycznie.
Potem jeszcze w domu zdjecia obrobilem [PhotoStyler na peceta],
usiadlem przy SGI Indygo, zrobilem sobie stronke www, obejrzalem,
przesiadlem sie na peceta, obejrzalem ... cholera - czemu te zdjecia
takie czarne ? Przesiadlem sie na Suna ... czarne. Z powrotem
do indygo - dobre. Aaaaa, korekcja gamma. Mac zeskanowal dobrze,
zapisal dobrze, PhotoStyler ... dobrze wyswietlil bo mu kiedys
skorygowalem gamme dobrze, Indygo jako profesjonalna stacje graficzna
pokazala dobrze ... tyle ze 80% komputerow w internecie pokazywalo
zle :-(
Tym sie rozni sprzet profesjonalny od jakiegos peceta :-)

J.

Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sat, 17 Mar 2001 11:46:28 +0100



J.F napisał :
MaraBut wrote:
[...] ci ktorzy najglosniej pomstuja na winde,
najbardziej kurczowo sie jej trzymaja, wymyslajac tysiace powodow by nie
zmieniac systemu. Szczegolnie dobrze widac to u grafikow komputerowych -
w
koncu fotoszopa itp. maja tez na MACach ale ani im w glowie przesiadka na
jabluszko...

No nie wiem - mialem znajomego w agencji reklamowej - najpierw mial
pare pecetow i dwa jabluszka, ale obiecywal ze wywali te pecety
jak tylko da rade jabluszka kupic.
I co wywalil ?
Moja babcia zwykla mawiac : austriackie gadanie....
;o)))

Na pececie - kolory calkiem inne. Ladnych pare lat temu
to bylo, to o kalibratorach na peceta slyszeli tylko nieliczni.
No ale zobacz : kalibratory dzis są, ceny MACow tez spadly, a ludziska
pomstuja jak zawsze.

Tym sie rozni sprzet profesjonalny od jakiegos peceta :-)
I tym, ze poza tymi rzeczami do ktorych byl przewidziany, niewiele mozna na
nim zrobic :o(
Pecety sa jednak dosyc uniwersalne.
Te wszystkie narzekania "profesjonalistow" to pretensje wlascicieli
maluszkow ze ani to wyglada ani jezdzi jak mercedes.
o)

M.





Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Mon, 19 Mar 2001 08:41:30 +0100


Na pececie - kolory calkiem inne. Ladnych pare lat temu
to bylo, to o kalibratorach na peceta slyszeli tylko nieliczni.

To prawda, ale na szczęście już przeszłość ;)

Corel - fajny program na peceta .. tylko potem naswietlarka meczy
sie godzinami.

Jest corel na maca, poza tym trzeba być świadomym co się robi ...jak operator
jest dupa to i na macu zrobi dokument nieripowalny.
W moim odczuciu corel udostepnia ogromną ilość bajerów całkowicie
nieprzydatnych profesjonaliście (po ich używaniu widać że projektant jest młody
i wychowany na corelu - patrz _gazeta skrzynkowa_).

tyle ze 80% komputerow w internecie pokazywalo zle :-(
Tym sie rozni sprzet profesjonalny od jakiegos peceta :-)

Tym się różni profesjonalna konfiguracja od domowej ;))

--
PZD, Irek.N. (ALIAS)


Poprzedni Następny
Wiadomość
Spis treści
From: tszczesn_at_nospam_elka.pw.edu.pl
Subject: Re: zapiski malkontenta ;-).
Date: 17 Mar 2001 18:21:57 +0100


;o))))) Ale zawsze mnie smieszylo, ze ci ktorzy najglosniej
pomstuja na winde, najbardziej kurczowo sie jej trzymaja,
wymyslajac tysiace powodow by nie zmieniac systemu.

Ja też pomstuję na windę, ale jej nie uzywam (w domu
oczywiście, bo w robocie to nie ode mnie zależy :( ) W
robocie to tylko czasami siedzę przy niej po nocach (Już
nigdy nie będę wymiał płyty głównej w serwerze NT - po
prostu zainstaluję serwer na nowej płycie od zera, będzie
szybciej...) A odtwarzania userom poczty z OE po padzie
windy - makabra...

Tomek

----------------------------------------------------
Internet: tszczesn_at_nospam_pay.com.pl
tszczesn_at_nospam_elka.pw.edu.pl
http://www.pay.com.pl/oldradio
FIDOnet: 2:480/127.134
----------------------------------------------------

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: zapiski malkontenta ;-).
Date: 16 Mar 2001 15:49:55 +0100


On Fri, 16 Mar 2001 14:25:03 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
J.F. napisał...
Nie do konca - w win32 juz jest wywlaszczanie ..
Bez ochrony zasobow systemowych ? Ladne mi wywlaszczanie.
Ochrona byla juz dawniej.
Chcesz powiedziec ze np. w W98SE nie da sie uruchomic programiku w asm
zerujacego CALA pamiec RAM ? Chyba odgrzebie swoje archiwa sprzed paru lat -
ale nie sadze zeby cos sie zmienilo.

Wydaje mi sie ze to juz bylo w 3.x, od pewnego modelu pamieci wzwyz.
W kazdym badz razie juz wtedy przydzielano pamiec do programu w
segmentach 286, a one pewna protekcje mialy ..
Zreszta - skad niby ten blad GPF ? General PROTECTION Fault.

Byc moze jakims niestandardowym podejsciem da sie dostac do calej pamieci ..

Owszem winda potrafi odebrac sterowanie od procesu uzytkownika, ale
standardowemu managerowi zadan przychodzi to bardzo ciezko... a w dodatku
Eee - bardzo latwo. Ctrl-Alt-Del, wybierasz "proces ** nie odpowiada",
"zakoncz zadanie" i po 20s procesu nie ma :-)

Dwadziescia sekund... a w tym czasie sterowany z kompa robot zdazy wybic
dziure w scianie.

A w innym systemie masz inaczej ? Programy pod unixami potrafia
sie zawiesic na dluzej na urzadzeniu - co gorsza, wtedy ani ich ubic,
ani odblokowac urzadzenia sie nie da ..

Poza tym wymagana jest interwencja uzytkownika. Nie ma
czegos w stylu watchdoga systemowego ktory ubijalby wiszaca aplikacje o ile
nie zglosi sie w okreslonym czasie.

W unixach tez nie ma :-)
W NT chyba juz jest, a zreszta - w tym momencie nie jest to juz taki
problem dorobic ..

nie zwalnia pamieci bo systemowi sie wydaje ze to on uzywa zbednych juz
Zwykle jednak zwalnia.
Tak? Sztandarowym przykladem sa pluginy do MSIE : np. Adobe Acrobat - jak
ten juz zwisnie to niczym go nie wyrzucisz z pamieci, nawet DLLmaster sie
poddaje. Dopiero restart systemu zalatwia sprawe.

Misia nie uzywam. Netscape tez sie wiesza, ale zwykle wylatuje pieknie :-)

Ponadto nie masz kontroli nad tym kiedy winda uzna ze jakis proces
nie dziala poprawnie.
Dlatego potem sam piszesz zle o MS i nie ma to nic wspolnego z moda :-)
Nie ma systemu idealnego : trzeba zdawac sobie sprawe z ograniczen to i
rozczarowanie bedzie mniejsze. No i nie zwalac wlasnego niechlujstwa
programistycznego na system. Jak czasem patrze na obsluge wyjatkow jaka
ludzie pisza to dziw bierze ze te programy w ogole dzialaja...

Zwalac. Koncepcja windy zacheca do niechlujstwa..

[...] sa rozne metody bycia niegrzecznym. Zajac cala dostepna pamiec,
generowac procesy szybciej niz administrator moze je ubijac, przepelnic
tablice semaforow czy lockow itp..
Nie mowimy o ewidentnych bledach programowych, czy zlosliwosci programisty,
tylko o odpornosci systemu na nieprzewidziane bledy.

No wlasnie. Programista sie pomyli i przestanie zwalniac pamiec, a po
chwili system stanie .. No - system moze i dziala, tylko jego dzialanie
sprowadza sie do logowania "not enough memory". Albo sie programista
pomyli w forkach, o co latwo, i zakonczy sie to "no more processes" ..

Winda jest nakladka na DOSa :o)
Coraz mniej.
Win2K to NT. Zwykla winda uruchamia sie w trybie dosowym (do ME jest
odpowiedni patch) a dopiero potem startuje kernel32 i przelacza procka w
protected mode..

No i DOS mozna zapomniec jesli nie ma nietypowych urzadzen.
Podobnie mozna by mowic ze linux to nakladka na DOS, bo ja go startuje
loadlin ...

To taki ulepszony NC.
Eee, nie, jesli chodzi o porownanie z NC - to pogorszony :-)
o)))))

DLugo odpalalem NC w okienku. Teraz przez dlugie nazwy bylem zmuszony
przesiasc sie na Windows Commander [polecam] :-)


J.

Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sat, 17 Mar 2001 06:56:15 +0100


Witam,

"J.F." wrote:

On Fri, 16 Mar 2001 14:25:03 +0100, MaraBut <martys_at_nospam_priv.onet.pl> wrote:
J.F. napisał...
Nie do konca - w win32 juz jest wywlaszczanie ..
Bez ochrony zasobow systemowych ? Ladne mi wywlaszczanie.
Ochrona byla juz dawniej.
Chcesz powiedziec ze np. w W98SE nie da sie uruchomic programiku w asm
zerujacego CALA pamiec RAM ? Chyba odgrzebie swoje archiwa sprzed paru lat -
ale nie sadze zeby cos sie zmienilo.

Wydaje mi sie ze to juz bylo w 3.x, od pewnego modelu pamieci wzwyz.
W kazdym badz razie juz wtedy przydzielano pamiec do programu w
segmentach 286, a one pewna protekcje mialy ..
Zreszta - skad niby ten blad GPF ? General PROTECTION Fault.

Powody wystąpienia wyjątku #0D:
1) Przekroczenie granic segmentu podczas dostępu z użyciem CS, DS, ES
(także FS,
GS w 386 i 486)
2) przekroczenie granic segmentu przy dostępie do tablicy deskryptorów,
3) przekazanie sterowania do segmentu nie będącego segmentem kodu,
4) próba zapisu do segmentu kodu lub segmentu danych z zakazem zapisu,
5) próba odczytania segmentu kodu,
6) załadowanie do rejestru SS deskryptora segmentu z zakazem zapisu,
7) załadowanie do rejestru SS, DS, ES (FS i GS w 3 i 486) deskryptora
segmentu
systemowego,
8) załadowanie do rejestru DS, ES (FS i GS w 3 i 486) deskryptora
segmentu kodu,
który nie ma zezwolenia odczytu,
9) Załadowanie do rejestru SS deskryptora segmentu kodu,
10) próba dostępu do pamięci z adresowaniem za pośrednictwem DS, ES,
(FS, GS),
gdy wymieniony rejestr zawiera zerowy selektor,
11) Przełączanie zadań, gdy nowe zadanie jest zajęte,
12) Odwołanie do niedopuszczalnego poziomu ochrony,
13) Przekroczenie ograniczenia długości instrukcji (wraz z
przedrostkami) = 10B
dla 286; 15B dla (3/4)86
14) próba włączenia stronicowania w trybie rzeczywistym (386 i 486)
15) przejście do procedury obsługi na poziomie różnym od 0 przez furtkę
przerwania lub potrzasku w trybie wirtualnym 8086 (386 i 486),
16) Argument operacji zmiennoprzecinkowej nie jest zawarty w całości w
granicach
segmentu (486).

(przepraszam za przydługie wyliczenie, ale obrazuje ono ilość przyczyn
GPF-a)

1)- błąd w programie, niezwiązane z systemem (program próbuje się
wydostać poza
segment)- jedynie z pracą procesora w trybie chronionym (czyli tzw.
32-bitowym),
Podobnie dla 2, 3, 5, 6, 7, 9, 10.

Wszystkie te powody wystąpienia GPF-a są związane z trybem pracy
procesora i
wykrzaczeniem się programu jako takiego, a nie z włączeniem jakiejś
szczególnej
ochrony przez system operacyjny. Niektóre przypadki obejmują celowe
działania
systemu operacyjnego mające na celu ochronę. Ale np. powód 10 to bardzo
prosty do
uzyskania błąd w programie. Ładujesz 0 do rejestru segmentowego i już.


Byc moze jakims niestandardowym podejsciem da sie dostac do calej pamieci ..

Po prostu- dobierając się do odpowiednich części pamięci- np.
tablicy
deskryptorów segmentów... Jeśli przypadkiem nie jest chroniona, to można
zrobić
wszystko...


Dwadziescia sekund... a w tym czasie sterowany z kompa robot zdazy wybic
dziure w scianie.

A w innym systemie masz inaczej ? Programy pod unixami potrafia
sie zawiesic na dluzej na urzadzeniu - co gorsza, wtedy ani ich ubic,
ani odblokowac urzadzenia sie nie da ..

Poza tym wymagana jest interwencja uzytkownika. Nie ma
czegos w stylu watchdoga systemowego ktory ubijalby wiszaca aplikacje o ile
nie zglosi sie w okreslonym czasie.

W unixach tez nie ma :-)

Czy ja wiem??? Jeśli można ubić proces zajmujący większość czasu
procesora,
to i taki, co wisi, też można. Wystarczy, że nie wyśle komunikatu do
nadzorcy.
Nigdy tego nie robiłem, ale jestem w stanie sobie wyobrazić. MZS- żaden
większy
problem.


Tak? Sztandarowym przykladem sa pluginy do MSIE : np. Adobe Acrobat - jak
ten juz zwisnie to niczym go nie wyrzucisz z pamieci, nawet DLLmaster sie
poddaje. Dopiero restart systemu zalatwia sprawe.

Misia nie uzywam. Netscape tez sie wiesza, ale zwykle wylatuje pieknie :-)

W całości wszystkich swych kopii... Ech... I nie jestem pewien (to
pierwsza
rzecz, którą po zainstalowaniu AAR 4.05 zrobiłem- wyłączyłem
integrowanie się z
przeglądarką), czy pluginy w rodzaju AAR też tak ładnie wylatują.


[...] sa rozne metody bycia niegrzecznym. Zajac cala dostepna pamiec,
generowac procesy szybciej niz administrator moze je ubijac, przepelnic
tablice semaforow czy lockow itp..
Nie mowimy o ewidentnych bledach programowych, czy zlosliwosci programisty,
tylko o odpornosci systemu na nieprzewidziane bledy.

No wlasnie. Programista sie pomyli i przestanie zwalniac pamiec, a po
chwili system stanie .. No - system moze i dziala, tylko jego dzialanie
sprowadza sie do logowania "not enough memory". Albo sie programista
pomyli w forkach, o co latwo, i zakonczy sie to "no more processes" ..

Nie tak łatwo. Zawsze można ograniczyć użytkownikowi ilość
dostępnych
procesów. W ostateczności proces zostanie ubity. Ale nie wszystko i to
czasami z
testem pamięci na dokładkę.


DLugo odpalalem NC w okienku. Teraz przez dlugie nazwy bylem zmuszony
przesiasc sie na Windows Commander [polecam] :-)

Popatrz na Far-a :-).


Pozdrawiam,

Marcin.


--
'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'


Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sat, 17 Mar 2001 11:46:45 +0100



J.F.napisal :
Ochrona byla juz dawniej.
Chcesz powiedziec ze np. w W98SE nie da sie uruchomic programiku w asm
zerujacego CALA pamiec RAM ? [...]
Wydaje mi sie ze to juz bylo w 3.x, od pewnego modelu pamieci wzwyz.
W kazdym badz razie juz wtedy przydzielano pamiec do programu w
segmentach 286, a one pewna protekcje mialy ..
Zreszta - skad niby ten blad GPF ? General PROTECTION Fault.

No wiesz - jesli "ochrona" polega na wykladaniu sie systemu ("blue screen")
to mozna sobie ja wsadzic...

Eee - bardzo latwo. Ctrl-Alt-Del, wybierasz "proces ** nie
odpowiada",
"zakoncz zadanie" i po 20s procesu nie ma :-)
Dwadziescia sekund... a w tym czasie sterowany z kompa robot zdazy wybic
dziure w scianie.
A w innym systemie masz inaczej ? Programy pod unixami potrafia
sie zawiesic na dluzej na urzadzeniu - co gorsza, wtedy ani ich ubic,
ani odblokowac urzadzenia sie nie da ..
Toz ja nie bronie Ux - w QNX bodajze jest mozliwosc sprawdzenia stanu
procesu przez system, jak i ubicia go z poziomu aplikacji o wyzszym
priorytecie - wtedy napisanie watchdoga jest proste.

[...]przykladem sa pluginy do MSIE : np. Adobe Acrobat
Misia nie uzywam. Netscape tez sie wiesza, ale zwykle wylatuje pieknie :-)
To nie misie zawisaja tylko Acrord32.dll - a niby Adobe to taka porzadna
firma :o).

[...]nie zwalac wlasnego niechlujstwa
programistycznego na system. Jak czasem patrze na obsluge wyjatkow jaka
ludzie pisza to dziw bierze ze te programy w ogole dzialaja...

Zwalac. Koncepcja windy zacheca do niechlujstwa..
Eee tam - tak samo kiedys zwalczano Basic a zachwalano Pascal. Jak
programista jest niechlujem to nawet jezyk logiki formalnej mu nie pomoze
;o)))))

Nie mowimy o ewidentnych bledach programowych, czy zlosliwosci
programisty,
tylko o odpornosci systemu na nieprzewidziane bledy.

No wlasnie. Programista sie pomyli i przestanie zwalniac pamiec, a po
chwili system stanie .. No - system moze i dziala, tylko jego dzialanie
sprowadza sie do logowania "not enough memory".
Nie - system ma ograniczenia w quotach zasobow na 1 proces, wiec bedzie
logowal "heap space request failed" i tyle.
Pozostale procesy nawet tego nie zauwaza :o))))))

DLugo odpalalem NC w okienku. Teraz przez dlugie nazwy bylem zmuszony
przesiasc sie na Windows Commander [polecam] :-)

Ja uzywam Powerdeska - przywyklem po krotkim czasie i juz mi ciezko pracowac
w Nortonie, bo skroty klawiszowe Nortona nijak sie maja do standardow windy
(np. F3 View vs. Find next)

M.





Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sat, 17 Mar 2001 06:53:14 +0100


Witam,

MaraBut wrote:

Windows jest systemem wielozadaniowym ???? A kto ci takich hmm... dziwnych
;o) rzeczy naopowiadal ? Dopiero NT ma wiekszosc cech systemu
wielozadaniowego (np. pelne wywlaszczanie, ochrone systemowych obszarow
pamieci, czy mechanizmy pelnej emulacji maszyny wirtualnej albo HAL(hardware
abstraction layer).

No jak to! Przecież 'windows 95 to pierwszy wielozadaniowy system operacyjny
z wywłaszczaniem', nieprawdaż??? ;-)))


Jak ktos potrzebuje systemu wielozadaniowego to jest np.
QNX albo cos w rodzaju RT Linuxa (chyba tak sie to nazywalo AFAIR).

Albo Linux for Embedded Machines (w skrócie LEM :-) ).


Powtorze

[ciach]

grupe pl.comp.programming ...

Wiem przecież... Ale raklamy i odkrywcze stwierdzenia M$ robiące ludziom
wodę z mózgu 'trochę' mnie denerwują.


Nie zgadzam sie. To system jest kiepsko napisany, dlatego nic nie
dziala.
Ten system jest napisany inaczej niz bys chcial i dlatego masz pretensje.
o)

Może raczej inaczej, niż sam bym to zrobił (w podtekście- to można to zrobić
bardziej idiotycznie, niż ja bym to zrobił??? ;-)) )


Metoda jest wlasciwa- prosze system o dostarczenie znaku. Znaku nie ma- to
wisze
(system mnie zawiesza) az znak przyjdzie albo az sie czas oczekiwania
skonczy.
A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ?

Ależ niczym, niczym. Pisanie rysikiem od pisania na maszynie też się niczym
w skutkach nie różni- w obu przypadkach efekterm jest tekst zapisany na mniej
lub bardziej przenośnym materiale :-))). No, może tylko w pierwszym przypadku
można łatwiej paść pod jego ciężarem ;-).


Gdy cos przyjdzie, system zglosi komunikat i
ponownie przekaze sterowanie do programu. Jest to metoda "cooperative"
zamiast "preemptive".

To tak jakby policja stosowała metodę 'cooperative'- my poczekamy, a
przestępca niech się sam zgłosi...


Pewnie, ze nie jest to wygodne, ale Winda pochodzi od
DOSa, nie Unixa i ma inne obciazenia dziedziczne.

A tu zgodzę się z J.F.- winda pochodzi od windy. I to baaaardzo widać.


Gdyby pochodzila od
systemu zorientowanego na wielodostep pewnie wygladaloby to inaczej.
Zwroc tez uwage, ze w tym czasie mozesz realizowac inne watki (wontki :o)
programu - np. przetwarzac poprzednie dane, albo wyswietlac wyniki, zamiast
czekac w petli na kolejne znaki.

Czuje sie nieprzekonany :-).


Jest to namiastka przetwarzania rownoleglego.

Mhmmmm... hulajnoga na kwadratowych kołach namiastką Mercedesa? ;-)


Tak dziala "prawdziwy" OS, ktory nie dopuszcza do przejecia kontroli nad
sprzetem przez proces uzytkownika, tylko zapewnia mu "maszyne wirtualna"
ktora bedzie go wykonywac, w okreslonych przez system warunkach. Windows nie
jest "prawdziwym..." itp. itd.
;o)

Co innego powiadała jeszcze niedawno f-ma M$... No i wierz tu, człowieku,
reklamie... ;-)))


Programowanie w Windows oparte jest o obsluge zdarzen, o ktorych
informuje
cie system poprzez komunikaty.
Przynajmniej jedna rzecz w miare O'K.
Jak widzisz niektore cechy sa ...

W wypadku hulajnogi ma się bezpośredni dostęp do nieprzebranych zasobów
świeżego powietrza ;-).


Aaaa... tu jest pies pogrzebany ;o))))
Winda be - Linux cacy ?

Niekoniecznie. uC/OS też ma podobną konstrukcję. Z ograniczeniami związanymi
z konstrukcją procesora, ale jednak. Semafory, kolejki, priorytety... Tylko
brakuje porządnych mechanizmów sprzętowych i byłoby coś, co trudniej wywalić od
Loosedows.


Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego faktu
nie neguje.

Do biura też nie bardzo...


Tak jak nikt nie neguje faktu, ze dla niefachowca jest prostsza od systemow
unixowych i to jest glowna przyczyna popularnosci Windows. Ludzie sa leniwi
z natury i nie lubia sie za wiele uczyc.

Nie podzielam. MAC-OS. I jeszcze kilka innych pomysłów. Skuteczny marketing
bardziej, niż cokolwiek innego.


Nie zawsze system lepszy zdaniem fachowcow, jest bardziej popularny wsrod
uzytkownikow. Przypomnij sobie jak to bylo w branzy wideo : system VHS
wyparl system Beta, pomimo oczywistych zalet tego ostatniego...

Dlatego właśnie (powody popularności VHS) uważam, że Lin zagrozi pozycji
Windows :-))).


A to z zupelnie innych powodow. Nie sposob oszacowac czasu dzialania
takiej
petli, wiec opoznienie czasowe moze byc... dziwne.
A z tym sie nie zgodze... jesli jako warunek wyjscia z petli przyjmiesz
konkretna wartosc timera systemowego, albo chocby stan licznika komponentu
TTimer to opoznienie czasowe bedzie dokladnie okreslone ! Tyle ze
zablokujesz winde na ten czas.

Jeśli tak, to po prostu wadliwa konstrukcja systemu.


A jesli nie jest potrzebna taka obsluga? Windows stoi, system (czyli
np.
Unix) dziala.
Ale widziales gdzies BC++ Buildera pod Unixa ?

Nie. I nie wiem, czy bym wytrzymał- Borland potrafi zrobić kilka błędów w
swoich produktach. Niekoniecznie niezamierzonych (np. backdoor w bazie danych
Inprise-a). Poza tym- widziałem 'dzieło' domorosłego 'programisty' zrobione pod
jakimś 'Visual' czy innym 'Builderem'. Teraz już wiem, skąd się wziął program
'płatnik'... Myślenie zastąpione GB i GHz. Sokoban z wymaganiami- PIII800, 256
MB RAM, 1GB na dysku. Ech- szkoda gadać... Kiedyś wystarczało 10KB i wcale się
nie trzeba było bawić w asmie. Szybkość działania była podobna.


Bo ja nie... a IMHO programowanie w GNU Cpp pod X-windows jest o wiele
bardziej klopotliwe niz stosowanie sie do kilku prostych zasad pod
windowsem. Tam gdzie wymagana jest wieksza niezawodnosc - tam po prostu nie
uzywa sie windy.

Patrz np. bankomaty niejakiego PKO BP SA :-).


To oczywiscie jedynie uwagi na temat Windows, nie na temat
oryginalnego
problemu i, jak w tytule, zapiski malkontenta :-).
Oczywiscie :o)))))
Sformulowanie problemu powinno brzmiec : jak wykorzystac winde zeby udawala
system wielozadaniowy. Z tym chyba mozemy obaj sie zgodzic...

-)))))))))))))


'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'

Hmmm... "az bamba sie odmurczy i gola powroci" ?

Zdecydowanie :-).


Pozdrawiam,

Marcin.

--
'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'





Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sat, 17 Mar 2001 11:47:02 +0100


Marcin Wolcendorf napisał:
No jak to! Przecież 'windows 95 to pierwszy wielozadaniowy system
operacyjny
z wywłaszczaniem', nieprawdaż??? ;-)))
o))))))))))
Potega reklamy....

Jak ktos potrzebuje systemu wielozadaniowego to jest np.
QNX albo cos w rodzaju RT Linuxa (chyba tak sie to nazywalo AFAIR).

Albo Linux for Embedded Machines (w skrócie LEM :-) ).
Otoz to - cesarzowi co cesarskie...
;o)

[...]reklamy i odkrywcze stwierdzenia M$ robiące ludziom
wodę z mózgu 'trochę' mnie denerwują.
Nie tylko Ciebie :o) Podejrzewam, ze spora czesc narzekan na winde to
naturalna reakcja na nachalna reklame M$.
Ostatnio posuneli sie do propozycji : " Tired with blue screens ? Get Win2K"
o))))
wiec moze to nie bugi tylko polityka handlowa firmy ?
;oP

A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia
dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ?
Ależ niczym, niczym.[...]
No nie - mialem na mysli ze w pierwszym przypadku program chodzi w petli i
czeka - marnujac czas bezproduktywnie, tutaj zwraca go systemowi. Ten
ostatni odda mu sterowanie gdy tylko zajdzie zdarzenie na ktore program
oczekuje. Jest to bardziej efektywne wykorzystanie zasobow niz w
"klasycznym" podejsciu.

[...]Jest to metoda "cooperative" zamiast "preemptive".
To tak jakby policja stosowała metodę 'cooperative'- my poczekamy, a
przestępca niech się sam zgłosi...
A nie stosuje ? Ukradli Ci kiedys np. radio z samochodu ?
o(((((((((((

Jest to namiastka przetwarzania rownoleglego.

Mhmmmm... hulajnoga na kwadratowych kołach namiastką Mercedesa? ;-)
No ale jakos jezdzi - zobacz uwagi J.F. o winmodemach :o)

[...] Windows nie jest "prawdziwym..." itp. itd.
;o)
Co innego powiadała jeszcze niedawno f-ma M$... No i wierz tu,
człowieku,
reklamie... ;-)))
No coz... kiedys w "Komputerze" (bylo takie czasopismo w latach 80-tych)
wydrukowali slowniczek terminow uzywanych w reklamie : np. "absolutnie
rewolucyjny = niezgodny z niczym", "najnowszy produkt = bedzie duzo bledow"
itp.
o))))
Nie ma takiej rzeczy jak darmowy obiad...

Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego
faktu
nie neguje.
Do biura też nie bardzo...
Popracuj troche w Staroffisie a przekonasz sie co mam na mysli - innym
systemom duuuzo jeszcze brakuje do poziomu "user friendly" windy, pomimo
oczywistych brakow tej ostatniej.

Nie podzielam. MAC-OS. I jeszcze kilka innych pomysłów. Skuteczny
marketing
bardziej, niż cokolwiek innego.
raczej polityka sprzedazy - ale zawsze mozesz sie przesiasc na MACa,
nieprawdaz ?
;o)


[...]uważam, że Lin zagrozi pozycji Windows :-))).
Juz zagraza - ale nie w komputerach biurowych / korporacyjnych ktore
stanowia glowny rynek PC. Rosnie mlode pokolenie dla ktorego komputer to
codziennosc, ktore nie boi sie wyrafinowanej konfiguracji sprzetu i nie
kladzie takiego nacisku na "przyjaznosc" : grupy linuksowe pelne sa porad
typu RTFM, a nie szczegolowych instrukcji.
Windows spelnilo wielka role we wprowadzeniu komputerow "pod strzechy", dla
ludzi ktorzy z informatyka nie mieli nic wspolnego i nie mieli szans (ani
ochoty) zdobycia doglebnej wiedzy. Bardzo mozliwe, ze odejdzie do lamusa
wraz z tym pokoleniem - bo nastepne bedzie mialo inne wymagania.

Ale widziales gdzies BC++ Buildera pod Unixa ?
Nie. I nie wiem, czy bym wytrzymał- Borland potrafi zrobić kilka błędów w
swoich produktach. Niekoniecznie niezamierzonych (np. backdoor w bazie
danych
Inprise-a). Poza tym- widziałem 'dzieło' domorosłego 'programisty'
zrobione pod
jakimś 'Visual' czy innym 'Builderem'. Teraz już wiem, skąd się wziął
program
'płatnik'... Myślenie zastąpione GB i GHz. Sokoban z wymaganiami- PIII800,
256
MB RAM, 1GB na dysku. Ech- szkoda gadać... Kiedyś wystarczało 10KB i wcale
się
nie trzeba było bawić w asmie. Szybkość działania była podobna.
Ale nie jesli chciales bawic sie w GUI. Nie musisz mi wierzyc na slowo :
jest biblioteka AlfaGUI dla C++ (tak GNU jak i Borlanda). Zrobienie w tym
prostego programu przestaje byc proste...
o(
Z punktu widzenia niefachowca - np. elektronika, ktory czasem cos musi
napisac - srodowiska RAD sa wybawieniem. Nie sa tez obowiazkowe : w C++
mozna pisac aplikacje pod winde uzywajac standardowych odwolan do API, ale
to katorga IMO.
No i mialbys do wyboru moze 5% aplikacji w porownaniu ze stanem obecnym :o)
A co sie tyczy "myslenia GB iGHz" - to jest myslenie ekonomiczne. Koszt
takiego sprzetu jest dzis taki jak kiedys 286 z dyskiem 20MB, a program
trzeba szybko zrobic i szybko sprzedac zeby sprostac wymogom rynku. Zobacz
na rynek gier : gra ktora tworcy chca dopracowac z reguly ukazuje sie za
pozno i slabiej sprzedaje, albo jest przestarzala w momencie wyjscia (zobacz
casus Unreala).

Tam gdzie wymagana jest wieksza niezawodnosc - tam po prostu nie
uzywa sie windy.

Patrz np. bankomaty niejakiego PKO BP SA :-).
o)

Pozdrawiam
MaraBut





Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Wolcendorf <wolcendo_at_nospam_free.polbox.pl>
Subject: Re: zapiski malkontenta ;-).
Date: Sun, 18 Mar 2001 14:52:49 +0100




MaraBut wrote:

No jak to! Przecież 'windows 95 to pierwszy wielozadaniowy system
operacyjny
z wywłaszczaniem', nieprawdaż??? ;-)))
o))))))))))
Potega reklamy....

Ja bym to eufemistycznie nazwał potęgą naiwności...


Nie tylko Ciebie :o) Podejrzewam, ze spora czesc narzekan na winde to
naturalna reakcja na nachalna reklame M$.

Też tak myślę. Moje w pewnym stopniu też.


Ostatnio posuneli sie do propozycji : " Tired with blue screens ? Get Win2K"
o))))

A co, zmienili kolor? Jaki jest teraz- różowy?


A czym sie to ( w skutkach - nie w metodzie) rozni od ustawienia
dlugosci
bufora na oczekiwana liczbe znakow (moze byc i 1 znak) i przekazanie
sterowania do systemu ?
Ależ niczym, niczym.[...]
No nie - mialem na mysli ze w pierwszym przypadku program chodzi w petli i
czeka - marnujac czas bezproduktywnie, tutaj zwraca go systemowi. Ten
ostatni odda mu sterowanie gdy tylko zajdzie zdarzenie na ktore program
oczekuje. Jest to bardziej efektywne wykorzystanie zasobow niz w
"klasycznym" podejsciu.

Tak, i dostajesz zamiast programu, zbiór pozornie niezależnych od siebie
procedur, które musisz jakoś powiązać. Co kto lubi- osobiście wolę mieć coś, co
jest jak najbardziej podobne do klasycznego programu z jednym wątkiem. Jeśli
chcę więcej wątków, to wolę np. sam je sobie stworzyć.


To tak jakby policja stosowała metodę 'cooperative'- my poczekamy, a
przestępca niech się sam zgłosi...
A nie stosuje ? Ukradli Ci kiedys np. radio z samochodu ?
o(((((((((((

Moze moim szczęściem jest brak samochodu ;-).
Wiem, że stosuje. Dlatego właśnie podałem taki przykład. Dość dobrze
obrazuje, o co mi chodzi.


No coz... kiedys w "Komputerze" (bylo takie czasopismo w latach 80-tych)

No- teraz niby też jest... Ale wtedy było o niebo lepsze.


wydrukowali slowniczek terminow uzywanych w reklamie : np. "absolutnie
rewolucyjny = niezgodny z niczym", "najnowszy produkt = bedzie duzo bledow"
itp.
o))))

Tak, pamiętam.
Szczęściem większość (bo pewnie nie wszystkie) tekstów o 'doskonałości'
produktów jestem w stanie (jak sądzę) odsiać :-).


Przeciez swietnie wiadomo, ze winda to "biurowy" system operacyjny i do
sterowania procesami przemyslowymi nijak sie nie nadaje. I nikt tego
faktu
nie neguje.
Do biura też nie bardzo...
Popracuj troche w Staroffisie a przekonasz sie co mam na mysli - innym
systemom duuuzo jeszcze brakuje do poziomu "user friendly" windy, pomimo
oczywistych brakow tej ostatniej.

Popracowałem. Popracowałem też pod Lotusem. Oraz pod WP for dos. I ten
ostatni podoba mi się najbardziej.


Ale nie jesli chciales bawic sie w GUI. Nie musisz mi wierzyc na slowo :
jest biblioteka AlfaGUI dla C++ (tak GNU jak i Borlanda). Zrobienie w tym
prostego programu przestaje byc proste...
o(

Ale ja nie chcę GUI... Większość tego, co robię, GUI nie potrzebuje.


Z punktu widzenia niefachowca - np. elektronika, ktory czasem cos musi
napisac - srodowiska RAD sa wybawieniem.

No i dobrze! Tylko niech komputer nie zastępuje własnego mózgu!


Nie sa tez obowiazkowe : w C++
mozna pisac aplikacje pod winde uzywajac standardowych odwolan do API, ale
to katorga IMO.

Bo to zależy od filozofii- czy chce się mieć program ładny, czy działający.
Tak ostatnio też miałem- mój programik zasysający ze stdin i wypluwający na
stdout (mały i szybki) działał, kolegi- śliczny, elektrodynamiczny, z okienkami,
fontannami, przyciskami i Bóg jeden wie, czym jeszcze- jakoś się wykrzaczał...
Idea (moja) jest prosta- zrobić program, który działa. Wizualizację można
zrobić jako zupełnie inny program korzystający z dobrze działającego programu
rozwiązującego problem. Mnie jak dotąd z reguły się nie chce jej robić. Robię
helpa i koniec :-). Nb. w ten sposób działają np. CD-rippery pod X-ami.
Korzystają z CD-paranoi, jakiegoś mp3-kompresora i jeszcze kiku innych programów
działających z linii poleceń.


No i mialbys do wyboru moze 5% aplikacji w porownaniu ze stanem obecnym :o)

5% działających programów zamiast 100% bubli? To ja wolę mieć te 5%...


A co sie tyczy "myslenia GB iGHz" - to jest myslenie ekonomiczne.

Jeśli jest to myślenie, to może być. Bo ja mam wątpliwości. Bubblesort też
działa. Ale jego złożoność jest 'trochę' niekorzystna...


Koszt
takiego sprzetu jest dzis taki jak kiedys 286 z dyskiem 20MB, a program
trzeba szybko zrobic i szybko sprzedac zeby sprostac wymogom rynku.

No i tu jest pies pogrzebany- mam wrażenie, że w opinii znacznej części
użytkowników komputerów program, który ma kilka lat to już jest taki staroć, że
nie warto nawet spojrzeć. A tymczasem w WP 6.0 for DOS wygodniej mi się pisze
teksty, niż w którymkolwiek Office, z jakim miałem okazję się zetknąć. Zwłaszcza
teksty zawierające takie ładne wzorki z sumami, nieskończonościami, deltami,
omegami i całą resztą...


Zobacz
na rynek gier : gra ktora tworcy chca dopracowac z reguly ukazuje sie za
pozno i slabiej sprzedaje, albo jest przestarzala w momencie wyjscia (zobacz
casus Unreala).

A to IMO zupełnie inna rzecz. W końcu pisanie tekstów lub tworzenie
schematów czy też rysunków technicznych raczej nie jest zabawą; a gry to po
prostu zabawki. Tu, w przypadku gier, istotne jest (i zawsze tak było), by
wykorzystać sprzęt na max. i wypuścić olśniewający produkt na tyle szybko, by
zdobyć rynek (poza tym- nowe efekty szybko się znudzą, więc należy się
pospieszyć). Co może być olśniewającego albo przełomowo nowego w arkuszu
kalkulacyjnym- nie wiem. Podobnie np. w przypadku autoroutera wisi mi, czy ma on
np. wizualizację i super-środowisko- jeśli jest skuteczny na tyle, że robi
płytkę i nie trzeba za dużo poprawiać, to może sobie działać i z linii poleceń a
wynik wypluwać na stdout. A jeśli ma być jeszcze przez GUI i inne tego typu
fontanny 10x droższy...



Pozdrawiam,

Marcin.



--
'Chrzęskrzyboczek pacionkociewiczarokrzysztofoniczny'




Poprzedni Następny
Wiadomość
Spis treści
From: "Maciej Wywrocki" <wywrocki_at_nospam_pnet.pl>
Subject: Re: BC++Builder i zatrzymanie transmisji - programowanie pod Windows w praktyce.
Date: Fri, 16 Mar 2001 02:52:41 +0100



Użytkownik "MaraBut" <martys_at_nospam_priv.onet.pl> napisał w wiadomości
news:98ptdj$neb$1_at_nospam_news.onet.pl...

Mam nadzieje ze powyzsze jest dostatecznie jasne i przyda sie w
pokonywaniu
poczatkowych trudnosci.

Za kilka dni stane przed podobnym problemem, wiec dzieki za naprowadzenie,
bedzie od czego zaczac :).

Mw



Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: BC++Builder i zatrzymanie transmisji - programowanie pod Windows w praktyce.
Date: Sat, 17 Mar 2001 11:47:35 +0100


Maciej Wywrock napisał :
Za kilka dni stane przed podobnym problemem, wiec dzieki za naprowadzenie,
bedzie od czego zaczac :).

Zycze powodzenia :o)

M.





Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: BC++Builder i zatrzymanie transmisji
Date: Fri, 16 Mar 2001 09:13:40 +0100


Ed napisał...

Jestem elektronikiem i nie mam ogromnego doświadczenia w programowaniu
[...]

Poczytaj tez sobie jakas ksiazke o podstawach programowania pod winda, albo
jesli masz dostep do sieci zajrzyj np.

http://www-rcf.usc.edu/~pagbabia/

Powodzenia
M.



Poprzedni Następny
Wiadomość
Spis treści
From: "MaraBut" <martys_at_nospam_priv.onet.pl>
Subject: Re: BC++Builder i zatrzymanie transmisji
Date: Fri, 16 Mar 2001 09:39:21 +0100


MaraBut zapodal :
jesli masz dostep do sieci zajrzyj np.

http://www-rcf.usc.edu/~pagbabia/


Wycofuje com byl rzekl :o)))
To jest tylko przeglad SDK - wlasciwa dokumentacja bedzie w SDK, niestety.
Ale mysle ze da sie to sciagnac z sieci, pomimo rozmiaru :o(
Zamiast tego proponuje linki na :
http://www.epanorama.net/pc/programming.html

M.