реклама на сайте
подробности

 
 
> Распределение ресурсов процессора в Windows
Игорь_M
сообщение Apr 20 2012, 04:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 4-03-08
Пользователь №: 35 632



Здравствуйте!

Я недавно наблюдал демонстрацию применения технологии адаптивного квотирования в QNX. То есть возможность выделить гарантированный процент процессорного времени приложению.
Для Windows нашел только возможность ограничить максимальное процессорное время, отводимое процессу (http://www.cyberguru.ru/operating-systems/windows-server2008/server2008-srm.html).
Вопрос: есть ли в Windows механизмы, позволяющие гарантировать процессу процент времени владения процессором.

P.S.: я понимаю, что для получения указанных возможностей существуют RTOS. Но мне надо точно знать о наличии или отсутствии вышеописанного механизма в Windows. Это нужно, чтобы с уверенностью сказать начальству: "Windows не может этого сделать, поэтому мне нужна RTOS и я буду тратить свое рабочее время на то, чтобы с ней разобраться".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Apr 21 2012, 00:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Про время не скажу, приоритетами потоков можно управять через SetThreadPriority
Go to the top of the page
 
+Quote Post
Игорь_M
сообщение Apr 22 2012, 06:49
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 4-03-08
Пользователь №: 35 632



QUOTE (V_G @ Apr 21 2012, 03:50) *
Про время не скажу, приоритетами потоков можно управять через SetThreadPriority

Да, спасибо, с winAPI из сферы управления потоками я знаком. этого мало для обеспечения гарантированного времени захвата процессора.
Go to the top of the page
 
+Quote Post
_sv_
сообщение May 10 2012, 07:12
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-03-11
Пользователь №: 63 436



Цитата(Игорь_M @ Apr 22 2012, 08:49) *
с winAPI из сферы управления потоками я знаком. этого мало для обеспечения гарантированного времени захвата процессора.

Вы как-то так ставите задачу, что ответа на нее не найти. Что вам, собственно, надо сделать?
Вам надо, что бы sheduler насильно заставил уснуть готовую и активную задачу?
Нет. Win такого не сделает. Готова - работай. Нужен квант времени - используй таймеры.

Гарантировать то, что Ваша программа получит управление строго по истечении времени Win не сможет.
Равно как и не сможет гарантировать непрерывность работы в течении какого-то времени.

Ну, если не полезете в драйвера, конечно. Там сможете многое.
Но с вашей постановкой задачи виндовс перестанет быть самим собой.
Скажем так: CLI в виндовс - моветон. Из этого вытекает все. Ну... почти все.

P.S. Добавил: А вообще ответ на ваш вопрос либо
- "однозначно ДА" в том смысле, что Win позволяет работать и задачам с высоким приоритетом и низким одновременно.
- "однозначно НЕТ" в том смысле, что никто не выключит готовую и активную задачу если есть свободное время.

Сообщение отредактировал _sv_ - May 10 2012, 07:20
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 22:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016