[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cambios en el kernel... ¿no más 686?



El 06/05/11 16:33, Juan Antonio escribió:
> El 06/05/11 16:18, Camaleón escribió:
>> El Fri, 06 May 2011 16:09:26 +0200, Juan Antonio escribió:
>>
>>> El 06/05/11 15:41, Camaleón escribió:
>>>> Además de lo que te ha comentado Juan Antonio (a lo que añadiría que
>>>> también permite el uso de >4 GiB de ram "por proceso" siempre y cuando
>>>> la aplicación esté preparada para ello), un kernel con el PAE activado
>>>> permite utilizar el NX bit ("no execute bit¹") que viene a ser una
>>>> medida de seguridad para evitar la ejecución de código en un área
>>>> determinada de la memoria.
>>> mmm ¿Estas seguro de lo de la memoria "por proceso"? Las direcciones
>>> virtuales siguen siendo de 32 bits ¿No? Es decir, aunque puedas usar
>>> tres niveles de tablas de páginas el espacio de direcciones de un
>>> proceso sigue siendo de 2^32 bits
>> Sí, las direcciones son de 32 bits pero los procesos pueden acceder a más 
>> memoria mediante la paginación, de la misma forma que se mapea la ram 
>> "inaccesible" con el PAE.
>>
>> En windows lo consiguen mediante el AWE (p. ej., para que un sistema de 
>> 32 bits con PAE habilitado pueda dedicar a una aplicación de base de 
>> datos más de 4 GiB de ram) y en linux se puede obtener el mismo resultado 
>> con mmap... o eso pone en la wikipedia:
>>
>> http://en.wikipedia.org/wiki/Physical_Address_Extension
>>
>> "(...) For application software which needs access to more than 4 GB of 
>> RAM, operating systems may provide some special mechanisms in addition to 
>> the regular PAE support. On Windows this mechanism is called Address 
>> Windowing Extensions, while on Unix-like systems a variety of techniques 
>> are used, such as using mmap() to map regions of a file into and out of 
>> the address space as needed."
>>
>> Eso sí, las aplicaciones tienen que estar preparadas (programadas) para 
>> poder hacerlo.
>>
>> Saludos,
>>
> Hola,
>
> precisamente la paginación es lo que permite que el sistema pueda
> acceder a mas memoria física, la mmu divide los campos de una dirección
> de memoria virtual en diferentes niveles de páginas, esto permite
> direccionar mas memoria de la que hay disponible ademas de aislar los
> espacios de direcciones entre los procesos, pero otra cosa es que el
> proceso en sí usa direcciones de 32 bits, es decir, en última instancia
> el proceso no ve mas de 2^32 bits de direcciones virtuales, juraría que
> esto es asi incluso con los sistemas de 64 bits pero de esto no estoy
> seguro. Diferente es que despues esa memoria que ve el proceso pueda
> estar físicamente en direcciones mas allá?? de los 4 G
>
> http://kerneltrap.org/node/2450
> This is enabled via the PAE (Physical Address Extension) extension of
> the PentiumPro processors. PAE addresses the 4 GB physical memory
> limitation and is seen as Intel's answer to AMD 64-bit and AMD x86-64.
> PAE allows processors to access physical memory up to 64 GB (36 bits of
> address bus). However, since the virtual address space is just 32 bits
> wide, each process can't grow beyond 4 GB.
>
>
> Es decir, según lo entiendo yo, un proceso en cualquier caso ve un
> espacio de direcciones de 4G incluso aunque el sistema tenga 500 megas,
> y PAE te permite direccionar hasta 64G de memoria física.
>
> Un saludo.
>
>
>
>
mm, supongo que esto lo aclara todo

http://lkml.indiana.edu/hypermail/linux/kernel/0505.2/0082.html

la clave estaba en

"such as using mmap() to map regions of a file into and out of 
the address space as needed."

Un saludo.



Reply to: