The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Планировка выполнения пpоцессов в Solaris (solaris proccess scheduler cpu nice)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: solaris, proccess, scheduler, cpu, nice,  (найти похожие документы)
Date: Fri, 12 Mar 2004 12:36:27 +0500 From: Vladimir Ivanov <ivlad at extech.ru> Newsgroups: ftn.ru.unix.solaris Subject: Планировка выполнения пpоцессов в Solaris > Я так для себя окончательно не понял как с пpиоpитетами пpоцессов. Есть PRI, а > есть и NICE. Как взаимодействует nice с концепцией классов пpиоpитетов (типа > там RT,SYS,TS). NICE - это legacy. Осталось от BSD в целях сохранения совместимости. Значение nice - фактически статическое изменение PRI, если не ошибаюсь только внутри TS. из docs.sun.com: The Solaris Resource Manager CPU scheduler (SHR) implements a per-process user priority and user priority limit. The external behavior and range of these parameters is compatible with the TS class. An approximately linear correspondence is maintained between the user priority and nice value (see nice(1) of processes in the SHR class. If the user priority range is -x to +x, then -x corresponds to maximum nice (19), a default user priority of 0 corresponds to default nice (0), and +x corresponds to nice -20. A change to either user priority or nice value causes the corresponding change to the other parameter. scheduler classes - это просто названия определенных диапазонов priority dispatcher'а. INT и IA вы только забыли. IA и TS находятся в одном диапазоне, но IA означает, что к приоритету процесса прибавляется, AFAIR, 10 - этот приоритет назначается априложению в активном окне под X. Выше TS лежит SYS, выше SYS лежит RT, выше RT лежит INT. Число приоритетов в каждом классе я не помню, можно справится на docs.sun.com или в Solaris Internals. В первом приближении, scheduler работает так: выбирается процесс с максимальным приоритетом, ему дается квант выполнения (его видно в dispadmin), после этого его приоритет обычно понижается (в пределах класса). При много процессорности есть еще некоторые особенности - можно, например, снять с определенного камня обработку прерываний и назначить ему только RT-процессы - тогда будет "настоящий" "мягкий" RT. > В pуководстве системного администpатоpа как-то невpазумительно > написано. Евангелистам яблочной фирмы этого не понять. ;) У вас же вообще никакой многозадачности не было до последнего времени. ;) Впрочем, как я уже сказал, можно обратиться к Solaris Internals.
From: Dmitry Miloserdov <dmitry at bis.ru> DS> Я так для себя окончательно не понял как с пpиоpитетами пpоцессов. Есть DS> PRI, а есть и NICE. Как взаимодействует nice с концепцией классов DS> пpиоpитетов (типа там RT,SYS,TS). В pуководстве системного DS> администpатоpа как-то невpазумительно написано. Для RT,FX и SYS все совершенно просто - там нет никаких nice есть фиксированный приоритет (на который в случае SYS и повлиять невозможно). И в этих классах нить получает процессор до тех пока либо a) не прервется более приоритетной b) не отдаст процессор по собственному желанию (blocked on i/o,mutex, etc.) c) не исчерпает временной интервал и при этом найдется еще одна нить с таким же приоритетом. NICE определен только для TS,IA,FSS. FSS это отдельная песня для отдельных процессор-сетов. IA это вообще не песня это тот же TS с увеличенным на 10 приоритетом (nice -3.3) и перевернутой очередью. Остался TS. Тут предлагается забыть о классическом юниксовом nice потому как работает он не совсем так (или совсем не так). Тут вместо nice у процесса есть user priority (который командой nice устанавливается в -3*param). и каждый раз этот когда нить отсидит свой интервал на процессоре(интервал тоже разный для разных PRI) от его PRI отнимается 10 и прибавляется этот самый user priority. Плюс к тому раз в секунду а также при возврате из sleep queue значение PRI устанавливается в практически максимальное значение 50-59 также с прибавлением upri и с учетом границ (PRI в TS должно находится в промежутке 0-59).

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру