Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

malo teorije..

[es] :: Kernel i OS programiranje :: malo teorije..

Strane: 1 2

[ Pregleda: 9278 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PeraT

Član broj: 3403
Poruke: 43
*.ptt.yu



Profil

icon Re: malo teorije..12.06.2003. u 17:02 - pre 253 meseci
Citat:
Dragi Tata:
Na Windows-u je fiber neka vrsta niti koja nije "preemptively scheduled" (prevedi, Danilo). Umesto da sistem brine o dodeljivanju CPU vremena, ...


A sad jedno glupo pitanje: cemu ovakve stvari sluze?
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: malo teorije..12.06.2003. u 17:12 - pre 253 meseci
Bogami ste bas zamrsili diskusiju. Ja mogu da pricam samo o Windows procesima i thread-ovima.
Dakle, pocecu od razlika izmedju njih, pa dokle stignem:

1) Prvo i prvo, nekakav owner-child odnos. Ako se ne varam, process moze 'sadrzati' vise thread-ova, u smislu da je on odgovoran za njihovo unistavanje, posto ih je on i kreirao (ja volim izraz 'lansirao'). Doduse, ovo nije sto posto tacno, jer postoji i nesto sto se zove CreateRemoteThread(), ali da ne ulazimo u tu pricu sad...
2) Prioriteti. Svakom thread-u mozete zasebno podici ili spustiti prioritet, i to ni na koji nacin ne utice na prioritet process-a kojem pripada. Drugim recima, prioritet thread-a je relativan u odnosu na prioritet process-a.
Ali ako promenite prioritet process-a, promenili ste i prioritet svih thread-ova koji njemu 'pripadaju'.
3) Child process-i. Process moze imati roditeljski odnos u jos jednom smislu: a to je da moze lansirati child procese, koji su (ako ne gresim) uslovljeni postojanjem owner process-a. (Mada mislim da ovo zadnje nije i obavezno).
Thread-ovi nemaju mogucnost ownership-a ni u kom obliku. Mislim, svaki thread moze lansirati proizvoljan broj process-a i thread-ova, ali ne moze biti 'owner' ni jednom od njih (bar ne onako kako to Windows uslovljava).
4) I da, cini mi se da sam video da postoji mogucnost kreiranja process-a bez osnovnog thread-a; mada nemam predstavu sta i kako, i da li uopste to nesto radi. Pod 'osnovnim' thread-om podrazumevam ThreadWindow objekat; znaci, nesto sto omogucava komunikaciju process-a sa ostatkom sveta (da, mislim na poruke).
S druge strane, ne mozete kreirati thread bez process-a, to jest svaki thread mora imati svog owner-a (process).

Nemam vise ideja.
Pozdrav

Rajko

P.S. Definicija process-a? Pa, recimo ovako nesto: process je ZAHTEV sistemu za dodelu procesorskog vremena...
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: malo teorije..12.06.2003. u 18:24 - pre 253 meseci
Citat:

A sad jedno glupo pitanje: cemu ovakve stvari sluze?


E, na to pitanje neka ti odgovori MSDN:

"In general, fibers do not provide advantages over a well-designed multithreaded application. However, using fibers can make it easier to port applications that were designed to schedule their own threads."

Citat:
Process moze imati roditeljski odnos u jos jednom smislu: a to je da moze lansirati child procese, koji su (ako ne gresim) uslovljeni postojanjem owner process-a. (Mada mislim da ovo zadnje nije i obavezno).


Na Windows-u, child procesi nisu uslovljeni postojanjem parent procesa. Na nekim drugim operativnim sistemima jesu.

Citat:
4) I da, cini mi se da sam video da postoji mogucnost kreiranja process-a bez osnovnog thread-a; mada nemam predstavu sta i kako, i da li uopste to nesto radi. Pod 'osnovnim' thread-om podrazumevam ThreadWindow objekat; znaci, nesto sto omogucava komunikaciju process-a sa ostatkom sveta (da, mislim na poruke).
S druge strane, ne mozete kreirati thread bez process-a, to jest svaki thread mora imati svog owner-a (process).


Uh, ovde si malo zamrsio. Svaki proces mora da ima bar jednu nit. E, ako pod "osnovnom niti" podrazumevaš nit koja vrti message loop, onda je tačno da ne moraju svi programi da je imaju - konzolni programi i servisi je najčešće nemaju.
 
Odgovor na temu

t3chX
Srđan Rajčević
Thessaloniki

Član broj: 2509
Poruke: 101
*.otenet.gr

Jabber: techx@elitesecurity.org


Profil

icon Re: malo teorije..12.06.2003. u 20:52 - pre 253 meseci
Citat:
Dragi Tata:
Jasna mi je razlika između user-space niti kao pthreads na BSD-u i kernel niti ("lakih procesa") kao na Windows-u i Linux-u, a postoje i "hibridne niti" (Solaris) gde se više user niti mapira na jednu kernel nit. Međutim, u svim tim slučajevima niti dele memorijski prostor. Lično, uvek sam smatrao da je deljenje memorijskog prostora granica koja odvaja niti od procesa.


Upravo ... niti su "laksi" procesi koji dele isti memorijski prostor (i varijable) aplikacije iz koje su pokrenuti ... Tipican primer niti ? MS Word, auto-saving dokumenta u pozadini ... Takodje i pri pretrazivanju teksta, formatiranju paragrafa itd ...
Takodje (koliko sam ja upucen) niti su cesto koristene u Web serverima (Apache npr.) u kojima je najbitnija simultana interakcija sa vise korisnika ...

Ono sto bih zeleo da upitam je uloga semafora i mutex-a u "critical" regiji ... Recimo prevencija deadlock-ova ... Da li iko ima nekakav primer ?

Hvala
If you want to get anywhere in your life, don't break the rules - make them !
 
Odgovor na temu

PeraT

Član broj: 3403
Poruke: 43
*.ptt.yu



Profil

icon Re: malo teorije..13.06.2003. u 15:23 - pre 253 meseci
HM, glavna uloga mutex-a je sprecavanje race_conditions-a,
a njihovim postavljanjem se samo povecava sansa za javljanje
deadlock-a (teorijski) (tako da od prevencije deadlock-ova nema nista),
jer cim se neki resurs proglasi "ne deljivim" zadovoljen je jedan od
4 neophodna i dovoljna uslova za deadlock.
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-3.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: malo teorije..13.06.2003. u 16:32 - pre 253 meseci
Citat:
t3chX:
Ono sto bih zeleo da upitam je uloga semafora i mutex-a u "critical" regiji ... Recimo prevencija deadlock-ova ... Da li iko ima nekakav primer ?


A šta kažeš na ideju da pokreneš novu temu sa ovim pitanjem, pa da sve ipak bude koliko-toliko izdvojeno i uređeno?

Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

amel
Bosna

Član broj: 9063
Poruke: 43
*.dip.t-dialin.net.



Profil

icon Re: malo teorije..27.07.2006. u 08:10 - pre 215 meseci
Jedan vrlo poznat primjer sto se tice Deadlocks je

http://en.wikipedia.org/wiki/Dining_philosophers_problem


Scanner
 
Odgovor na temu

[es] :: Kernel i OS programiranje :: malo teorije..

Strane: 1 2

[ Pregleda: 9278 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.