Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как выделить одно из ядер процессора для своей программы?

465
10 июня 2012 года
QWERYTY
595 / / 25.03.2012
Можно ли закрепить одно из ядер процессора за своей программой, например в Win XP или в Win 7.
Это нужно в программе которая должна очень быстро реагировать на события.
Вплоть до того что понизить у всех процессов приоритет, и этой программе поставить наивысший для виндовс.
40K
10 июня 2012 года
D129
228 / / 18.04.2012
При программировании на .NET есть такое свойство у потока - ThreadAffinity.
Но вообще, это обширная тема. Windows не для реал тайм.
И даже если вы добьетесь того, чего хотите, то это не будет гарантией, а только вероятностью.

Тем не менее, писать реал тайм системы на виндовс можно, используя негативную логику -
не делать следующую команду пока все условия ее безопасности-возможности не будут в true.
465
10 июня 2012 года
QWERYTY
595 / / 25.03.2012
Спасибо. Не .NET. Я как то читал но уже на данный момент не помню про процессор в многопроцессорной системе шла реч, или про ядро для многоядерников.
Какая то была функция, в названии было слово афинити, но ничё не могу найти в поисковике.

Вы правильно поняли про реал тайм, но устроит и мягкое реальное время.
Хотел попробовать, потестить. Может чё получилось бы под мой нужды, но похоже нужно садиться и разбираться с RTX.
7
10 июня 2012 года
@pixo $oft
3.4K / / 20.09.2006
SetThreadAffinity—отправная точка.Дерзай
40K
10 июня 2012 года
D129
228 / / 18.04.2012
Виндовс дает программе поработать квант процессорного времени - 15 милисекунд обычно, потом передает этот квант другой программе.
Если система не загружена, высока вероятность, что эта "другая программа" - будет опять ваша.
То есть, если не хотите, чтобы ваша программа прокараулила что-то - выделите ей отдельный компьютер, а заморачиваться с выделением отдельного процессора не следует - будет риск, что его кванты дадут другим приложениям, а ваша программа через SetThreadAffinity настроена так, что "хочет" работать только на нем.
Будет хуже, а не лучше.
465
10 июня 2012 года
QWERYTY
595 / / 25.03.2012
Да, спасибо. Сомнения были серьёзные, просто хотел попробовать, но теперь считаю что даже не стоит.
На одноядерном процессоре я могу забрать время, но когда нагрузка спадёт я потеряю контроль над ситуацией(другие процессы получат управление).
Я в цыкле ставил всем процессам низший приоритет, а своему процессу высший.
В общем лучше не изобретать велосипед, а поскорее раскуривать RTX.
Там уже проверено, рт-приложение не реагирует на загрузку винды, но слишком тяжко разбираться в нём


Спасибо кто отозвался.
465
10 июня 2012 года
QWERYTY
595 / / 25.03.2012
Цитата: D129

То есть, если не хотите, чтобы ваша программа прокараулила что-то - выделите ей отдельный компьютер, ...



Вот тут не очень понял. Было бы не плохо если бы вы прокоментировали.
Комп то будет отдельный(он будетт управлять оборудованием). Но в виндовс много всяких процессов.
Есть вроде как эмбеддед виндос, но я его в глаза не видел(тем более читал что на него тоже RTX ставят).
Что можете посоветовать, в плане развёртывания приложения реального времени?

465
11 июня 2012 года
QWERYTY
595 / / 25.03.2012
Пробовал матлабовский виндовс таргет. Создал модель с выводом на аудиоконтроллер из аудиофайла, в обычном режиме запускается, а реальном времени не хочет.
С книгами на русском не густо, везде упоминают эту тему, типа ещё вот так матлаб умеет.
252
11 июня 2012 года
koderAlex
1.4K / / 07.09.2005
матлаб не поможет . возьмите RT ось (QNX , RT-linux и т.п.) и не мучайтесь .
винда без переделок в принципе не способна на RT . хоть десять матлабов ставь . )
84K
15 июня 2012 года
zelenyimir
1 / / 15.06.2012
Дык менять винду я, например, совсем не хочу. Мне удобно работать там, где я привык. Ну есть же какие-то решения
465
15 июня 2012 года
QWERYTY
595 / / 25.03.2012
Цитата: zelenyimir
Дык менять винду я, например, совсем не хочу. Мне удобно работать там, где я привык. Ну есть же какие-то решения



Это чё было? Создаётся впечатление что вы тему создали.
Это не чат для беседы, здесь ответы на вопрос, или задаётся вопрос который может помоч дать ответ.

Я например тоже привык, но к сожалению винда не для этого

465
16 июня 2012 года
QWERYTY
595 / / 25.03.2012
Цитата: koderAlex
матлаб не поможет . возьмите RT ось (QNX , RT-linux и т.п.) и не мучайтесь .
винда без переделок в принципе не способна на RT . хоть десять матлабов ставь . )


Да, RTX и есть та самая переделка. Но толку от него не очень много, т.к. нельзя вызывать виндосовское API.
Изначально думал что это примочка для винды, и я получу все удобства винды.
Посмотрю инфу по системам которые вы посоветовали, но если там нужны денежные вливания(на систему или среды разработки) то эти варианты скорее всего отпадают.
Винда уже есть, RTX тоже.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог