ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: "Oleg N. Kayunov" <okayunov@mtu-net.ru>
To: community@altlinux.ru
Subject: [Comm] Re: функция Си 
Date: Sat, 28 Jun 2003 07:36:50 +0400
Message-ID: <3EFD0D52.1010005@mtu-net.ru> (raw)
In-Reply-To: <20030626145118.106871fb.gleb@asd.iao.ru>

Gleb Kulikov пишет:

> Thu, 26 Jun 2003 01:14:11 +0400 дня "Oleg N. Kayunov" <okayunov@mtu-net.ru>
>написал(а):
>
>  
>
>>1. - Пишется для Питона модуль снимающий данные с карточки и выдающий их в
>>в Питоночитаемом виде. Пишется на C , раз уж библиотека при карточке
>>    
>>
>
>Лучше не так (описываю то, что сделано у меня)
>	1. на C/C++, пишется взаимодействие с аппаратурой, стартуется в отдельном
>треде (высокоприоритетном). Данные могут размещаться в выделенных областях
>памяти, например, разделяемой, и т.д.
>	2. Пишется модуль - переходник для Питона, (только!) достающий/обрабатывающий
>данные. Лучше оформлять его по правилам модулей для Numeric, тогда возможен
>прозрачный доступ к массивам данных. В этом случае, проще всего обеспечить
>необходимые времена реакции и т.п., хотя синхронизация процессов,
>выполняющихся в разном масштабе времени. и может доставить головную боль.
>  
>
    М.б. я что-то не так понял, но тогда уж (раз пошла такая пьянка) 
имеет смысл написать для снятия данных и их __буферизации__ отдельную 
C-программку - даемона. И запускать её, болезную, с высоким приоритетом. 
Можно и root-ом. А енти самые (снятые с карточки и буферизированные) 
данные брать с даемона через сокет. Брать когда будет удобно - меньше 
проблем с синхронизацией. Дополнительное преимущество - ежели 
использовать И-нет сокет, то можно делать всё это через сеть, то бишь - 
карточка (карточки) на одной (одних) машинах, обработчик (Питоновский) 
на других. И не придётся даже озабочиваться связью между C-шным текстом 
и Питоновской программой - всем ведь глубоко фиолетово, какая именно 
программка на другом конце линии. А то как писАть программы на C 
работающие с сокетами во множестве мест (с примерами) описано. И у 
Питона соответствующий модуль имеется. Учитывая, что, как писал 
Ткаченко, частота дискретизации невысокая - всё должно пойти на ура.
    Или именно это и имелось в виду?
    Дополнительно - насчет bc. При всём (искреннем) уважении к bc 
математическая библиотечка унего бедновата. А главная (ИМХО) "вкусность" 
bc - неограниченная точность (требующая, ест-нно, неограниченного 
времени) в этой задаче явно не нужна. Обычный double float перекроет все 
требования по точности расчетов (учитывая ограниченную разрядность 
карточки) с ну очень большим избытком.

>Засада (если хочется реализоваывать всё это безобразие именно на линуксе, я
>реализовывал работу со своим  спектроскопическим стендом под OS/2, в процессе
>раздумей о линукс-реализации, разлил много желчи): реализация многотредовости
>в линуксе воистину*Отвратительная*, именно так, с большой буквы.. Достаточно
>сказать, что ожидание на pthread_cond_wait-- активно жрёт процессор!
>  
>
    Ну демоны-то в Линукс явно не жрут время в процессе простоя.

>Заодно вопрос к разработчикам: а какие планы относительно NPTL / NGPT в ALT?
>
    Интересно знать - что это?

>Спасибо.
>
>						Салют, /GLeb
>_
>
-- 
== В действительности все обстоит совершенно иначе чем на самом деле. ==
	BR, Oleg N. Kayunov.



  parent reply	other threads:[~2003-06-28  3:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-23  4:27 ` [Comm] " Прокопьев Евгений
2003-06-23  4:53   ` Ткаченко Максим
2003-06-23  9:45     ` Andrey Golovin
2003-06-23  9:54       ` Ткаченко Максим
2003-06-23 10:10           ` Ткаченко Максим
2003-06-24  6:17             ` Ткаченко Максим
2003-06-24  7:43               ` Прокопьев Евгений
2003-06-26  3:36                   ` [Comm] " Ткаченко Максим
2003-06-28  3:36                     ` Oleg N. Kayunov [this message]
2003-06-28  7:19                       ` Shrek
2003-06-28 12:30                       ` Gleb Kulikov
2003-06-28 13:55                         ` Vitaly Lugovsky
2003-06-28 15:21                           ` Gleb Kulikov
2003-06-24 10:29               ` [Comm] " Vitaly Lugovsky
2003-06-24 10:51                   ` [Comm] [JT]функция Си Vitaly Lugovsky
2003-06-24 14:08                     ` Vitaly Lugovsky
2003-06-25  1:54                       ` Ткаченко Максим
2003-06-25  6:07                         ` Yuri Ivanov
2003-06-25  7:52                             ` Andrey Golovin
2003-06-25  8:40                             ` Shawkat
2003-06-25 12:45                             ` Vitaly Lugovsky
2003-06-25  7:59                           ` Vitaly Lipatov
2003-06-25 12:42                         ` Vitaly Lugovsky
2003-06-24 20:12                     ` Re[2]: " ASA
2003-06-25  1:55                       ` Ткаченко Максим
2003-06-23 12:11 ` [Comm] функция Си Vitaly Lugovsky
2003-06-26  1:35     ` [Comm] [JT]функция Си Ткаченко Максим

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EFD0D52.1010005@mtu-net.ru \
    --to=okayunov@mtu-net.ru \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git