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

 
 
14 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> Кризис в самообразовании.
Myron
сообщение Apr 8 2017, 18:32
Сообщение #151


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

Группа: Свой
Сообщений: 1 849
Регистрация: 6-02-05
Пользователь №: 2 451



Цитата(Эдди @ Apr 8 2017, 10:19) *
Как вообще можно говно мастдайное как операционную систему рассматривать? Она же только для игрулек годится! И создавалась изначально как пускалка игр!!!
Да все в жизни начинается с игр. Дальше развитие к спутникам, станкам, связи и т.д.
Go to the top of the page
 
+Quote Post
@Ark
сообщение Apr 8 2017, 21:17
Сообщение #152


Знающий
****

Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710



Цитата(Gruffly @ Apr 8 2017, 19:23) *

Еще несколько вопросов, если позволите. Раз уж Вы такой знаток данной темы. rolleyes.gif
Ведь, в предложенной выше задаче, нас интересует не "реальное время" в конечном итоге,
а "чистое время" выполнения некоторой последовательности команд. Которое, как предполагается,
теоретически может быть прервано разнообразными прерываниями, в том числе, системными.
Как это решается?
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 8 2017, 21:58
Сообщение #153


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(@Ark @ Apr 8 2017, 21:17) *
Еще несколько вопросов, если позволите. Раз уж Вы такой знаток данной темы. rolleyes.gif
Ведь, в предложенной выше задаче, нас интересует не "реальное время" в конечном итоге,
а "чистое время" выполнения некоторой последовательности команд. Которое, как предполагается,
теоретически может быть прервано разнообразными прерываниями, в том числе, системными.
Как это решается?


Переключение задач происходит в соответствии с system-slice. Как сказано выше, это время зависит от Win - платформы
Если мы укладываемся со своими измерениями в этот интервал, то "все хорошо, прекрасная маркиза".
Если нет - надо принимать меры по снижению задач на переключение.
Понятно, что на тестовой машине должны быть "прибиты" некоторые сервисы, не нужно в этот момент слушать музыку, смотреть фильмы, лазать браузерами, антивирь отключен и т.п.
Еще один пример показан в коде выше - переключить текущий контент на real-time и не забыть вернуть его обратно в текущий или normal.

Есть инструменты по наблюдению за сервисами, которые хорошо "кушают" процессорное время.
К примеру - LatencyMonitor называется.
Основная задача - проследить на затраты interrupt service routine (ISR) и Deferred Procedure Call (DPC) и, что не критично для работы - отключить.

P.S.
На самом деле, не все так плохо. Если явно не запущены затратные приложения, то измерения по rdts и QPC дают правдивые и релевантные значения без специальной настройки тестовой машины.

P.P.S.
У Майкрософт, есс-но, есть свои инструменты для тестирования ISR & DPC:

Код
tracelog -start -f test01.etl -dpcisr -UsePerfCounter -b 64
tracelog -q
tracelog -update -b 128 -max 40
tracelog -stop
tracerpt test01.etl -report dpcisr.txt -df
или
tracerpt test01.etl -report dpcisr.txt -f HTML


Сообщение отредактировал Gruffly - Apr 8 2017, 22:21
Go to the top of the page
 
+Quote Post
@Ark
сообщение Apr 8 2017, 22:13
Сообщение #154


Знающий
****

Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710



Цитата(Gruffly @ Apr 9 2017, 00:58) *
Если мы укладываемся со своими измерениями в этот интервал, то "все хорошо, прекрасная маркиза".
Если нет - надо принимать меры по снижению задач на переключение...

Погодите. Переключения между задачами - это одна проблема.
Но ведь есть еще низкоуровневые аппаратные прерывания, которые "съедают" определенное время.
И повлиять на них никак нельзя, поскольку они имеют наивысший приоритет.
Как это учитывается?
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 8 2017, 22:33
Сообщение #155


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(@Ark @ Apr 8 2017, 22:13) *
Погодите. Переключения между задачами - это одна проблема.
Но ведь есть еще низкоуровневые аппаратные прерывания, которые "съедают" определенное время.
И повлиять на них никак нельзя, поскольку они имеют наивысший приоритет.
Как это учитывается?

