Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Dal richiamo di Enrico Letta alla necessità di completare il mercato unico entro il 2028 alla visione di Nokia sul ruolo dell’IA e delle reti intelligenti, il Nokia Innovation Day 2025 ha intrecciato geopolitica e tecnologia, mostrando a Vimercate come la ricerca italiana contribuisca alle sfide globali delle telecomunicazioni
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2003, 21:11   #1
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
FreeBSD, swap e mmap

Devo elaborare una grande quantita' di dati ( piu' di 1 GB ) e putroppo sono obbligato e tenerli tutti in memoria centrale. Avendo solo 512MB di ram mi sono inizialmente appoggiato allo swap file. Successivamente ho provato a mappare in memoria delle porzioni di disco fisso in memoria, e ho notato un notevole incremento delle prestazioni, (e un minore lavoro del disco). Ma in effetti non dovrebbero essere le due cose analoghe, con una parte della memoria "occupata" a far da cache ai dati effettivamente su disco ?
( sto lavorando con FreeBSD ).
Le chiamate per la mmap sono dipendenti dal sistema o esiste un qualche standard ( tipo POSIX ) ?
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 21:19   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Re: FreeBSD, swap e mmap

Quote:
Originally posted by "/\/\@®¢Ø"

Devo elaborare una grande quantita' di dati ( piu' di 1 GB ) e putroppo sono obbligato e tenerli tutti in memoria centrale. Avendo solo 512MB di ram mi sono inizialmente appoggiato allo swap file. Successivamente ho provato a mappare in memoria delle porzioni di disco fisso in memoria, e ho notato un notevole incremento delle prestazioni, (e un minore lavoro del disco). Ma in effetti non dovrebbero essere le due cose analoghe, con una parte della memoria "occupata" a far da cache ai dati effettivamente su disco ?
No, l'mmap diretto dei file è pensato apposta per lavorare su grandi quantità di dati.
Se il file è mappato e il sistema necessita di memoria, alcune pagine vengono riscritte...sullo stesso file, lasciando libero lo swap per altre cose.

Quote:
Le chiamate per la mmap sono dipendenti dal sistema o esiste un qualche standard ( tipo POSIX ) ?
mmap è descritta negli standard POSIX.4, 4.4BSD e altri.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 21:25   #3
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
grazie mille !
un'ultima domanda: la mmap anonima consiste nell'utilizzare spazio del disco senza che venga associato un nome ad esso ? Se si', come decide il sistema dove prenderlo ? (da quale partizione ? )
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 21:28   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
la mmap anonima consiste nell'utilizzare spazio del disco senza che venga associato un nome ad esso ?
No, la mmap anonima è uno dei modi per allocare memoria.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 21:38   #5
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Strano ! Provando ad usare mmap anonimo mi sembra che i risultati non siano gli stessi che utilizzando semplice memoria ram... faro' ulteriori prove.
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 22:08   #6
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Normalmente la "semplice memoria ram", allocata con mallloc, viene ottenuta o tramite la chiamata di sistema brk o tramite mmap di /dev/zero (credo sui sistemi più datati, ormai dovrebbe essere obsoleto); quindi viene gestita dall'heap delle libc - quindi delle differenze ci sono per forza.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2003, 22:13   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
asp...scommetto 10 a 1 che stai facendo un mmap anonimo passando l'fd del file su cui devi operare, vero?
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2003, 10:47   #8
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originally posted by "ilsensine"

asp...scommetto 10 a 1 che stai facendo un mmap anonimo passando l'fd del file su cui devi operare, vero?
No, hai ragione tu (l'fd da passare per le anonime e' -1)... avevo fatto i testo con le mmap anonime ma con poca occupazione di memoria... per forza andava tutto bene .
Grazie ancora per l'aiuto !
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 13:16   #9
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Altra domanda: come fa il S.O. a fare la mappatura ? A quando deve fare il "cambio" tra indirizzi di memoria locali all'applicazione e indirizzi assoluti (non sono i termini giusti, spero tu capisca), in un certo senso alla stregua di quello che fa quando deve spostare la memoria tra RAM e swap ? Oppure usa una tecnica totalemente differente ? Me lo chiedo perche' col debugger (sotto FreeBSD) l'indirizzo della memoria mappata e' sempre 0xFFFFFFFF. (F +, F- )
Ah... perche' non ho fatto un esame di S.O. a suo tempo ?
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 13:32   #10
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Se mmap restituisce 0xffffffff, allora la chiamata alla funzione è fallita (una mmap fallita non restituisce NULL!)
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 20:52   #11
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originally posted by "ilsensine"

Se mmap restituisce 0xffffffff, allora la chiamata alla funzione è fallita (una mmap fallita non restituisce NULL!)
strano ! Mi sembrava facesse cosi' anche quando andava a buon fine (pero' ora mi fai venire dei dubbi... ricontrollo )
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 21:04   #12
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Da man mmap:
Codice:
RETURN VALUE
       On success, mmap returns a pointer to the mapped area.  On
       error, MAP_FAILED (-1)  is  returned,  and  errno  is  set
       appropriately.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2003, 10:03   #13
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Non ho potuto controllare (sono via da casa) ma penso che sia come tu dici. Altra domanda: sto provando ad utilizzare lo stesso codice sotto una vecchia workstation sun. Tutto si compila bene, tranne la chiamata ad munmap: a quanto pare il parametro della funzione non deve essere un void* ma un char* (e si che la documentazione dice proprio il contrario
Hai avuto modo di lavorare con una Sun ? (mi sembrava che avessi detto di si' tempo fa...)

ciao e grazie ancora
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2003, 11:05   #14
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Sì, ma non ho usato munmap. Indifferente se è un char *; se il compilatore miagola, fai un cast e vivi tranquillo.
__________________
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
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Arkheron, il nuovo gioco dell'ex lead de...
HONOR conferma Magic8: avrà AI na...
Auto volanti, il sogno si infrange: il p...
Cantieri in autostrada? Dal 2026 lo Stat...
Tesla non è molto trasparente su ...
Microsoft e NVIDIA guidano maxi-investim...
L'IA tira a indovinare? Non è un ...
'Limitare il riscaldamento globale a +1,...
Windows 11 25H2 si aggiorna già: ...
I 7 robot aspirapolvere più desid...
Ray-Ban Meta Gen 2: ecco i nuovi occhial...
Trasporto merci a zero emissioni: il meg...
L'asteroide 1998 KY26, dove atterrer&agr...
Doom continua a girare per più di...
Amazon contro tutti: giù i prezzi...
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: 12:09.


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