nejasnosti kolem volani jadra

Bashar bashar na audrey.sh.cvut.cz
Úterý Červen 15 14:21:22 CEST 1999


Pavel Kankovsky wrote:
> 
> On Mon, 14 Jun 1999, Bashar wrote:
> 
> > nevite nahodou nekdo, jestli je systemove volani v kernel-modu
> > necim prerusitelne? Pokud ne, jak je mozne, ze napr. dlouhe volani
> > read/write nezastavi pocitac na dobu, nez je toto volani dokonceno.
> 
> Proces, ktery se prave potuluje v jadre, se muze nachazet ve zhruba trech
> zajimavych stavech: R=running (bezici), S=interruptible sleep (prerusitelne
> cekani) a D=non-interruptible sleep (neprerusitelne cekani).
> 
> V R neco dela, v S a D na neco ceka (vetsinou na I/O), pricemz ve stavu S
> je schopen sve cekani prerusit, kdyz prijde nejaky signal a vratit se do
> userlandu, zatimco D jen tak prerusit nelze (vetsinou z toho duvodu, ze
> proces drzi nejaky zamek a bude vnejsim podnetum pristupny, az kdyz ho
> uvolni).
> 

1) Chapu, ale zajimalo by me, jaky podnet dovede prerusit systemove
volani
a jestli se pri tomto preruseni bere ohled na stav procesu, ktery to
volani vykonal (protoze kdyz proces zavola systemove volani je nejdrive
ve
stavu R a terpve potom se muze dostat do stavu jineho (jak/kdy?)).

2) V pripade, ze se pri systemovem volani ceka na dokonceni I/O 
(a prekroci se kvantum casu pridelene procesu) - jaky mechanizmus
preda procesor jinemu procesu a co se deje s nedokoncenym volanim
(kdo zavola scheduler)?

Dekuji...

							--Vojta


Další informace o konferenci Linux