Форум программистов, компьютерный форум CyberForum.ru

заставить Windows работать как RealTime - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
genesys
0 / 0 / 0
Регистрация: 07.10.2007
Сообщений: 4
07.10.2007, 15:42     заставить Windows работать как RealTime #1
Можно ли заставить Windows работать как RealTime средствами VC++ для работы с железом?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VitSoft
0 / 0 / 0
Регистрация: 25.09.2007
Сообщений: 92
07.10.2007, 19:58     заставить Windows работать как RealTime #2
Hi !!

можно если установить приоритет программе RealTime

SetThreadPriority()

http://www.development.efficientit.com
Ghost
Сообщений: n/a
09.10.2007, 12:15     заставить Windows работать как RealTime #3
Нифига подобного
Таким методом чожно только заставть диспетчер времени выдавать больше времени процессу.
Для действительно реального времени надо, чтоб OS поддерживала это, а MS открещивается от RTOS как черт от ладана

Есть сторонняя приблуда, которая позволяет переделать винды в RTOS (но мягкого реального времени - т.е. с достаточно большим временем отклика)
McVillain
1 / 1 / 0
Регистрация: 30.04.2007
Сообщений: 226
09.10.2007, 17:35     заставить Windows работать как RealTime #4
Было такое, пытались... Мягкое реальное время, опрос железа запускался отдельной нитью с нормальным приоритетом, выглядело так:

while( ! надоВыходить )
{
опроситьПлату();
sleep(1);
}

Без sleep NT как-то очень по-левому квантовала время, слишком большими кусками, что ли...

Результаты опроса скидывались в буфер (понятное дело, примитивы чтения/записи были синхронизированы), параллельный (рабочий) поток их забирал и работал в своё удовольствие. Там ещё один поток был, с очень большими вычисляниями, так ему выставили приоритет idle -- и всё нормально было.

Да, запись в железо производилась, если я правильно ошибаюсь, прямо из рабочего потока... Но это только и исключительно благодаря соответственно работающим kernel mode дравйверам железа, которые допускали одновременное чтение и запись.

В итоге частота опроса была порядка 20 герц... для того приложения вполне достаточно.

Да, если втыкалось несколько разных железок, каждую опрашивал собственный поток (привязанный к собственному драйверу ядра). Ещё жили потоки чтения/записи в/из сети... Весь обмен между потоками -- через безопасные для асинхронного доступа буфера.

До сих пор, кстати, система живёт, развивается и даже продаётся... Сейчас уже под 2000-ые переползли... вполне безболезненно, если не считать немерянного увеличения ОЗУ...
McVillain
1 / 1 / 0
Регистрация: 30.04.2007
Сообщений: 226
09.10.2007, 17:37     заставить Windows работать как RealTime #5
или обманул? кажется, потокам опроса железа и работы с сетью вешался приоритет TimeCritical... или всё-таки Normal? Не помню уже...
Ghost
Сообщений: n/a
09.10.2007, 17:50     заставить Windows работать как RealTime #6
20 герц?
а на какой аппаратной платформе?
И, если не секрет, для чего?

У меня была прога (правда, под свою OS ) так там скорость опроса (486 CPU ) лимитировалась только скоростью обмена через ISA.

В OS был ВНЕШНИЙ таймер - на 4 мс - раз в 4 мс - IRQ - всплываем, расхлебываем и тонем
Так 100 процессов (больше не успел поставить - проект загнулся) просто летали.
McVillain
1 / 1 / 0
Регистрация: 30.04.2007
Сообщений: 226
09.10.2007, 21:52     заставить Windows работать как RealTime #7
Тренажёр для водителей. Там больше не надо. А аппаратура... Последний вариант, который при мне жил на win2000 -- 2xPIII-800, 384 Mb RAM, GeForce лучшей на то время модели... Там всё упиралось в визуализацию, она целиком отъедала один процессор и кучу памяти... На втором процессоре лениво переругивались железо, сеть, имитационная модель машины, инструкторские заморочки...

Суммарная загрузка системы была где-то процентов 70... И, ещё раз повторяю, 20 герц вполне хватало (а может там и больше было... никто не мерял)

В последнем варианте поставили умную плату сбора сигналов и тоже жили по прерыванию...
Ghost
Сообщений: n/a
09.10.2007, 23:15     заставить Windows работать как RealTime #8
А я телефонией занимался
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2014, 15:04     заставить Windows работать как RealTime
Еще ссылки по теме:

C++ Как заставить sscanf работать с динамическими массивами?
C++ Как заставить работать прогу без Visual Studio?
C++ Как заставить код работать на x32 и x64?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TimeRoller
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 7
11.05.2014, 15:04     заставить Windows работать как RealTime #9
В диспетчере задач, задать приоритет определенных процессов
Yandex
Объявления
11.05.2014, 15:04     заставить Windows работать как RealTime
Ответ Создать тему
Опции темы

Текущее время: 07:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru