Andrew Lee wrote:

Diez B. Roggisch wrote:

Andrew Lee schrieb:

Diez B. Roggisch wrote:

What has that todo with kernel programming? You can use e.g. pygame to get keystrokes. Or under linux, read (if you are root) the keyboard input file - I've done that to support several keyboards attached to a machine.

And the original question: no, python can't be used as kernel programming language. Amongst other reasons, performance & the GIL prevent that.

Diez


http://www.kernel-panic.it/programming/py-pf/

Of course you can code kernel routines in Python -- you are just calling the underlying C interface. The GIL means you have to manage threadsafety on your own -- it doesn't imply kernel programming can not be done.


I understood the OP's question as "can one program kernelspace routines in python". Which I don't think is possible. And I don't see how py-pf does that either.

Diez



OP: "I am wondering if python can do some kernel coding that
used to be the private garden of C/C++."

The answer is yes. IPC and py-pf are examples. If you don't think of packet filtering as kernel coding, I can understand. But clearly the Python interfaces to fork(), waitpid(), signal(), alarm() and so forth are forays into the once private garden of C.

Being able to call routines in the kernel is *not* the same as kernel coding. Calling C routines is *not* the same as kernel coding. Actually writing the routines that are to be called, and that constitute the kernel itself, *is* kernel coding. And as wonderful as Python is, it is *not* for kernel coding.

Having just looked at Py-PF, it is *managing* the firewall, not implementing it. Again, not kernel coding.
--
Ethan
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to