Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Zahar Kiselev                        2:5030/382.1   21 Dec 2004  03:02:16
 To : Victor Wagner
 Subject : Re: драйвер
 -------------------------------------------------------------------------------- 
 
 
 Dec 21 00:13 04, Victor Wagner wrote to Zahar Kiselev:
 
  VW>>> Hу и сделай 32 символьных устройства. С общим major 
  ZK>> монстрообразие соотносится с идеологией и стилем?
  VW> Есть же мультипортовки с толпой последовательных портов.
 
 Аргумент принимается. Как-то я это не сообразил, хотя вот в офисе 
 восьмипортовая Моха живет. 
 
  VW> А кто тебе сказал, что не будет иметь смысла управлять платой из
  VW> скриптов на bash? 
 
 Математические действия на данными в скриптах на Баше - ну скажем так не самое
 сильное место. Если уж говорить о скриптах - я бы предпочел поуправлять из
 scilab или octave. Hо подцепить туда управление - весьма сложно при моей
 квалификации. Достаточно посмотреть, как там где-то в примерах сделано чтение
 данных со звуковой карты - очень уж топорно. По всей видимости не только у меня 
 квалификации не хватило(или усердия).
  VW> Кстати, о скриптах. Если у тебя данные выдаются с драйвера в 
  VW> ASCII-виде
  VW> (а в виде бинарных данных выдавать 12-битные данные несколько 
  VW> неудобно)
  VW> то проблему нескольких каналов можно решить, выдавая в одной строчке
  VW> отсчеты со всех включенных каналов.
 
 Для медленных измерений - вполне можно. Hо тогда драйвер не будет универсальным 
 - при оцифровке чего-нибудь с высокой частотой увеличение потока данных будет
 такое, что не хватит производительности машины. 
   ZK>> Также у меня есть технический вопрос по написанию
  ZK>> драйверов. В общем виде он звучит так "что я имею право
  ZK>> делать из исполняемого в ядре кода, а что нет"? Более
  ZK>> конкретно - могу ли я из кода драйвера открыть файл на
  ZK>> диске и его прочитать(конфиг например)? Могу ли я
  VW> Вообще говоря, нет. 
 
 Hо вообще в компьютерном мире известны примеры существования конфигов у
 драйверов. Правда я это не под линуксом видел.
 
  ZK>> запустить какую-нибудь программу на выполнение?
  VW> В принципе - нет, но мне известны исключения.
 
 Думаешь я просто так спросил именно это?:)
 
  VW> Вообще следует исходить из того, что у тебя вообще может не очень 
  VW> быть файловая система. Hапример, есть только initrd с единственным
  VW> бинарником, который он же init, он же и основное приложение. Для
  VW> встраиваемых систем - вполне осмысленные setup.
  VW> А может быть что поверх ядра работает JVM, а все остальное - уже в 
  VW> этой JVM. Как в мотороловских телефонах.
 
 Hу в данном случае невозможность таких вариантов следует уже из того, что плата 
 АЦП имеет ISA-разъем, причем еще и восьмибитный. Так что в телефон моторолы ее
 точно не засунуть. А отсутствие файловой системы проблематично по причине
 необходимости места для хранения собранных данных. Можно конечно представить
 что-то типа flash-памяти с последовательным доступом, прицепленной на принтерный
 порт - но это уж слишком умозрительно....
 
  VW> Так что чем меньше странного ты хочешь, тем лучше. 
 
 В общем случае верно, но если бы автор Линукса не хотел чего-то странного - он
 не создал бы Линукс:)
 
  VW> А по поводу взаимодействия между драйверами, можно посмотреть в
  VW> существующий код каких-нибудь драйверов, образующих стэк.
 
 К сожалению - эти драйверы очень объемисты и разобраться в том как они
 взаимодействуют довольно сложно. Общие слова про экспортируемые символы в книжке
 написаны,кстати там же где фраза о "доступности символов в коде ядра",
 но правил и ограничений по использованию того что доступно как я уже сказал -
 там нет.
 
  ZK>> pintk() и тех функций, которые предназначены для
  ZK>> регистрации драйвера в системе. А так - там и sys_execve
  ZK>> например есть, и sys_write и много чего другого. 
  VW> Hу естественно. Это же реализации системных вызовов write(2)
 
 Вот меня и заинтересовало - что будет если я его из кода ядра вызову?
 Hаткнусь на проблему "повторной невходимости" как в досе или нет?
 
  ZK>> так очевидно, потому что из кода драйвера куда угодно
  ZK>> залезть можно. 
  VW> но не нужно. Hапример, не следует без принятия специальных мер
  VW> предосторожности, лезть из kernel-space по указателю, переданному из
  VW> user-space. А то может та страница, куда этот указатель указывает, 
  VW> уже давно отсвопилось.
 
 Hу это пример, который в каждом букваре по написанию драйверов приводится.
 Он также очевиден, как и возможность воспользоваться функцией printk()
 Hу скажем так - очевиден для тех, кто имел дело со внутренностями
 дос-экстендеров столько, сколько копался в них я.
 
 Zahar(@spbdept.rbc.ru) Остров Большой Березовый: http://birch-island.spb.ru
 
 --- Msged/LNX 6.1.1
  * Origin: N:60.17'54" E:28.39'40" (2:5030/382.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: CorelDraw   Alex Korchmar   20 Dec 2004 16:17:59 
 Re: CorelDraw   Ilya Anfimov   20 Dec 2004 17:19:29 
 драйвер   Zahar Kiselev   20 Dec 2004 17:44:22 
 Re: драйвер   Victor Wagner   20 Dec 2004 20:02:22 
 Re: драйвер   Ilya Anfimov   20 Dec 2004 21:58:28 
 Re: драйвер   Alex Korchmar   21 Dec 2004 01:09:37 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 00:56:30 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 03:16:00 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 05:25:22 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 12:32:21 
 Re: драйвер   Zahar Kiselev   22 Dec 2004 00:04:04 
 Re: драйвер   Zahar Kiselev   20 Dec 2004 22:07:18 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 00:53:17 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 02:49:02 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 12:09:04 
 Re: драйвер   Victor Wagner   21 Dec 2004 01:13:55 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 03:02:16 
 Re: драйвер   Victor Wagner   21 Dec 2004 10:01:58 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 12:17:59 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 22:31:06 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 12:15:53 
 Re: драйвер (Offtopic)   Serg Oskin   20 Dec 2004 20:49:09 
 Re:   Zahar Kiselev   20 Dec 2004 22:41:18 
 Re:   Serg Oskin   21 Dec 2004 13:04:20 
 Re:   Zahar Kiselev   22 Dec 2004 00:09:16 
 Re:   Serg Oskin   22 Dec 2004 16:02:11 
 Re: драйвер   Ilya Anfimov   20 Dec 2004 21:20:14 
 Re: драйвер   Zahar Kiselev   20 Dec 2004 22:47:52 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 01:29:02 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 03:34:48 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 12:26:06 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 23:53:24 
 Re: драйвер   Igor Tihonov   20 Dec 2004 22:42:44 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 00:57:51 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 01:11:16 
 Re: драйвер   Igor Tihonov   21 Dec 2004 19:58:59 
 Re: драйвер   Igor Tihonov   21 Dec 2004 20:05:35 
 Re: драйвер   Ilya Anfimov   21 Dec 2004 22:06:43 
 Re: драйвер   Zahar Kiselev   22 Dec 2004 03:46:22 
 Re: драйвер   slava kozyrev   21 Dec 2004 11:34:50 
 Re: драйвер   Zahar Kiselev   21 Dec 2004 22:19:36 
 Re: CorelDraw   Nick Gazaloff   21 Dec 2004 03:00:14 
 Re: CorelDraw   Peter V. Chernikoff   31 Dec 2004 23:29:54 
Архивное /ru.linux/328841c7362d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional