Всем привет!
В общем читаю книжку "The Linux Programmers Toolbox" и дохожу про
планировщик в линукс. Тема там заходит про динамический приоритет
процессов, и чтобы воочию увидеть его, предлагается запустить
скрипты, которые покажут изменение приоритетов процессов.
Собственно, вот они:
#!/bin/sh
#niceguy
while true; do
sleep .1
done
#!/bin/sh
#cruncher
while true; do
true
done
#!/bin/sh
./cruncher &
./niceguy &
trap 'echo stopping; kill %1 %2; break;' SIGINT
while true; do
ps -C niceguy -C cruncher -o etime,pid,pri,cmd
sleep .5
done
В столбике PRI приоритет должен уменьшаться для cruncher и
увеличиваться для niceguy, т.к. cruncher добровольно не хочет
засыпать и переходит в ожидание только после окончания своего кванта
времени.
У меня это получается только теоретически, в реальности эти процессы
остаются с одним приоритетом... Что у меня не так? Может планировщик
для этого нужно выбирать особый?