Автор: Baza , 1 ноября 2007
Уже который раз всплывает в голове мысль, о том как можно решить проблему нехватки свободных (PCI) и отсутствия необходимых (ISA) слотов на платах :)



Пока только не могу понять, насколько сложно оно в софтовой реализации, т.е. в написании клиент-серверной части.

когда 3 года назад я спрашивал у знакомого программиста он меня послал в сторону кластерных ОС, но я думаю, что проблема

может решаться проще.

По идее корости 100Mbit должно вполне хватить для ISA устройств, Гигабитки тоже уже давно не редкость....а это уже скорость PCI шины.



Или я заблуждаюсь?
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Hohmach

18 лет 4 месяца назад

Задержки большие. И размер пакета маленький - много прерываний, грузится CPU, правда в современных MAC есть (отключаемый) буфер,но он только увеличит задержки. Можно конечно использовать jumbo frame на от задержек никуда не деться.



Не вникал, но может firewire для этих целей лучше подойдет. Но надо учитывать что и тот и другой девайс уже висит на какой-то шине.

savely

18 лет 4 месяца назад

Как раз скорость я бы рассматривал в последнюю очередь. Мы явно ж не IDE-контроллер собираемся шарить... Пока не хватает данных в задании - допустим, комп без ISA должен реально считать, что у него есть ISA-карта или как? Или какой-то софт должен считать?
IMHO, общее решение - надо думать МНОГО, частное для определенной платы + ее софт - меньше.

Baza

18 лет 4 месяца назад

Идея задумывалась в своё время для звукозаписи, тоесть надо было расшарить звуковухи именно как устройства для программы.

Но этот вариант отпал, т.к. в-общем есть радмин :) и управлять записью можно удалённо.



Теперь идея всплыла именно в общем виде: а можно-ли такое вообще?

NiTr0

18 лет 4 месяца назад

В общем случае - PCI девайс, который содержит ПЛИС, эмулирующий удаленный девайс, и контроллер сети (возможно - еще какой-то проц, если в ПЛИС не удастся программу впихнуть). + комп (или подобный девайс), который висит по другую сторону кабеля. Т.е. фактически удлиннитель шины.

Отсюда и ограничения: передача данных по словам - соответственно огромные задержки, шина при обмене сильно перегружена, + при медленном устройстве на другом конце - функционировать вообще не будет. Ну и + ко всему - определение девайса только при старте компа (если я ошибаюсь, поправьте - я не имел дела с хотплагом PCI устройств).

Baza

18 лет 4 месяца назад

2 NiTro:

Не так всё злобно :) Хотелось железо одного компа расшарить для другого, а не делать удлинитель для  девайса по Ethernet :)

NiTr0

18 лет 4 месяца назад

А это имхо не намного проще :) а то и сложнее... 1) Перехват записи в порты ввода-вывода (проблеммно - т.к. все дрова живут в Ring0) 2)DMA (тоже гиморно) и самое сложное - 3) конфликты при доступе. Если с 1м еще можно побороться (хотя - пресловутую StarForce насчет портов так и не обломали), со 2м - сделать через одно место, то с 3м как бороться - науке не известно :) Не факт, что ОСь не вздумает посреди процесса передачи данных опросить девайс. Не удивлюсь, если окончится BSOD.

Для частного же варианта (для 1 девайса) - реализуется высокоуровневая эмуляция. На клиенте - драйвер-wrapper, на сервере - софтина, транслирующая вызовы собссно драйверу девайса, и возвращающая результаты. Хотя, возможно, это будет претендовать и на ограниченную универсальность. По этому поводу можно посмотреть http://alter.org.ua/ru/downloads/ProxyDriverKit.rar