Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 07.10.2007
Сообщений: 4
1

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

07.10.2007, 15:42. Просмотров 1896. Ответов 8
Метки нет (Все метки)

Можно ли заставить Windows работать как RealTime средствами VC++ для работы с железом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2007, 15:42
Ответы с готовыми решениями:

Как заставить работать do while
Печатает пока 100 строк не будут заполнены, нужно при вводе символа n закончить принятие данных и...

Как заставить работать <algorithm>
Здравствуйте! У меня есть программа которая vector &lt;int&gt; найдет номер максимального элемента!...

как заставить С++ и С# работать вместе?
Здравствуйте! Хотелось бы научится писать проги со совмещение С++ и шарпа... Посоветуйте что-то...

Как заставить функцию работать
#include &lt;stdio.h&gt; #include &lt;string&gt; #include &lt;vector&gt; #include&lt;windows.h&gt; #include &lt;iostream&gt;...

8
0 / 0 / 1
Регистрация: 25.09.2007
Сообщений: 92
07.10.2007, 19:58 2
Hi !!

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

SetThreadPriority()

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

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

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

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

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

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

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

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

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

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

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

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

В последнем варианте поставили умную плату сбора сигналов и тоже жили по прерыванию...
0
Ghost
09.10.2007, 23:15 8
А я телефонией занимался
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 7
11.05.2014, 15:04 9
В диспетчере задач, задать приоритет определенных процессов
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2014, 15:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

не знаю как заставить работать
7,9.cpp:7:10: error: invalid use of non-static data member ‘matrix::two’ long two,one; ...

Как заставить это работать
Кароче есть класс он конечно же находится в отдельных hpp и cpp файлах. В классе есть template...

Как заставить работать Dark Souls 2 на Windows 8?
Если какой то способ, заставить работать darksouls 2 на windows 8 ?

Как заставить работать Skype и Discord на Windows XP?
Как заставить работать Skype и Discord на Windows XP?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.