[OSy] sdilene prostredky

..:: Urza ::.. urza at rdx2.cz
Sun Jan 8 11:05:39 CET 2012


Dobrý den.

Narazili jsme na problém při práci s prostředky user-vláken. Jedná se o to, že pokud si jedno vlákno nechá od systému vyrobit nějakou strukturu (třeba semafor), je třeba nějak pořešit, kdo s ním může co dělat.
Je samozřejmě možné omezit se na to, že dotyčný semafor bude moci obsluhovat jen to dané vlákno, tedy když by se k němu zkusit dostat kdokoliv jiný, kernel by to vyhodnotil jako operaci, na kterou nemá právo (jako kdyby se jednalo například o pokus zavolat semaphore_up na kus paměti, kde vůbec žádný semafor není). Na druhou stranu mi ale připadá, že pak by vůbec ztratilo smysl mít nějaké semafory, protože když by jedno vlákno nemohlo sahat na semafory ostatních vláken, těžko by se pomocí nich prováděla nějaká synchronizace.
Takže mi připadá, že se jedná o ten problém, který si máme sami "dospecifikovat" a dořešit, jakým způsobem budou uživatelská vlákna sdílet nějaké prostředy.... tedy že kernel bude ty prostředky hlídat každému vláknu a nepovolovat ostatním s nimi cokoliv dělat, dokud sám vlastník něco takového nepovolí.
Nebo je to už nad rámec zadání a nemusíme to řešit? Respektive tím "neřešit" myslím, že prostě zakážeme uživatelským vláknům sahat na prostředky jiných vláken (kernelová vlákna tuto možnost mít samozřejmě budou).

Děkuji za odpověď,
Urza




More information about the NSWI004 mailing list