[OSy] zadanie 3 - mutexy

Andrej Kruták andree182 at gmail.com
Thu Jan 3 17:45:06 CET 2008


Zdravim :-)

prave riesime ako navrhnut mutexy tak, aby vyhovovali zadaniu a narazili sme
na par problemov/otazok.

Hlavny je ten, ze predpokladame ze mutex_lock atd. by nemal byt len stub za
nejaky syscall, ktory by volal priamo dane funkcie v jadre... Spravne? V
opacnom pripade by to bolo vcelku trivialne :)

Tym padom sa teda po nas ziada nakodit mutexy "znovu" bez pouzitia
disable_interrupts, ale miesto toho pouzit napr. spinlock... Je tam jeden
(typicky :)) problem zamykani, ale ten sa da vyriesit specialnym atomickym
volanim (syscallom) - odomknut spinlock (resp. nastavit hodnotu na nejakej
adrese) +thread_suspend...

Ale aj toto riesenie ma potom hacik - nie prilis lahke medziprocesove
pouzitie (kedze "data" toho mutexu budu vo VMA  toho jedneho procesu...)
Nebude to vadit?

Este potom ostava problem (s cisto user mode mutexmi), ako poriesit casovace
- kedze tie v zadani nie su, asi by sme si ich do neho museli pridat...
Alebo to vyriesit cez nejake nove vlakno vyrabane pri zamykani cez
mutex_lock_timeout - ale to mi pride dost nepekne riesenie :)

Este jedna otazka - nevadi, ked thread_create() atd. su riesene ako stub-y
za syscally, ze? Naprogramovat "dalsie" vlakna v user mode, to by asi dalo
dalsich par dni prace... ;-(


Hm, ked to tak teraz po sebe citam, dufam ze to nie su prilis trivialne
otazky :-)


Andrej
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20080103/9f939895/attachment.html>


More information about the NSWI004 mailing list