Это следующий уровень, Вы к нему готовы? sm.gif
DPC можно "запретить" на определенное время, можно отлавливать длину очереди DPC и отсчитывать время исполнения "команд" в DPC.
Go to the top of the page
 
+Quote Post
@Ark
сообщение Apr 8 2017, 22:53
Сообщение #156


Знающий
****

Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710



Цитата(Gruffly @ Apr 9 2017, 01:33) *
Это следующий уровень, Вы к нему готовы? sm.gif

А, Вы?
Меня, собственно, только именно этот уровень и интересует.
Я Вам задавал "наводящие вопросы", чтобы выйти на эту тему. Прикидываясь "чайником". sm.gif
Цитата(Gruffly @ Apr 9 2017, 01:33) *
DPC можно "запретить" на определенное время, можно отлавливать длину очереди DPC и отсчитывать время исполнения "команд" в DPC.

Как быть с конвейером команд и данных? Перестановкой команд при выполнении их процессором из конвейера?
Ненормированным временем выполнения отдельных команд процессора? Это еще не все вопросы...
Вы готовы на них ответить?
Или хотя бы обсудить?

Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 9 2017, 06:22
Сообщение #157


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Уровень углубления зависит от того, что нам нужно.
Влезание в потроха возможно для кого-то может быть самоцелью, для меня всегда это разумный компромисс между задачей и уровнем погружения.
Задача, с которой началось обсуждение - замеры времени выполнения программы, ее части и погрешностей таких измерений.
Только, что провел тест на стандартной Win7 (не отключал ресурсные сервисы типа анивиря и пр., не маскировал прерывания, не переводил в реал-тайм и тд)
Тестовое время работы приложения 60 сек.
Из них:
ISR max = 42 мкс, всего 0.036% (DirectX)
DPC max = 483 мкс, всего 0.11 % (Nvidia driver)
HPF (hard page faults) = 0.08% (AVP подгадил)
Итого: 0.23%

По процессорам время на прерывания:
CPU0 = 0.345 ms
CPU1 = 0.013 ms
CPU2 = 0.013 ms
CPU3 = 0.018 ms
Итого: 0.65%

Вывод:
Ничего особо не предпринимая в части снижения затрат на системные вызовы (административно или программно),
мы получили погрешность 0.65% замера времени исполнения (60 сек) нашей программы.
Много это или мало - каждый решает за себя.
Если много - сначала идут административные действия, затем программные.
Из программных - подсчет статистики по системным вызовам, повышения статуса, маскирование доступных для этого прерываний.
И, есс-но, неоднократный запуск тестируемого ПО для набора стат. значимых результатов.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Apr 9 2017, 07:02
Сообщение #158


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Myron @ Apr 8 2017, 21:32) *
Да все в жизни начинается с игр. Дальше развитие к спутникам, станкам, связи и т.д.

Вот только там уже не до игр. Это как с ардуиной: детям очень удобно начинать знакомиться с робототехникой с абдурины. Важно лишь, чтобы они не застряли на этом уровне. Даже ненавистная мне бубунта намного больше возможностей для реальной работы дает, нежели голимая мастдайка.
Go to the top of the page
 
+Quote Post
yanvasiij
сообщение Apr 18 2017, 16:20
Сообщение #159


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Цитата(Gruffly @ Apr 8 2017, 19:55) *
...
Список специальных релизов реал-тайм Windows достаточно большой:

Windows 7 Professional for Embedded Systems and Windows 7 Ultimate for Embedded Systems
...


