|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Gestione ram di linux
Potreste spiegarmi come funziona la gestione della RAM da parte del Kernel Linux??????
Tnk a chiunque risponderà
__________________
Gnu/Linux User
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Bella domanda, è cambiata spesso negli ultimi kernel, e sarà ancora diversa i quelli futuri
Come principio generale: sui processori a 32 bit, la massima memoria accessibile da un singolo processo è 4 gb (3 gb per la parte in esecuzione in user space, 1 gb in kernel space condiviso tra i vari processi). L'allocazione della memoria viene effettuata tramite un mmap o la syscall brk (o, nelle vecchie glibc, da un mmap di /dev/null) che riserva gli indirizzi virtuali necessari (la memoria viene "fisicamente" allocata solo al primo page fault). Poi ci sono le tecniche di caching, condivisione, riutilizzo della memoria, swap ecc. che sono punti molto complicati e sempre in evoluzione da kernel a kernel.
__________________
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 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Milano
Messaggi: 1034
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:37.



















