[OSy] Datovy typ thread_t
Martin Decky
decky at dsrg.mff.cuni.cz
Mon Oct 22 14:54:04 CEST 2007
> * Prvy pripad vyzaduje nejaku 'konverznu' tabulku (ID->structure pointer,
> alebo sa napr. priamo alokuje pole struktur), ale vracia vcelku pekne cisla
> ID threadov (napr. pre debug ucely). Nevyhoda je nevyuzite miesto v pamati (v
> blbom pripade dost velke mnozstvo nevyuzitej pamati (aj pri recyklacii thread
> ID)).
Typickym zpusobem, jak minimalizovat tuto nevyhodu, je pouziti nejake
hashovaci tabulky.
> Preto sa chcem opytat, co odporucate pouzit radsej (lepsie skrytie
> implementacie vs. lepsie vyuzitie pamati) - aby sme zbytocne neprisli o body
> hned na zaciatku :-)
Ani na tuto otazku neexistuje snadna a jednoznacna odpoved. Cele jadro
se typicky povazuje z hlediska bezpecnosti za jedinou komponentu, takze
veskery kod v nem bezici by se mel z definice chovat "slusne". Coz by na
jednu stranu nahravalo te variante s ukazateli (pricemz datove
struktury, na ktere ukazuji, lze alespon castecne zabezpecit nejakymi
magic hodnotami nebo kontrolnimi soucty).
Na druhou stranu, pokud se pokusime i kernel chapat jako modularni
spojeni vice subsystemu, tak lze na ukor jiste spotreby pameti a casu
prikrocit k lepsimu oddeleni a pouzit identifikatory, u kterych lze
jednoznacne zjistit, zda jsou platne.
> Snad sa nepytam prilis vela - ked tak staci napisat ze "it's up on you" :-)
To je asi nejpresnejsi .. :) Nechceme Vam zadanim prilis svazat ruce.
Chceme, abyste se nad problemy zamysleli a vybrali jedno z moznych a
principielne spravnych reseni.
M.D.
More information about the NSWI004
mailing list