Вопрос к тем кто соображает в архитектуре ПК и режиме ядра Win2k

Тема в разделе "WASM.WIN32", создана пользователем JSK, 31 окт 2004.

  1. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    Начну с малого:

    какие проблемы програмно-аппаратные возникают при установке n одинаковых устройств (звуковуе карты например)?



    1) Ошибка ОС - невозможность создания нескольких одинаковых виртуальных устройств (одинаковые имена) диспетчером устройств Windows

    2) Конфликт адресных пространств - использование одинаковых адресов ввода-вывода всеми устройствами вызывает блок со стороны ОС



    это моё мнение, есть ещё мнения?
     
  2. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    смотря каких устройств pci isa etc.

    детали в студию
     
  3. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    1) Никто, вроде, не обижается на ОС за то, что она не может создать два файла с одинаковыми именами в одном каталоге. Так что вполне логично, что и диспетчер объектов не может такого делать.



    2) Насколько я знаю, ресурсы устройствам распределяются динамически диспетчером PnP в момент загрузки системы. И если какое-то устройство не способно использовать например, адреса ввода-вывода, предлагаемые диспетчером PnP, то это наверное больше проблема производителя устройства.



    ЗЫ: А зачем иметь несколько одинаковых зуковых карт на одном компе? Если каналов не хватает так купить многоканальную карточку и всё.
     
  4. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    предисловие...

    ды вот, пытаюсь написать курсовую %) А на мой взгляд в курсовых работах частенько рассматриваются вопросы не имеющие к реальности никакого отношения %)



    Во всяком случае я так раньше думал, немного разобравшись в тематике выяснил для себя, что эта технология может найти себе применение в облати приема вызовов на пульт диспетчера МЧС, вневедомственной охраны, скорой... итд... вобщем там где нужно обрабатывть несколько телефонных вызовов одновременно. К вопросу о минимизации стоимости таких систем.



    to Narkomanius

    это очень очень очень дешевые PCI карточки...

    хотя, а в чем разница между PCI и ISA в этом плане?



    я думаю этих двух стандартов достаточно...



    to Four-F

    выделяю первую проблемму:

    программа установки (управления драйвером) не в состоянии создать объекты для каждого устройства из-за того, что она пытается создать объект с тем же именем (уж незнаю пересоздает диспетчер объектов объект или блокирует попытку затереть его)



    второе, пытаюсь решить проблемма это или нет:

    разве программа установки драйвера не может присвоить адреса IO в ручную (в винде не с проста можно менять диапазон IO ручками)? Да и сможет ли диспетчер PnP корректно выделить IO адреса под неизвестное устройство?



    делаю ещё один вывод: все зло исходит от разработчика драйвера, который просто не рассматривает ситуацию "много карт на одном компе"



    ваабще мне начинает казацца, что дело не в этом, все должно работать, а не работает... почему же тогда?
     
  5. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    наконец-то нашел инфу по диспетчеру PnP... проблемма 2 снимаецца. Наложение и пересечение адресных пространств отсутствует для PnP устройств.
     
  6. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    [ JSK: <font color="indigo]программа установки (управления драйвером) не в состоянии создать объекты для каждого устройства из-за того, что она пытается создать объект с тем же именем</font><!--color--> ]



    Тупая программа установки. Для некоторых типов девайсов предусмотрен специальный флаг FILE_PNP_AUTOGENERATED_DEVICE_NAME, который надо использовать при вызове IoCreateDevice. Например, имена всех девайсов вида Device\000000XX сгенерированы автоматически.



    Или так можно:

    Device\HarddiskVolume1

    Device\HarddiskVolume2

    Device\HarddiskVolume3



    Или вообще не использовать именованный объект, а юзать device interface.
     
  7. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    это выход ) т.е. единственная причина неработоспособности двух одинаковых устройств это "тупая программа установки"?



    вроде бы разобрался со всей цепочкой работы драйвера, от установки до его удаления %) но других причин выделить не могу...



    задам ещё один вопрос и отстану.

    для того чтобы запустить эту систему нужно написать корректно работующую программу установки? (сначала думал что прийдется писать промежуточный фильтр для проверки правильного распределения запросов между устройствами, но достаточно все правильно все установить)
     
  8. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    [ JSK: <font color="indigo]т.е. единственная причина неработоспособности двух одинаковых устройств это "тупая программа установки"?</font><!--color--> ]



    Нет. Это единственная причина того, что IoCreateDevice не может создать два девайса с одинаковыми именами. Есть код STATUS_OBJECT_NAME_EXISTS, который IoCreateDevice вернет при коллизии имен.





    [ JSK: <font color="indigo]для того чтобы запустить эту систему нужно написать корректно работующую программу установки?</font><!--color--> ]



    Вряд ли одного этого будет достаточно. Если устройство PnP, то грубо говоря программа установки делает необходимые записи в реестре о том, какой драйвер управляет устройством когда его запускать и т.п. Если устройство не PnP, то + ещё пытается его запустить. Но создание объектов и распределение ресурсов она не делает. Скорее всего потребуется переделка драйвера.
     
  9. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    FILE_PNP_AUTOGENERATED_DEVICE_NAME - спасибо, этого не знал, больше не буду сильно ругать производителей (они то наверное знают о таком способе задания имен устройств), хотя меня несколько смущает фраза "Для некоторых типов девайсов предусмотрен специальный флаг" - HDD естественно входят в эти "некоторые типы" им по специфике применения положено, а вот как со звуковыми быть (это не вопрос, все равно если этот флаг не используестя или не может быть использован, то проблемму прейдется решать).



    Уффф, если правильно создать виртуальные объекты ассоциированные с этими устройствами (что успешно сделает диспетчер PnP (для PnP устройств), он же и распределит свободные ресурсы между ними) и сопоставить их драйверу(=библиотеке) (содержащему набор процедур и функций для корректной обработки запросов этому устройству), то система IO будет будет верно доставлять IRP устройству и обратно. (если я все верно написал то с устройствами PnP проблем не должно быть)



    что касается не PnP устройств:

    1) написать программу установки (которая добавит драйвер в базу данных ОС и пометит к запуску в списке диспетчера управления службами сервис проецирующий образ файла драйвера на системное адресное пространство и выполняющий DriverEntry) - с этим проблем нет

    2) добавить к коду драйвера корректную процедуру инициализации : создание объектов и распределение ресурсов



    тк. исходника драйвера производителя найти невозможно следует написать промежуточный драйвер для запуска драйвера необходимого устройства (кажецца полный бред я тут написал) возможно ли это? и если нет то в каком направлении работать?



    и если можно, пару комментриев по поводу выше сказанного (в смысле наличия фактических ошибок)



    Я уже начал сомневацца в том, что несколько одинаковах PnP карт не работают вместе)
     
  10. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    а у меня нормально вставали два внешних модема одинаковых... один был просто "название модема", второй - "азвание модема #2" и все работало...
     
  11. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    to Stariy

    внешний модем, если я правильно все понимаю, не использует для свей работы ресурсов ПК он не имеет адресов IO, прерываний и вделеных каналов. Адресами IO для модема являются адреса IO com (с USB чуть посложнее) порта на котором он висит, прерывание от модема проц видит как от com порта, внешний модем же в свою очередь понятия не имеет о том что скрывается за набором контактов на которых появляются 0 и 1)



    поэтому ситуация 2 внешних модема не вызывает ошибки. Windows ассоциирует каждиму порту драйвер модема который на нем висит только для того чтобы формат данных совподал с модемными)



    вообще добавлю, что если модемы PnP то как сказано выше ошибки и не должно возникать) если нет см выше)



    (Все что почерпал из Интернета курса "ОС" и "Архитектура ПК" :) не факт что правильно понял)
     
  12. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    Добавлю, практически доказано что несколько одинаковых PCI звуковых карт одновременно не могут корректно функционировать на одном ПК, только не знаю PnP или не PnP они были
     
  13. Foamplast

    Foamplast New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2003
    Сообщения:
    80
    Адрес:
    Russia
    JSK

    практически доказано что несколько одинаковых PCI звуковых карт одновременно не могут корректно функционировать на одном ПК



    1. Несколько лет назад у меня была диджейская муз. программа. Диджеям по долгу работы необходимо два независимых звуковых выхода. В программе был выбор: при наличии одной зв. карты использовать правый канал как моно выход1, а левый - как моно выход2, либо же при наличии 2-х зв. карт использовать одну как стерео выход1, а другую - как стерео выход2.



    Так вот, если программа рассчитана на использование двух зв. карт одновременно, значит это возможно.



    2. Я думаю, что совмещение нескольких одинаковых устройств - проблема драйвера. Подбери приличное устройство и пиши свой драйвер. Изучи kx-project.



    3. Персональные компьютеры изначально ограничены в возможностях подключения устройств. В наиболее распространённые материнки более 4-5 зв. карт не воткнёшь.



    Поэтому можно строить систему не на РС, а, например, на DSP, объединяющих в себе вычислитель и АЦП-ЦАП. Выйдет намного дешевле и надёжнее. Копай в сторону Analog Devices ADSP-21065L (SHARC) и Music-DSP.



    http://www.analog.com/

    http://shoko.calarts.edu/musicdsp
     
  14. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    JSK



    2) Насколько я знаю, ресурсы устройствам распределяются динамически диспетчером PnP в момент загрузки системы. И если какое-то устройство не способно использовать например, адреса ввода-вывода, предлагаемые диспетчером PnP, то это наверное больше проблема производителя устройства.







    ... либо производителя acpi bios...
     
  15. krid24

    krid24 Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    88
    JSK

    насчет звуковух не знаю, а у меня на работе в компе стоят 2 одинаковые PCI карточки (генераторы сигналов произвольной формы), которые юзают каждая свои I/O, память,IRQ. Работают без проблемов и так же как у Stariy обзываются "имя устройства" и "имя устройства #2"
     
  16. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    to krid24^

    вариант рабочий) можешь сказать модель карточки?



    я не отрицаю что оно может работать, покопавшись в этой информации, узнал что у пройзводителей ПО к ним просто руки кривые. Если драва и inf файл к ним путево написаны то все должно работать.
     
  17. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    to CARDINAL^:

    устройства работают ) но по одиночке, вместе они начинають некорректно работать

    А то что это проблеммы производителя устройства, согласен полностью... только решать их приходицца пользователю
     
  18. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    to Foamplast^:

    так... спасиба за информацию (я в сугробе), разберусь в ней, обязательно отвечу)
     
  19. JSK

    JSK New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2004
    Сообщения:
    11
    Адрес:
    Russia
    ДА и ЕЩЁ, можете поздравить... защитил курсовую "Проблемы установки нескольких звуковых" - это не тема, это суть)))
     
  20. Foamplast

    Foamplast New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2003
    Сообщения:
    80
    Адрес:
    Russia
    Поздравляю