Informatica teorica: calcolo indirizzo libero

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Informatica teorica: calcolo indirizzo libero

Messaggio da V »

Ciao!

Qualcuno conosce un algoritmo per calcolare un indirizzo casuale tra 0 e 255?
Non vorrei usare la rand(), vorrei un numero "più" casuale.....

In caso di conflitto come si pùo risolvere?
Sono su una rete particolare....

Avatar utente
elettronicha
Master
Master
Messaggi: 1712
Iscritto il: mer 13 apr 2005, 0:00
Località: Torino
Contatta:

Messaggio da elettronicha »

cerca "generazione numeri casuali" et similia. per che linguaggio ti serve? spesso le funzioni tipo rand sono utili in fasi di debugging, proprio grazie alla loro pseudocasualità.

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

Il linguaggio è il C, quindi non ci sono problemi particolari.....

Mi spiego meglio: se casualmente due periferiche richiedono lo stesso indirizzo casuale, come potrei risolvere la collisione?

Avatar utente
elettronicha
Master
Master
Messaggi: 1712
Iscritto il: mer 13 apr 2005, 0:00
Località: Torino
Contatta:

Messaggio da elettronicha »

V ha scritto:Il linguaggio è il C, quindi non ci sono problemi particolari.....
allora dai anche uno sguardo a srand
Mi spiego meglio: se casualmente due periferiche richiedono lo stesso indirizzo casuale, come potrei risolvere la collisione?
ci sono allora diversi algoritmi per l'accesso multiplo ma io non ti so dire molto su questo e soprattutto senza aver letto qualcosa di quello che stai facendo. una cosa semplice da fare è quella di controllare, tramite flag, che l'indirizzo richiesto non sia già occupato e sperare che l'indirizzo non venga richiesto dalle due nel medesimo istante.

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

Il problema è proprio questo: se due periferiche chiedono nel medesimo istante lo stesso indirizzo? E' altamente improbabile, ma...........

Avatar utente
capitanfuturo
Linux 0.x
Linux 0.x
Messaggi: 43
Iscritto il: gio 5 ott 2006, 14:10
Località: Padova
Contatta:

Messaggio da capitanfuturo »

Non vorrei dire una cavolata, ma potresti gestire la cosa con un semaforo o comunque dando uno sguardo alla programmazione concorrente, in questo modo metti la scheda che richiede l'indirizzo già richiesto in attesa sul semaforo.

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

V ha scritto:Il problema è proprio questo: se due periferiche chiedono nel medesimo istante lo stesso indirizzo? E' altamente improbabile, ma...........
Hai bisogno di mutua esclusione nell'assegnamento degli indirizzi. Come suggerito da capitanfuturo puoi usare un semaforo.

Avatar utente
op15l
Linux 3.x
Linux 3.x
Messaggi: 604
Iscritto il: mer 26 gen 2005, 0:00
Kernel: 2.6.27
Desktop: kde 4.1.3
Località: Cattolica

Messaggio da op15l »

distribuzione?
uniforme?

Avatar utente
op15l
Linux 3.x
Linux 3.x
Messaggi: 604
Iscritto il: mer 26 gen 2005, 0:00
Kernel: 2.6.27
Desktop: kde 4.1.3
Località: Cattolica

Messaggio da op15l »

ti ho caricato delle slide che ti potrebbero essere utile:

http://op15l.altervista.org/Simulation.pdf

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Messaggio da cymon »

Se vuoi qualcosa di molto figo credo che potresti attaccarti a matlab e far gestire a lui il generatore, così dal punto di vista matematico avresti il completo controllo.

Se permetti però non ne ho capito moltissimo l'utilizzo.. hai bisogno di un generatore casuale per simulare un errore di assegnazione porta contemporanea? Non è meglio che simuli direttamente l'evento costantemente e risolvi il problema?

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

Allora prima di tutto voglio ringrazioravi tutti per le numerose idee che mi avete fornito! :mille:

Purtroppo per obblighi contrattuali molto precisni non posso dire molto :(

Comunque devo realizzare un protocollo di comunicazione (su un bus proprietario) il quale comprenderebbe appunto l'assegnazione automatica degli indirizzi,,,,,,
Per risolvere la collisione seguendo il protocollo dovrei dare la precedenza alla periferica con il codice seriale più basso....
Il seriale non posso usarlo per vari motivi......

Qualche idea?
Grazie di nuovo!

first
Linux 3.x
Linux 3.x
Messaggi: 677
Iscritto il: gio 23 giu 2005, 0:00

Messaggio da first »

V ha scritto:Allora prima di tutto voglio ringrazioravi tutti per le numerose idee che mi avete fornito! :mille:

Purtroppo per obblighi contrattuali molto precisni non posso dire molto :(
E mo so cazzi appena ti legge masa, cosa altamente probabile visto che legge tutti i miei post (e' malFFFFidente e gelosa sai come e')

Avatar utente
krisis
Linux 4.x
Linux 4.x
Messaggi: 1120
Iscritto il: mar 25 gen 2005, 0:00
Distribuzione: debian
Località: Roma

Messaggio da krisis »

@first : sei un troll noioso.

Avatar utente
V
Linux 2.x
Linux 2.x
Messaggi: 313
Iscritto il: gio 23 mar 2006, 10:54

Messaggio da V »

:?:

Avatar utente
elettronicha
Master
Master
Messaggi: 1712
Iscritto il: mer 13 apr 2005, 0:00
Località: Torino
Contatta:

Messaggio da elettronicha »

V ha scritto:Per risolvere la collisione seguendo il protocollo dovrei dare la precedenza alla periferica con il codice seriale più basso....
in pratica il protocollo già esiste, non te lo devi inventare tu. ad ogni seriale corrisponde un indirizzo IP? perché non inserisci le corrispondenze in un data base o una semplice lista (o albero o hash table a seconda della numerosità delle periferiche)? poi al momento della collisione faresti il confronto sui seriali per decidere il minore. Ma non capisco perché ti serve saltare a un indirizzo casuale. Spiega con più completezza il problema oppure rivolgiti direttamente all'ingegnere che ti segue. ;)

Rispondi