can python do some kernel stuff?
Ethan Furman
ethan at stoneleaf.us
Tue Jun 3 18:41:28 EDT 2008
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
More information about the Python-list
mailing list