🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #1448

Re: Zadanie w tle.

#1448
From: sektor
Date: Thu, 12 Feb 1998 11:51
53 lines
3377 bytes
W poprzednim odcinku Marcin Laszewski <laser@priam.umcs.lublin.pl> naskrobal:
: Czy jesli w trakcie zapisu na dysk zegar zasugeruje, ze czas cos pomierzyc
: to co sie stanie? Przerwie sie na chwile zapisywanie i wykona pomiar?
: W ogole przerwanie zegarowe nie jest generowane w tym czasie? 

Moim - niekoniecznie slusznym - zdaniem zrobisz, jezeli bedziesz wykonmywal
dumping danych po zaplenieniu bufora. I to nie w przerwaniu zegarowym, lecz
zaraz po dokonaniu pomiaru. I lepiej, zebys sie zmiescil w czasie przed
nastepnym pomiarem.

Bardzo czesto zdarza sie, ze przerwania wykorzystywane sa do przesady.
Nie dajmy sie zwariowac! Duzo wiecej czasu, nerwow i pracy zaoszczedzisz
rezygnujac z dumpowania w przerwaniu zegarowym, a dumpujac po zapelnieniu
bufora w tym samym przerwaniu, ktore dokonuje pomiaru. Nie wiem, czy tak
znowu mozesz sobie pozwolic na to, zeby przerwac zapisywanie na czas
dokonywania pomiaru. Raczej powinienes zmiescic sie z tym zapisywaniem w czasie
przerwy. Do tego musisz oczywiscie dobrac wielkosc bufora.

Przerwanie zegarowe jest generowane, ale to jest IRQ i mozna go zamaskowac.
Ale chyba nie byloby to dla ciebie specjalnie szczesliwe.

: Najlepiej by bylo te dane jeszcze w swiat wysylac przez tcp/ip.
: Dotychczas uzywalem pod DOS-em Waterloo TCP. jakos tam sobie radzilem.
: Tyle, ze jako, iz to tez na przerwaniach oparte to nie wiem co bedzie
: jak sie jeszcze zegar napusci - pogryza sie, czy co ?

To akurat mozesz wywolywac w przerwaniu zegarowym raz na jakis czas.
Procedurka, ktora wysylalaby zdumpowane dane w siec, bedzie oczywiscie
przerywana na dokonanie pomiaru, ale to akurat nie bedzie mialo znaczenia.
Oczywiscie - jak powiedzialem - nie wiem, jakiego procesora uzywasz, jezeli
jednak nie posiada on hierarchii przerwan, to nic sie nie dzieje. Gdyby je
jednak mial (jak np. 68000 ), musialbys sie jeszcze upewnic, ze przerwanie
zapisujace na dysk nie ma wyzszego priorytetu nad zegarowym, bo jesli tak,
to pomiar w czasie zapisu na dysk sie nie dokona (przerwanie o wyzszym
priorytecie po wywolaniu blokuje de facto wszystkie przerwania o nizszym
priorytecie).

: Pomiary chce wykonywac w tle, a program glowny bedie sobie flage sprawdzac
: (i moze cos jeszcze). Jak sie buforki napelnia to je zapisze i semafor
: podniesie.

Tu musialbys bardzo uwazac. Jezeli przerwanie dokonujace pomiaru "nadepnie" ci 
na dumpowanie bufora, to przepelnisz bufor. A skutki tego moga byc rozne, nie
beda jednak szczesliwe.

Pozdrawiam,


-- 
.---.     .   . - Michal Malecki <mmalecki@technologist.com>/The things that
\___  ,-. | , |- ,-. ,-  mUd: zly.mud.org.pl 4000.         /can't destroy you
    \ |-' |<  |  | | |   uRl: www.kis.p.lodz.pl/~sektor   /make you
`---' `-' ' ` `' `-' '   pGp: sektor@zly.kis.p.lodz.pl   /stronger...
Technical Details
Message-ID: <34e2e23b.0@news.tpnet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.tpnet.pl!not-for-mail
References: <6bsn5r$8oc$2@helios.man.lublin.pl>

Show Full Headers
Complete Article Headers
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
From: sektor@mud.org.pl
Subject: Re: Zadanie w tle.
Newsgroups: pl.comp.lang.c
References: <6bsn5r$8oc$2@helios.man.lublin.pl>
User-Agent: tin/pre-1.4-980105 (UNIX) (SunOS/5.5.1 (i86pc))
NNTP-Posting-Host: zly.kis.p.lodz.pl
Message-ID: <34e2e23b.0@news.tpnet.pl>
Date: 12 Feb 98 11:51:23 GMT
Lines: 53
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.tpnet.pl!not-for-mail
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit