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

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2003, 22: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, 22: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, 22: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, 22: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, 22: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, 23: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, 23: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, 11: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, 14: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, 14: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, 21: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, 22: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, 11: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, 12: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


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Thales Alenia Space: siglati i contratti...
La NATO si affida a Google Cloud per il ...
Blue Origin ha mostrato il lander lunare...
AMD comunica gli aumenti di prezzo delle...
Leapmotor smepre più aggressiva: ...
PLD Space annuncia i progressi del razzo...
Il record indesiderato che la nuova Fiat...
Una nave a fusione nucleare entro il 203...
OnePlus 15 R, Pad Go 2 e Watch Lite: tut...
Monitor gaming QHD a meno di 110 euro: p...
Primo contatto con nuova Jeep Compass el...
Black Friday HP: due stampanti multifunz...
OPPO ColorOS 16: tutte le novità ...
Black Friday JBL con sconti fino al 60%....
Cervello umano completamente sintetico: ...
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: 19:33.


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