ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
829896 Топик полностью
lloyd (05.04.2018 22:13, просмотров: 331) ответил Экспериментатор на Возьмем для примера какой-нибудь сферический ПЛК с Ethernet и связанный с ним напрямую ПЭВМ под виндовс. ПЭВМ посылает MODBUS TCP команду ПЛК, тот выдает ответ, например, показания АЦП (пусть цикл ПЛК для простоты равен 0мкс). Через какое
1. Происходит прерывание от MAC-модуля по принятому пакету. Записывается текущее время пакета, пакет ставится в очередь на обработку 2. В рабочей очереди уровня ядра идет разбор, что с этим пакетом, собственно делать. Если это TCP-сокет, то данные копируются в буффер сокета и семафорится file descriptor 3. Поток, заблокированный ожиданием данных, ставится в очередь на выполнение И тут происходит самое интересное: вообще планировщик десктопной ОС не связан никакими обязательствами, выполнение может произойти и сразу, а может и через две секунды. Планировщик пользовательской ОС не предназначен для предсказуемых задержек, он предназначен для высокой производительности (а это значит делать меньше переключений контекста). Говорить о каких-то оценках времени можно только приблизительно, потому что на это влияет столько факторов, что с ума сойти недолго. То есть проще посмотрить на конкретном железе, чем аналитически расписывать возможности (они ничем не обеспечены) Если нужен предсказуемый отклик - используют RT-расширения ядер. К примеру - xenomai