Stupid smycka v C na linuxu sebere 100% vykonu, proc ???

Dalibor Toman dtoman na fortech.cz
Čtvrtek Březen 22 16:13:44 CET 2001



> Cus kluci,
>
> mam mozna - urcite stupidni otazku ..... ale ....
> napsal jsem program v C pod linuxem  a divil se ze sezere hodne vykonu tak
jsem ho upravoval jak nejlepe jsem mohl a nic
> az  jsem si zkusil napsat STUPID Smycku ala  ...
>
> main()
> {
>
> for(;;){
>
> zde nic !!!
>
>    }
>
> }
>
>
> a zere to 100 % vykonu na linuxu celeron 500 , 128 mega ram ..... jadro
2.2.18 ..............
>
> Jezisi proc? Kde je chyba ? ( Asi ve mne :-)  )


Co asi tak ten procesor dela, ze? Chodi porad dokola, nevola zadna systemova
volani (kde by se mohlo cekat napriklad na odezbu hardware) a tak holt
spotrebuje veskery prideleny cas procesoru. Byla by to chyba, kdyby spravce
procesu si setril nejaky cykly pro strycka prihodu, kdyz je nejaky proces
zjevne potrebuje, ne?

PS. Tenhle kod sezere veskery cas CPU na libovolnem systemu.

D. Tomam




Další informace o konferenci Linux