can python do some kernel stuff?
Andrew Lee
fiacre.patrick at gmail.com
Fri May 23 06:15:41 EDT 2008
Diez B. Roggisch wrote:
> Jimmy schrieb:
>> On May 23, 3:05 pm, Andrew Lee <fiacre.patr... at gmail.com> wrote:
>>> Jimmy wrote:
>>>> Hi to all
>>>> python now has grown to a versatile language that can
>>>> accomplish tasks for many different purposes. However,
>>>> AFAIK, little is known about its ability of kernel coding.
>>>> So I am wondering if python can do some kernel coding that
>>>> used to be the private garden of C/C++. For example, can python
>>>> intercept the input of keyboard on a system level? someone told me
>>>> it's a kernel thing, isn't it?
>>> http://wiki.python.org/moin/elmer
>>
>> well, straightly speaking, how can I know a key is pressed on a system-
>> level if
>> using python?
>
> 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'm not talking about writing an OS in Python (though a simple DOS-like
OS is very possible). Nor would I suggest writing device drivers in
Python -- but of course you can call kernel routines and manage some
kernel resources effectively. Python's IPC libraries expose kernel
functionality.
More information about the Python-list
mailing list