Разрешите и мне глупый вопрос, уж больно интересна тема. Были упомянуты инструменты и ОСи для реал-тайм и эмбед. Какие времена циклов может обеспечить Windows Embedded? И вообще насколько это актуально применение Windows Embedded в задачах с жесткими требования ко времени, например в автоматизации (есть примеры применения?)? Может ли она конкурировать, например, с QNX по совокупности факторов (цена, легкость в освоении, время на разработку, надежность и пр.)? Как там с портированием на самодельные аппаратные платформы?
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 18 2017, 18:34
Сообщение #160


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(yanvasiij @ Apr 18 2017, 16:20) *
Как там с портированием на самодельные аппаратные платформы?

На Arduino? sm.gif
Go to the top of the page
 
+Quote Post
Myron
сообщение Apr 18 2017, 18:51
Сообщение #161


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

Группа: Свой
Сообщений: 1 849
Регистрация: 6-02-05
Пользователь №: 2 451



Цитата(Myron @ Apr 8 2017, 12:32) *
Да все в жизни начинается с игр. Дальше развитие к спутникам, станкам, связи, мечтам и т.д.

Цитата(Эдди @ Apr 9 2017, 01:02) *
Вот только там уже не до игр. Это как с ардуиной: детям очень удобно начинать знакомиться с робототехникой с абдурины. Важно лишь, чтобы они не застряли на этом уровне.
Для детей это никак не работа. Потом с появлением заинтересованности, успехов и мотивации это может перерасти в любимую работу. Но не всегда.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Apr 18 2017, 20:39
Сообщение #162


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Myron @ Apr 18 2017, 21:51) *
Для детей это никак не работа.

А при чем здесь работа? Я вообще не понимаю, как можно ходить на работу, как на каторгу! Работа должна приносить удовольствие. Самым идеальным вариантом является работа==хобби.
Go to the top of the page
 
+Quote Post
Myron
сообщение Apr 18 2017, 22:15
Сообщение #163


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

Группа: Свой
Сообщений: 1 849
Регистрация: 6-02-05
Пользователь №: 2 451



Цитата(Эдди @ Apr 18 2017, 14:39) *
А при чем здесь работа? Я вообще не понимаю, как можно ходить на работу, как на каторгу! Работа должна приносить удовольствие. Самым идеальным вариантом является работа==хобби.
Я это и имел ввиду, когда возражал - см. выше ваши заметки.
Go to the top of the page
 
+Quote Post
V_G
сообщение Apr 18 2017, 23:33
Сообщение #164


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

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



Цитата(yanvasiij @ Apr 19 2017, 02:20) *
Были упомянуты инструменты и ОСи для реал-тайм и эмбед. Какие времена циклов может обеспечить Windows Embedded?

Смотря в какие приборы эмбедируют. У нас автоматы поверхностного монтажа работают под управлением Винды XP. У меня векторный анализатор Rohde&Schwarz работает под виндой 7. Все вполне себе риалтайм.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Apr 19 2017, 05:06
Сообщение #165


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Myron @ Apr 19 2017, 01:15) *
Я это и имел ввиду, когда возражал - см. выше ваши заметки.

Вот поэтому мастдайка и работа — несовместимые вещи. Мне вот понадобилось чертеж сделать в 3D, пришлось запускать эмулятор, а в нем "компас-3D". И хоть мастдайка в данном случае свою непосредственную роль выполняет — роль пускалки игрушек, а не операционной системы, все равно как-то коробит...
А еще мне нравится в коде ковыряться. Мне вот говорят: "пиши на пхытоне", на что я отвечаю, что роднее С ничего себе представить не могу. И, в отличие от пхытона, С значительно меньше косяков может вызывать при переходе, скажем, на новую версию gcc. Хотя, некоторые проблемы и возникают: скажем, свежий gcc матюкается на код, который раньше считался корректным — и приходится добавлять -Wno-trampolines и подобные флаги, чтобы оставить -Wall -Wextra…
Go to the top of the page
 
+Quote Post

14 страниц V  « < 9 10 11 12 13 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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