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

 
 
> QNX и запись на диск, медленная запись
Caxec
сообщение Oct 1 2012, 08:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 11-02-10
Пользователь №: 55 413



Добрый день всем!

Такая ситуация. Имеется компьютер Lippert на Celeron 650MHz и чипсетом VIA VT8606. К нему по шине PCI подключена плата захвата данных. Плата в режиме мастер пишет в буфер в памяти липперта данные. Размер буфера 600Кб. Буфер заполняется 30 раз в сек. и должен сливаться на диск. Диск IDE подключен 40 жильным кабелем, на 120 Гб. В общем, при записи буфера время выполнения функции write около 5 мс., но периодически, примерно раз в секунду, функция write висит в течении 300мс, соответственно пропускается куча буферов. Я так понял, что зависон происходит в момент слива кэша файловой системы на диск. Да, файловая система - fat32. Почему сливает так долго, можно ли как-то ускорить процесс?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gerber
сообщение Oct 2 2012, 19:47
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Идеологически правильным решением будет организация цепочки буферов DMA (например, 256 буферов по 600 кБ), указатели на которые организованы в кольцевой буфер. Это позволит рассинхронизировать полностью потоки, управляющие захватом данных и записью на диск. Думаю, что идея очевидная и понятная - поток, управляющий захватом начинает по очереди заполнять буфер за буфером, при достижении определённого порога (скажем, заполнено 16 из 256 буферов) начинает работу поток записи на диск, опрожняющий буфера. Тут главная задача - добиться, чтобы затянувшаяся операция записи не приводила к остановке потока захвата данных.
Цепочка буферов позволит снивелировать спонтанные задержки, вызванные записью на диск, но не решит проблему, если задержка носит систематический характер, в этом случае нужно искать другие архитектурные решения.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 21:35
Рейтинг@Mail.ru


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