Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-06-2004, 20:30   #1
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
programmazione di sistema

il mio prob è il seguente:
ho creato una sorta di disco virtuale in linux che simula un file system (creazione di directory, copia di file dal file system di linux al disco virtuale....).
Il problema è che il prog che gestisce il disco dovrebbe essere avviato (ad es con un comando da shell:....$ virtual start) e, quando avviato, dovrebbe intercettare le operazioni che implicano il disco virtuale.
Mi spiego meglio: se l'utente vuole creare una directory normalmente sul file system di linux digita:

....$ mkdir /home/bla/nome

se vuole creare una directory sul disco virtuale digita:

......$ VD:/nome

in pratica la presenza di "VD" dovrebbe far capire che il comando di creazione di directory va eseguito dal disco virtuale e non dal file system "normale".
Non ho idea di come riuscire a fare in modo che il prog che gestisce il disco virtuale sia appunto "in ascolto" di un comando dell'utente che lo riguardi....naturlamente il suddetto prog dovrebbe possedere i comandi di start e stop che lo avviino e lo fermino....
Chiunque abbia una qualche idea, anche miserrima, sono pronto ad offrigli una notte con la mia ragazza!!!
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 01:07   #2
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
nessuno??
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 11:06   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Credo che l'unica cosa sia di crearsi un device in /dev...come fare e come intercettare le chiamate questo lo ignoro (probabilmente ti devi scrivere un modulo per il kernel)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 11:44   #4
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
no, è molto più semplice....lo devo fare attraverso uno script bash.
questo script dovrebbe ridirezionare l'input dell'utente verso il "disco virtuale" se nel comando compare "VD", altrimenti dovrebbe chiamare il comando normale...
cioè se il comando è :

...$cp /home/pippo /home/prova/

la copia del file "pippo" avviene normalmente

se l'input è

......$ cp /home/pippo VD:/pippo

lo script vedendo "VD" chiama la funzione che copia il file dal file system di unix al disco virtuale...forse mi ero spiegato male...
Non sono un gran appassionato si scripting bash, quindi vorrei avere qualche opinione in merito...
comunque ti ringrazio infinitamente della tua risposta!
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 12:16   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non vedo come tu possa richiamare uno script bach in quel modo
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 12:27   #6
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
allora la cosa e' così:

nella cartella dove risiede il disco virtuale ci dovrebbe essere uno script che fa partire e ferma il disco virtuale, ad es. se lo script si chiama VD, il comando

....$./VD start

