Is it possible to get the Physical memory address of a variable in python?

Tim Roberts timr at probo.com
Wed Nov 11 23:35:36 EST 2009


Ognjen Bezanov <Ognjen at mailshack.com> wrote:
>
>I'm trying to see if there is any way I can make Python share data 
>between two hosts using DMA transfers over a firewire connection, so 
>avoiding the need for another layer on top such as IPv4 + Python sockets.
>
>Thanks to some old python bindings which I updated to python 2.6, I can 
>read any write to the RAM of any firewire connected host within python. 
>Because it uses DMA (the cpu is not involved in this at all), I can only 
>specify a physical address within the 4GB ram limit to read from and 
>write to.
>...
> From what I've been told so far, it's not possible to do this without 
>some OS-specific (Linux in this case) syscall. Is this correct?

Correct.  User-mode programs cannot find physical addresess, and they
cannot lock pages into memory (which is required for DMA).  You need the
assistance of a driver for this.  The driver will find the physical
addresses.
-- 
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.



More information about the Python-list mailing list