The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"размер буфера com-порта"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"размер буфера com-порта"  
Сообщение от pisto_agent (ok) on 27-Фев-09, 17:18 
Добрый день,

подскажите как можно изменить размер буферов драйвера com-порта в Linux?

Спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "размер буфера com-порта"  
Сообщение от Аноним (??) on 27-Фев-09, 20:03 
Если скажешь первоначальную проблему — тебе возможно помогут с решением.

Сейчас твой вопрос полная глупость. Никаких буферов в драйвере нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "размер буфера com-порта"  
Сообщение от Аноним (??) on 01-Мрт-09, 21:04 
Буфер есть апаратный, его изменить нельзя.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "размер буфера com-порта"  
Сообщение от pisto_agent (ok) on 04-Мрт-09, 16:07 
Первый раз прощаю.

Вот выдержка из serial howto http://tldp.org/HOWTO/Serial-HOWTO.html

It's been mentioned that there are 3 buffers for each direction of flow (3 pairs altogether): 16-byte FIFO buffers (in the UART), a pair of larger buffers inside a device connected to the serial port (such as a modem), and a pair of buffers (say 8k) in main memory. When an application program sends bytes to the serial port they first get stashed in the transmit serial port buffer in main memory. The other member of this pair consists of a receive buffer for the opposite direction of byte-flow. Here's an example diagram for the case of browsing the Internet with a browser. Transmit data flow is left to right while receive flow is right to left. There is a separate buffer for each direction of flow.

application     8k-byte         16-byte        1k-byte        tele-    
BROWSER ------- MEMORY -------- FIFO --------- MODEM -------- phone
program         buffer          buffer         buffer         line

Я не знаю насколько данная информация актуальна, но если ей верить, то буфер в драйвере есть, меня интересует можно ли его изменить (системный вызов, или параметр при компиляции ядра). Может быть есть возможность как-то создавать буферы на уровне VFS (буферизированная работа с файлами)?

Кто сталкивался, пожалуйста, подскажите.
Спасибо.

Спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "размер буфера com-порта"  
Сообщение от Аноним (??) on 04-Мрт-09, 18:55 
>Первый раз прощаю.

Сопли подотри.

>Вот выдержка из serial howto http://tldp.org/HOWTO/Serial-HOWTO.html
>Я не знаю насколько данная информация актуальна, но если ей верить, то
>буфер в драйвере есть, меня интересует можно ли его изменить (системный
>вызов, или параметр при компиляции ядра).

Это просто страница памяти в ядре. Потому что меньше страницы в ядре не выделяется без извратов, а больше никому не надо. Программы работающие с МЕДЛЕННЫМ портом успевают читать данные сразу про приходу, а не ковыряют в носу, теряя данные.
Исправить наверно можно, но не параметром, а изменениями драйвера (в нескольких местах, бессмысленными).

>Может быть есть возможность как-то
>создавать буферы на уровне VFS (буферизированная работа с файлами)?

Работа с файлами на диске всегда буферизованная.
А тебе надо создать буфер в программе. Читая из порта отдельным процессом или потоком. Если программа неисправимо залипает в моменты прихода данных.

Пожалуйста, пожалуйста.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру