[OSy] Proc struct mutex v user mutexech?
Martin Decky
decky at dsrg.mff.cuni.cz
Fri Jan 4 12:58:08 CET 2008
Hezky den,
> mel bych takovy dotaz: v zadani treti semestralky jsou pro operace s
> user mutexy pouzivany typy "struct mutex". V jednom z predchozich
> mailu v konferenci ovsem stoji, ze 'je velmi nevhodne poskytovat
> uzivatelum primo strukturu mutexu.
> To si vykladame tak, ze je vhodne pouzit nejake handly (tzn. nejake
> id, podle kterych si "vevnitr" najdu strukturu pro dany mutex).
Ano, to chapete spravne.
> Ted - je mi jasne, ze je mozne pouzit typ struktura a dovnitr dat
> handle...neni ovsem elegantnejsi pouzit misto struktury nejaky
> uzivatelsky typ mutex_t (podobne, jako to maji treba vlakna)?
Mozna mate pravdu, v uzivatelskem prostoru implementace mutexu skryva
pred uzivatelem vice detailu nez v kernelu (struktura mutexu typicky
neobsahuje samotny binarni zamek, ale jen handly na kernelove zdroje).
Na druhou stranu stale plati, ze mutexy maji staticky charakter (jen
vyjimecne se alokuji dynamicky) a za vznik a zanik zodpovida uzivatel
(jinymi slovy v rozhrani neni funkce mutex_create(), ale mutex_init()).
Aby si toho uzivatel byl explicitne vedom, je vhodnejsi predavat do
funkci ukazatel na strukturu, ne samotnou strukturu.
Dalsi motivace je, aby rozhrani kernelovych a uzivatelskych mutexu bylo
co nejpodobnejsi, protoze se i chova velmi podobne.
M.D.
More information about the NSWI004
mailing list