Ovladac, kontext jadra, uzivatelsky prostor, ...

Petr Baláš petr na balas.cz
Pátek Květen 20 21:01:39 CEST 2011


2011/5/20 d.petr <d.petr na post.cz>:
> Dobrý den,
> dnes jsem byl překvapen chováním ovladače v jádru. Všude se píše "pozor při psaní ovladačů, dlouhé zpracování působí zatuhávání počítače a může vést až k jeho nefunkčnosti" apod. Chápal jsem to tak, že jaderný ovladač má během své práce absolutní přednost (jakožto součást jádra) a dokud neskončí, nic jiného nepoběží.
> Dnes jsem byl okolnostmi vyzván k testu: do ovladače jsem vložil nekonečnou smyčku. K mému obrovskému překvapení zatuhla po zavolání ovladače pouze volající aplikace (dále PROGRAM), vše ostatní pracovalo dál. "top" ukazoval plné vytížení, které přisuzoval PROGRAMu. Při spuštění programu "yes" se zátěž rozložila mezi "yes" a PROGRAM.
> Jsem tedy zmaten. Mohl by mi, prosím, někdo stručně vysvětlit, jakým způsobem vlastně ovladač pracuje, zda jako jádro, nebo jako obyčejný proces, nebo nějak jinak, ...? Pracuje snad ovladač, i přes všechna varování v mně dostupné literatuře, pouze jako součást volající aplikace, pouze s možností přístupu k HW?
> Za případné vysvětlení předem díky.
> Petr

Hint 1 - kolikajádrový je procesor na kterém to běželo?
Hint 2 - CONFIG_PREEMPT

-- 
Petr Baláš - petr at balas dot cz


Další informace o konferenci Linux