На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Windows
1. Указывайте версию Вашей ОС.
2. Запрещается размещать запросы и ссылки на кряки, серийники и т.п., а также вопросы нарушения лицензии ПО и его взлома.
3. Не разрешается давать советы из разряда "Поставь Linux".
4. Переустановка ОС - крайнее и безотказное лекарство, которое знают все. В таких советах никто не нуждается.
5. При публикации скриптов пользоваться тегами code. Тип подсветки кода выбирать строго в соответствии с языком публикуемого кода.
6. Прежде чем задать вопрос, обязательно загляните в FAQ и следуйте написанным рекомендациям для устранения проблемы. И если не помогло, а поиск по разделу не дал результатов - только тогда задавайте вопрос на форуме.
7. Вопросы, связанные с проблемами ПО, задавайте в разделе Программное обеспечение
Модераторы: Akina
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Windows выше 2000 и реальное время. , И Borland C++ Builder впридачу.
    Вопрос касательно систем реального времени для Windows (вроде RTX).

    Задача: уйти с Windows 2000, хорошо работающую с (вероятно, жестким) реальным временем, на более современную ОС (хотя бы XP), не переделывая при этом программу, работающую с платами и написанную на C++ Builder. Но в более новых версиях с реальным временем большие проблемы.

    Программа работает с платами. Платы поддерживают все линейки Windows.

    Теперь вопросы:
    - пусть я поставил XP и RTX на нее. Как будут обстоять дела с драйверами к платам: будут ли они работать в этом RTX или придется свои писать?
    - пусть я поместил в RTX исходники Borland C++. Как сделать так, чтобы потребовалось минимум изменений исходного кода при компиляции EXE-файла? И как его в этой среде вообще компилировать? Возможно ли поставить Builder в RTX?
    - Windows 8.1 поддерживает реальное время? Тестировал кто-нибудь? Если да - то никакой RTX не нужен.
    - держит ли Windows 2003 Server реальное время? Или Windows 2008 Server.
    Сообщение отредактировано: Сергей85 -
      Ап.
        не проще выяснить экспериментальным путем?
          Цитата ^D^ima @
          не проще выяснить экспериментальным путем?
          Испытать 4 ОС? Муторно, явно. Но я бы, Сергей85, согласился с мнением Димы, начав с ХРюши.
            С каких это пор windows является системой реального времени?
              Цитата OpenGL @
              С каких это пор windows является системой реального времени?

              http://en.wikipedia.org/wiki/IntervalZero
                Цитата UncleBob @

                И что - оно работает? :unsure: Это же то же самое, что из буханки хлеба троллейбус делать.
                  OpenGL, а я хз, думаю что эта дискуссия слегка за рамками вопроса...
                    Нормальная она RTOS. В ядре у неё строгая приоритетность, поэтому при необходимости чёткие временные соотношения выдержать не проблематично. То же я делал и под 9x, с ней даже сложнее. На уровне пользователя, в частности в сервисах, где царствует динамическая диспетчеризация, реального времени не получить.
                      Qraizer, придется ли переписывать драйверы специальных плат в системном блоке и программу, созданную на билдере - для того, чтобы это все работало в RTX?
                        RTX можно получить, только если всё RT вынести в ядро, и построить плотный канал взаимодействия между приложением и драйвером, так чтобы RT прикладного уровня вообще не касалось. Разумеется, если эта архитектура не была выдержана, и приложение, и драйвер должны быть модифицированы. Формально если, приложение может нуждаться только в небольших модификациях, заключающихся в удалении всего RT-функционала и его замене на вызовы драйвера. Драйвер может быть оставлен как есть, но написан новый спецом под поддержку RT, в который этот RT-функционал будет перенесён, и взаимодействующий с железом посредством имеющегося драйвера. Но я не вижу причин, почему бы просто не дополнить уже имеющийся. Так что формально работы может быть немало, но она относительно проста, и уже имеющиеся наработки не окажутся лишними.
                          Я написал программу, измеряющую задержки в ОС Windows (которой пока не доверяю). Время тестирования - 60000 мс (1 минута). Каждая винда максимально урезалась на предмет фоновых задач (процессы, службы). В Windows 7 x32 был получен результат на 5мс больше (60005), в 7 x64 - 4, в Windows XP x32 - 9, в Windows 2000 - 0.01. Windows 2000 может являться системой жесткого реального времени. В остальных ОС возможны задержки. Причем результаты растянуты во времени: может быть как 100 микросекундных задержек, так и 1 9-мс.

                          Сейчас идет борьба с закрытыми I/O портами в Windows 7. Если смогу их разблокировать - смогу проверить корректность работы программы с циклом 12 (24) мс. Это решит, корректно ли я написал код программы для анализа ОС.

                          Если все выгорит, и задержек не будет - Windows 7 x64 - самая стоящая система после Windows 2000, которая на текущий режим доступна к покупке. Потому что допиливать программу, написанную в BCB, оказалось совсем не сложно: новые драйверы, файлы LIB да пара функций для работы с I/O портами.
                            Забудь, в юзерспейсе тебе ничего не светит.
                              Борьба с портами I/O окончена. Решилось путем установки библиотеки InpOut32. В тестовом примере есть таймер, ежесекундно показывающий статус нажатой клавиши на клаве. Или отжатой, если отпустили - как попадет таймер. Прикреплённый файлПрикреплённый файл____________.zip (75,11 Кбайт, скачиваний: 287)
                              Файл .TDS пришлось удалить: большой. Что это за файл такой?

                              Скоро исправим функции в основной программе - и двинемся дальше. Через год-другой проверим винду на наличие критических задержек. )))
                                Другой отдел на работе получил результаты с Windows 7. Не сообщаю технических подробностей, но проблемы не наблюдаются с реальным временем, если частоты не менее 1мс. Так что винда ещё может поспорить с линуксом или ртх.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0369 ]   [ 18 queries used ]   [ Generated: 18.04.24, 22:00 GMT ]