Re: Ostatnie uaktualnienia

Autor: Piotr Oniszczuk (wolodzia_at_kki.net.pl)
Data: Mon 17 Sep 2001 - 00:26:32 MET DST


lewhoo_at_teamos2.org.pl (Lech Wiktor Piotrowski) wrote:

> On Sun, 16 Sep 2001 13:07:26 +0200 (MET DST), Marek Wojciechowski wrote:
>
> >Hej,
> >
> >subiektywna) typu Netscape, Java, ProNews. Generalnie system jakby
> > wawszy.
> >
>
> No wlasnie, kto mnie durnemu wytlumaczy, oco chodzi z tym "new feature" w nowym
> kernelu? Ze aplikacja moze zmieniac priorytet procesow? nie, to chyba nie...

Well - na wstępie zaznaczam że jest słaby w tłumaczeniach....

Kernel osa to dwie połowki - top i bottom. Top chodzi na na RING3 i
jest w pełni preemptive, zaś bottom to RING0 - i dla odmiany działa
całkowicie cooperative multitask (co ma swoje rozliczne zalety np.
podczas pisania driverów - kernel na ring0 poprostu nie wywwłaszczy
drivera tak jak to może w w NT...).

Timer systemowy to RTC generujacy przerwanie co 32ms. W top kernel
moze dojść do przełączenia tasków gdy czas tasku jest większy niż 32
ms - takie przełaczenia zachdzi przy wywołaniu funkcji kernela (chyba
że minął czas MAXWAIT) - wtedy wywłaszczenie jest preemptive - via
timer systemowy.

Jak widać jeśli CPU jest szybkie - to wątek może zrobić swoją robotę w
czasie <32ms i oddać sterowanie do kernela - ten zaś poczeka do
pełnych 32 ms i przełączy się do na inny task (tak naprawdę to
specjalnie poczeka do najbliżeszego wywołania kernela i przełaczy się
wtedy - niezbędny do przeładowania kontekst jest wtedy minimalny -
stąd multithreading w osie jest taki qll).

Jeśli więc okres timera skrócimy - to można zarobić na tych okresach
bezczynności - jest to świetnie widoczne w Javie i Mozilli - jako
aplikacjach gdzie odpytwywanie UI z racji multiplatform jest bardziej
typu pooling niż event driven....

Odliczanie odcinków czsowych dla apl. pozostaje bez zmian - porzez
zwykłe wywoływanie soft timerów co zadaną liczbę hardwarowego timera.

Sorki za zagmatwanie - ale nie wiedziałem jaki poziom szczegołów tech.
dobrać.... (poza tym pękło już parę browarów) ;-p

        

-- 
cYa, 3.14iotr/2
Dobry programista wiesza się z programem....
Hiroshima'45;   Czernobyl'86;   Windows'95 
Zwrotne bajty daj na "wolodzia_at_kki.net.pl"


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:33:38 MET DST