Я думаю, что Вы путаете функциональность прямого доступа к памяти (DMA, аппаратная функция) с функциями, обеспеченными Диспетчером кэша в Windows.
DMA является методом, чтобы позволить устройствам IO непосредственно получать доступ к системной памяти без вмешательства ЦП. Приложения не используют DMA - драйверы устройств делают. Приложения далеко удалены из процесса DMA.
Чтение приложений / запросы записи проходит через множество слоев на пути к устройству IO. Диспетчер кэша собирается обработать объем кэширования запросов через системную память. Драйверы устройств самих устройств IO могут также реализовать кэширование.
Если бы Ваше приложение не взаимодействует хорошо с Диспетчером кэша, но делает с псевдодиском (который Вы определили бы путем сравнительного тестирования), затем, любой ценой, используйте псевдодиск. Мне существует мало точки об академическом танце вокруг субъективной "пользы" различных технологий. С точки зрения производственного развертывания ключ к тому, существует ли "точка" к использованию данной технологии, должен быть основан на сравнительном тесте с как близко к реальным условиям, поскольку можно моделировать. При внесении изменений в ОС, стопку драйвера, код приложения, и т.д., необходимо восстановить сравнительные тесты, так как старые предположения больше не могут сохраняться.
Похоже, вы запускаете tftpd-hpa из xinetd и как отдельную службу одновременно. Выберите один и отключите другой.
Например, установите disable = yes
в /etc/xinetd.d/tftp
и перезапустите xinetd.
Затем перезапустите автономную службу service tftpd-hpa restart
и попробуйте установить соединение еще раз.
1) удалить / переустановить tftpd-hpa
2) добавить в / etc / default / tftpd-hpa
RUN_DAEMON="yes"
Может понадобиться пробить дыру в брандмауэре. С шага 4 из http://www.thelinuxdaily.com/2010/02/guide-on-tftp-server-setup-in-fedora/:
Вставьте следующую строку перед строкой "КОММИТ" из /etc/sysconfig/iptables, а затем перезапустить службу с 'service iptables restart':
-A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
См. этот ответ .
Мне пришлось отредактировать / etc / default / tftpd-hpa
и установить IP-адрес в TFTP_ADDRESS =
переменная.
Это было в Debian Jessie, но может быть таким же в Ubuntu.
Настройка TFTP_ADDRESS = "0.0.0.0:69" у меня не сработала, по крайней мере, для обоих интерфейсов.
Настройка TFTP_ADDRESS = ": 69"
выполнила свою работу