Pagina 1 di 1

reindirizzare output da file a ram

Inviato: lun 22 nov 2010, 17:46
da ccts2002
Ciao a tutti!
l'argomento non è proprio riguardante la programmazione, ma penso sia abbastanza inerente! chiedo venia in anticipo!
ho un problema con un programma di simulazioni che usiamo in ufficio...ovviamente a sorgente chiuso!
il programma si occupa di simulazioni nel tempo di operazioni marine. il problema è che durante la simulazione scrive continuamente su un file binario (creato da lui autonomamente) dell'output che non interessa facendo si (penso sia questa la causa principale) che la durata della simulazione sia notevole. c'è un modo per "ingannare" il software e farlo scrivere in RAM (che penso sia più veloce rispetto alla scrittura su disco) in modo da diminuire i tempi? o qualche altro metodo che ottenga lo stesso scopo...
tempo fa avevo visto delle librerie (non ho sottomano il link, ora magari lo cerco) che fanno questo, ma bisogna compilare i sorgenti con queste librerie e non avendo il sorgente diventa un pò difficile...

spero di essere stato chiaro!

grazie in anticipo!

Re: reindirizzare output da file a ram

Inviato: lun 22 nov 2010, 18:28
da 414N
Sei su Linux,o, comunque, ambiente *NIX?
Se il file che apre per scrivere tutto il suo sproloquio di roba è sempre quello (intendo come percorso e nome) e non viene cancellato al termine della scrittura dall'applicazione stessa, per me te la cavi con un semplice

Codice: Seleziona tutto

rm file_inutile
ln -s /dev/null file_inutile
Tutto quello che ci verrà scritto sopra andrà nel limbo... :badgrin:

Re: reindirizzare output da file a ram

Inviato: lun 22 nov 2010, 18:36
da albatros
Nel caso che al programma possano servire i dati che scrive in output, potresti fargli usare un disco ram; chiaramente se il calcolatore si pianta, questi file di output li perdi ...

Re: reindirizzare output da file a ram

Inviato: lun 22 nov 2010, 23:09
da ccts2002
purtroppo sono in ambiente windows...
@ albatros
riesci a darmi qualche informazione in più? qualche link? sembrerebbe proprio quello che mi serve...

Re: reindirizzare output da file a ram

Inviato: mar 23 nov 2010, 1:48
da albatros
E' da diverso tempo che non uso ramdisk, sotto linux quando mi servivano facevo così (da root) (esempio per un mini disco da 2 MB):

Codice: Seleziona tutto

# modprobe rd rd_size=2000

# mke2fs -m0 /dev/ram0

mke2fs 1.41.12 (17-May-2010)
Etichetta del filesystem=
Tipo SO: Linux
Dimensione blocco=1024 (log=0)
Dimensione frammento=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
256 inode, 2000 blocchi
0 blocchi (0.00%) riservati per l'utente root
Primo blocco dati=1
Maximum filesystem blocks=2097152
1 block group
8192 blocchi per gruppo, 8192 frammenti per gruppo
256 inode per gruppo

Scrittura delle tavole degli inode: fatto                           
Scrittura delle informazioni dei superblocchi e dell'accounting del filesystem:
fatto

Questo filesystem verrà automaticamente controllato ogni 31 mount, o
180 giorni, a seconda di quale venga prima. Usare tune2fs -c o -i per cambiare.

# mount /dev/ram0 /a
In pratica in questo esempio carico il modulo del kernel dicendogli che voglio ramdisk da 2000KB (la ram viene effettivamente impiegata solo se si usano) poi formatto il filesystem sul primo ram disk (in questo caso ho fatto un filesystem ext2), poi lo monto su una directory e da quel punto in poi lo uso come un qualsiasi altro filesystem, con il vantaggio che è più veloce, ma con lo svantaggio (o l'ulteriore vantaggio, dipende dai punti di vista...) che con lo spegnimento del computer tutti i dati ivi contenuti vanno persi.

Su windows non li ho mai usati e adesso, a parte il pochissimo tempo disponibile e l'ora tarda, non posso neanche provare perché non ho macchine con windows, però li ho usati anni fa in ambiente dos, quindi quasi sicuramente sono possibili anche sotto windows...

Comunque, penso che cercando un po' in rete tu possa trovare le informazioni che cerchi...

Scusa, mi dispiace non esserti di maggiore aiuto...

Re: reindirizzare output da file a ram

Inviato: mar 23 nov 2010, 9:43
da ccts2002
grazie! proprio quello che mi serviva! provo a dare un'occhiata in giro...

grazie ancora!