fa partire il disco virtuale.
a quel punto lo script può intercettare tutte le richieste che riguardano il disco virtuale (se nel comando e' presente "VD") ed inviare tali richieste al prog che gestisce il disco.
Se il comando non riguarda il disco (ad es: un semplice "mkdir" fatto sul file system di unix) lo script esegue il comando normale.
Il comando VD stop permette di fermare il disco e ritornare alla normale esecuzione....naturalmente se la shell viene chiusa il programma termina (com'è logico che sia per ogni processo figlio).
Grazie ancora della disponibilità....
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 13:25   #7
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
in pratica il problema è che non so come far comunicare contemporaneamente

utente--->script----->prog gestore del disco virtuale
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 01:31   #8
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
nessuno?
il prob mi sembra semplice, soltanto che non sono un genio dello scripting in bash...dovrei fare in modo che questo script, una volta fatto partire, ascolti l'input dell'utente e chiami il comdando richiesto...soltanto che non so come far stare lo script in attesa del comando dell'utente una volta fatto partire.....cioè, non so come far in modo che lo script non termini una volta che viene inserito il primo comando da parte dell'utente....come potrei fare, con un ciclo?
ringrazio fin d'ora qualsiasi persona che mi dia un qualche consiglio....
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 03:30   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ripeto...
Quote:
Originariamente inviato da cionci
Non vedo come tu possa richiamare uno script bash in quel modo
Prova ad inviare un PVT a ilsensine...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 05:44   #10
LukeHack
Bannato
 
L'Avatar di LukeHack
 
Iscritto dal: May 2003
Città: Roma
Messaggi: 3642
Quote:
Originariamente inviato da akyra
nessuno?
il prob mi sembra semplice, soltanto che non sono un genio dello scripting in bash...dovrei fare in modo che questo script, una volta fatto partire, ascolti l'input dell'utente e chiami il comdando richiesto...soltanto che non so come far stare lo script in attesa del comando dell'utente una volta fatto partire.....cioè, non so come far in modo che lo script non termini una volta che viene inserito il primo comando da parte dell'utente....come potrei fare, con un ciclo?
ringrazio fin d'ora qualsiasi persona che mi dia un qualche consiglio....
io proporrei una soluzione non-bash (perchè di bash non ne so un'ash)
un programma per es in C a riga di comando che,fatto partire,elabora i comandi bash (cp,mv..tutti insomma): se questi sono normali,invoca una system() (o execv() o similia) del comando scritto,altrimenti invia le richieste al programma che gestisce il disco virtuale...

ovviamente sta cosa la puoi fare anche in bash eh
LukeHack è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 11:04   #11
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
In pratica vorresti fare una cosa simile a questa ?
Codice:
#!/bin/bash

# cerca VD:/
TROVATO=0
for cmd in $*; do
    case $cmd in 
	VD\:\/*)
	    # comando con vd ...
	    TROVATO=1
	    break;;
	
	*)
	    # ciccia ...
	    ;;
    esac
done

# finisce il tutto ...
if [ $TROVATO -eq 1 ]; then
    # esegue il comando sul disco virutale
    echo "fa qualcosa sul disco virtuale 'cp.vd $*'"
else
    # esegue il comando normale
    echo "esegue il comando solito: 'cp.old $*'"
fi
Dai allo script il nome cp e lo meti in /bin stando attento a rinominare quello vecchio in cp.old. e il programma cp.vd dovrebbe essere appunto quello che gestisce il disco virtuale.

Certo questo è molto semplice e devi crearti uno script per ogni comando che vuoi sostituire ma c'è un trucchettino semplice semplice per risolvere anche a questo ma te lo lascio scoprire da solo cosi ti diverti un po

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 11:11   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Io credevo che volesse qualcosa di definitivo... Credevo che volesse fare in modo che per ogni comando processato la stringa VD venisse riconosciuta automaticamente...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 14:50   #13
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
intanto vi ringrazio infinitamente delle risposte che mi avete dato...
lo script che dovrei fare dovrebbe far partire il disco virtuale
ad es (se lo script si chiama VD.sh):

...$./VD.sh start

tale comando chiama il gestore del disco virtuale, il quale inizializza la struttura dati necessaria, crea un socket di acolto, ed attende connessioni a questo socket per soddisfare le richieste che coinvolgono il disco virtuale.
Quindi a quel punto lo script, più che comunicare direttamente col gestore del disco virtuale, comunica con un client che si colloga al socket del disco virtuale e gli invia le richieste.
Il problema però è che non so come fare per far in modo che lo script rimanga sempre in attesa delle operazioni dell'utente, in quanto dopo il primo comando "...$./VD.sh start", lo script termina, per cui se si volessero fare altre operazioni sul disco, bisognerebbe richiamare esplicitamente lo script, per farlo ripartire.....
guardando tutto quello che ho già fatto per fare sta cosa, mi fa rabbrividire arenarmi su un dettaglio di questo tipo...
Ringrazio ancora tutti dell'aiuto profuso!
(se non è ancora chiaro quello che lo script dovrebbe fare, chidetemi pure chiarimenti)
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 14:59   #14
LukeHack
Bannato
 
L'Avatar di LukeHack
 
Iscritto dal: May 2003
Città: Roma
Messaggi: 3642
Quote:
Originariamente inviato da akyra
intanto vi ringrazio infinitamente delle risposte che mi avete dato...
lo script che dovrei fare dovrebbe far partire il disco virtuale
ad es (se lo script si chiama VD.sh):

...$./VD.sh start

tale comando chiama il gestore del disco virtuale, il quale inizializza la struttura dati necessaria, crea un socket di acolto, ed attende connessioni a questo socket per soddisfare le richieste che coinvolgono il disco virtuale.
Quindi a quel punto lo script, più che comunicare direttamente col gestore del disco virtuale, comunica con un client che si colloga al socket del disco virtuale e gli invia le richieste.
Il problema però è che non so come fare per far in modo che lo script rimanga sempre in attesa delle operazioni dell'utente, in quanto dopo il primo comando "...$./VD.sh start", lo script termina, per cui se si volessero fare altre operazioni sul disco, bisognerebbe richiamare esplicitamente lo script, per farlo ripartire.....
guardando tutto quello che ho già fatto per fare sta cosa, mi fa rabbrividire arenarmi su un dettaglio di questo tipo...
Ringrazio ancora tutti dell'aiuto profuso!
(se non è ancora chiaro quello che lo script dovrebbe fare, chidetemi pure chiarimenti)
usa i thread, uno per ogni connessione,il server resta nel frattempo sempre in LISTEN col primo thread...direi che cosi stai a posto

Ultima modifica di LukeHack : 05-06-2004 alle 15:02.
LukeHack è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 15:38   #15
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
intanto grazie...
il problema non è su come effettuare la connessione al server che gestisce le richieste, ma è su come non far terminare lo script dopo il comando start....in pratica vorrei tradurre in bash una serie di camandi C di questo tipo

Codice:
while(1){
    /*memorizza i comandi inseriti dall'utente*/
    /*li scansiona, e seleziona i comandi corrispondenti (cd, mkdir, ls...)*/
          /*nel caso all'interno di uno di questi compaia "VD" allora richiama le funzioni del disco virtuale*/
   /*quindi ricomincia il ciclo*/
  /*se viene inserito "VD stop" il ciclo termina*/
}
non mi sembra una cosa impossibile...soltanto che in script bash sono una sega....
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 15:48   #16
LukeHack
Bannato
 
L'Avatar di LukeHack
 
Iscritto dal: May 2003
Città: Roma
Messaggi: 3642
Ripeto:
Quote:
Originariamente inviato da LukeHack
usa i thread, uno per ogni connessione,il server resta nel frattempo sempre in LISTEN col primo thread...direi che cosi stai a posto
non so se si possono fare in bash (direi di si), in C si farebbe in pochi minuti
LukeHack è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 18:48   #17
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da akyra
il problema non è su come effettuare la connessione al server che gestisce [...]
quindi vorresti implementare una specie di shell sopra bash. ? ho modifica lo script di prima per fare piu ho meno quel ciclo che hai riportato. certo alcune cose sono da sistemare ma sono piuttosto facili.
Codice:
#!/bin/bash

# se si passa come argomento start allora incomincia il ciclo
if [ "$1" == "start" ]; then
    while /bin/true; do
        # legge un comando 
	echo -n "shell: "
	read CMD
	
        # controlla se è stato inseito vd stop
	if [ "$CMD" == "vd stop" ]; then
	    break;
	fi
	
        # cerca VD:/
	TROVATO=0
	for cmd in $CMD; do
	    case $cmd in 
		VD\:\/*)
                # comando con vd ...
		TROVATO=1
		break;;
		
		*)
	            # ciccia ...
		    ;;
	    esac
	done
	
        # finisce il tutto ...
	if [ $TROVATO -eq 1 ]; then
            # esegue il comando sul disco virutale
	    echo "fa qualcosa sul disco virtuale 'vd $CMD'"
	else
            # esegue il comando normale
	    echo "esegue il comando solito: 'old $CMD'"
	fi
    done
fi
Se hai intenzione di imparare un po di bash qui c'è la guida definitiva che oltre tutto è anche in italiano http://it.tldp.org/guide/abs/
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 19:59   #18
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
grazie VICIUS, adesso non ho tempo per provare lo script che mi hai suggerito, ma penso che sia sulla strada giusta...appena ho 2 minuti lo provo!
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2004, 22:12   #19
Dun
Senior Member
 
L'Avatar di Dun
 
Iscritto dal: Jul 2000
Città: Amsterdam
Messaggi: 217
Re: programmazione di sistema

Quote:
Originariamente inviato da akyra
il mio prob è il seguente:
ho creato una sorta di disco virtuale in linux che simula un file system (creazione di directory, copia di file dal file system di linux al disco virtuale....).
Il problema è che il prog che gestisce il disco dovrebbe essere avviato (ad es con un comando da shell:....$ virtual start) e, quando avviato, dovrebbe intercettare le operazioni che implicano il disco virtuale.
Mi spiego meglio: se l'utente vuole creare una directory normalmente sul file system di linux digita:

....$ mkdir /home/bla/nome

se vuole creare una directory sul disco virtuale digita:

......$ VD:/nome

in pratica la presenza di "VD" dovrebbe far capire che il comando di creazione di directory va eseguito dal disco virtuale e non dal file system "normale".
Non ho idea di come riuscire a fare in modo che il prog che gestisce il disco virtuale sia appunto "in ascolto" di un comando dell'utente che lo riguardi....naturlamente il suddetto prog dovrebbe possedere i comandi di start e stop che lo avviino e lo fermino....
Chiunque abbia una qualche idea, anche miserrima, sono pronto ad offrigli una notte con la mia ragazza!!!

Ahhh Unive

Hint: Ridefinisci i comandi base attraverso alias o funzioni e li scrivi nel .bashrc. Okkio che devi rilanciare la shell perche' ti accetti i nuovi comandi. Ricorda che non c'e modo per esportare funzioni o varibali da uno script eseguito in una sottoshell alla shell madre da cui hai lanciato lo script.

Nelle funzioni poi fai un parser che, vista la necessita' di scrivere sul VD, lanci il server con oppportune opzioni.

Spero di averti in parte illuminato


Ah il comando vdstart non lo userei per far partire il processo gestore
Dun è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2004, 16:00   #20
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
grazie della risposta Dun, evidentemente hai capito a pieno di cosa sto parlando, però ti chiedo un grandissimo favore di essere un po' più preciso perchè, ripeto, che lo scripting bash non è che mi entusiasmi più di tanto, ed in più sono alquanto una sega in questo tipo di programazione...
Ti ringrazio infinitamente dei consigli che mi hai dato e non vorrei annoiarti, però potresti farmi qualche esempio a riguardo?
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
Com'è fatta una delle e-bike pi&u...
iPhone 16 domina il 2025: ecco la classi...
Huawei a supporto delle startup: potenzi...
Iliad è il miglior operatore di l...
Le pompe di calore parlano italiano: Bon...
Moltbot non è solo un chatbot: ag...
Sinner e Alcaraz fermati dall'arbitro: i...
L'audio-video professionale arriva a MIR...
Musk fa i complimenti alla Cina: nel set...
Agcom ha avviato verifiche sul format 'F...
Bose QuietComfort Ultra (2ª Gen) a meno ...
Non è vero niente: H200 in attesa...
Fanatec lancia un nuovo plugin ufficiale...
Anna's Archive vs Spotify: vizio di legg...
Bastano 200 auto elettriche per cambiare...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v