|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
consulenza per un porting...
nel laboratorio dove devo iniziare la tesi la piattaforma di riferimento è QUESTA COSA che attualmente gira su Win
EW è in pratica un framework e uno scheduler RT, sul il quale si innestano "moduli" di calcolo e visualizzazione che opereranno su flussi di dati in real time... ora, con l' uscita della rel 4 su Win si sta prendendo in considerazione l' eventualità di effettuare in parallelo un porting su Linux il che a occhio non sarebbe una banalità per vari motivi uno dei quali è l' attuale sfruttamento di DirectX media in maniera piuttosto estensiva ... un altro è il fatto che, da quello che sembra, chi lo sviluppò all' epoca (laureandi di anni passati, nessuno dei quali è più in Italia avendo colto ben altre opportunità d' impiego) progettò il framework e lo scheduler in modo da integrarsi abbastanza col kernel NT e le sue idiosincrasie... ora, mi piacerebbe sentire pareri/opinioni/consigli/correzioni riguardo la fattibilità e le difficoltà dell' operazione... soprattutto stante quello che, alcune cose lette riguardo la kernel preemptability, le kernel syscall latencies, lo stato del multithreading e multistreaming (soprattuttto a livello di flussi audio e video) , mi portavano a intuire (magari erratamente) ciao e grazie
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 01-12-2004 alle 14:29. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Immagini che le DirectX le utilizziate per l'acquisizione a/v, giusto?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
praticamente sì , tutti gli stream audio e video sono DX ...
in passato c' è stato anche "un po' " di MIDI per interfacciarsi con HW vario (guanto virtuale
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 01-12-2004 alle 14:44. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Non vedo grossi problemi allora.
Per il resto, occorrerebbe avere qualche dettaglio più approfindito su come funziona attualmente il sistema. Posso darvi qualche suggerimento se mi descrivi le situazioni tecniche precise. Avete intenzione di utilizzare qualche licenza libera per la versione per linux?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 | ||
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
Quote:
quelli che si interfacciano con l' esterno "lockano" i driver praticamente in accesso esclusivo nel caso del grabbing, capturing, MIDI e delle porte (INFATTI, a seconda di quello che deve fare, va eseguito da Amministratore... quelli che effettuano calcoli "puri" si appoggiano (almeno lo facevano fino alla versione 3) alle IPL e alle OpenCV e quelli di visualizzazione / uscita alle directsound/show/draw (DX 9 required, per questo motivo) sotto, il framework schedula i processi secondo un real time ""best effort" ...stavo dando un' occhiata all' SDK per cercare do capire cosa permette di fare di preciso, però sembrerebbe che virtualizzi praticamente tutto (wait, semafori, locking...) il fatto è, sembrerebbe che anche nello staff permanente del laboratorio, (molto esiguo , due persone, una impegnata nel proseguire la ricerca sulla gesture recognition/processing e l' altro impegnato più che altro a seguire gli alunni e i tesisti... tra cui il sottoscritto che io sappia, il progetto EW > linux è stato più volte proposto e poi abbandonato in quanto ogni volta lo studente ha tentato per il periodo assegnatogli per realizzare il modulo di turno e superare l' esame di PPM, passando poi la palla... e ogni volta lo scoglio sembrava essere la riscrittura della sezione audio e del mutexing ... per quello chiedevo se ci sono cose peculiari e limitazioni da sapere riguardo al kernel ... c' è anche da dire che tutte le prove erano all' epoca del kernel 2.4... Quote:
la licenza attuale per la versione win è praticamente di "distribuzione gratuita" del programma e dell' SDK se si sviluppasse una versione linux non escludo si possa prendere in considerazione una licenza alternativa ... ma al tempo stesso non posso garantirlo, non dipende (per ora) da me
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 01-12-2004 alle 16:28. |
||
|
|
|
|
|
#6 | ||||||||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
L'unica accortezza, se si programmano applicazioni di calcolo parallelo, è una gestione attenta degli sleep/wake up, ma immagino che sotto Windows il problema sia lo stesso. Non è una nota banale, sapessi quanti programmi mal scritti ho visto che facevano orrori del tipo "while(!ready) sched_yield();" Un settaggio appropriato di strategie di scheduling particolari, se richieste, sono l'unica cosa da valutare. Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||||||||
|
|
|
|
|
#7 | |||||
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
Quote:
Quote:
Quote:
bene bene molto bene Quote:
magari da CORBA allora, si vuole che una DLL possa incapsulare un certo oggetto, ed esportare una certa interfaccia, in modo che - l' interfaccia sia tra l' altro, ereditabile - l'interfaccia si possa associare univocamente ad un oggetto in modo che più DLL possano coesistere anche se l' interfaccia esportata è affine, e un' applicazione client si appoggi alla giusta versione da quel poco che ho usato, l' elemento principale che permette ciò è costituito dai CLSID (class ID) / IID (interface ID): questi vengono usati come identificatori globali per la DLL e la sua interfaccia (sotto win le librerie vengono registrate con un identificatore globale che mi pare ricicli il CLSID... siccome so che COM è supportato anche macosX per interportabilità...) in modo che il sistema riesca a runtime a determinare quale DLL caricare ad esempio qui viene esemplificato un programma che usa lo stesso metodo ridefinito in due oggetti diversi, quale chiamare alla pressione di un pulsante viene determinato in base al CLSID passato dai due oggetti passando per la Typelib information ti chiedo scusa per la mancata esaurienza... sono una schiappa a spiegare, se dovessi insegnare dovrei passare una settimana a preparare una scaletta... Quote:
MIDI (usato un po' per tutto, dalla connessione di periferiche non solo musicali, vedi guanto virtuale usato per acquisire movimenti di un mimo, altre periferiche di motion capturing, ma anche connessione master - slave tra due macchine...) , LAN, firewire, microfoni e telecamere (la tesi che probabilmente farò comporterebbe un numero arbitrario di telecamere - da cui acquisire con ricostruzione prospettica i movimenti di soggetti in numero arbitrario...) altri ingressi "vari ed eventuali" (mouse, tastiera e altro... alcuni su interfaccia specifica tipo scheda PCI per il motion capturer...)
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
|||||
|
|
|
|
|
#8 | |||||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Quote:
Quote:
Ovviamente su linux devi cambiare struttura. Su linux è semplicissimo creare .so (equivalenti alle dll) di classi (ma veramente banale), quindi ti suggerisco questo approccio. Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|||||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:13.



















