Python Operating System???
b at b.b
Sun Jan 9 07:24:20 CET 2005
"Paul Rubin" <http://phr.cx@NOSPAM.invalid> wrote in message
news:7xr7kv8bmt.fsf at ruckus.brouhaha.com...
> "Roose" <b at b.b> writes:
> > My point was that you can't do a lot of hardware interface programming
> > pure Python -- there would be so much non-trivial code in C that it
> > hard to call it a Python OS.
> Why do you say that? Is the same thing not true of C, where you need
> some assembly code at the lowest levels? Because Linux has some
> assembly code, would you say that it's not written in C?
It's a difference of degree, but an important difference. I haven't looked
at Linux or Windows NT source, but my guess is the assembly used is just
small functions for accessing special CPU instructions for atomicity,
context switching, and the like.
I KNOW they don't have huge amounts of assembly simply because they run on
But are you really going to write a virtual memory system in Python? Are
you going to write a file system, and a task scheduler in Python? Are you
going to have people write device drivers in Python? I'm not saying it
can't be done, but it would be a poor engineering decision, and the
rationale thus far seems to be "Python is cool, I like OSes, let's write a
whole OS in Python". If that's not the case then let me know what your
The right tool for the right job. I love Python probably more than any
other language. But it's not the right tool for every job. I don't know
why people would think it is, just as C is not the right tool for every job
(which is one of the reasons I learned Python, being a C programmer first).
> > So this basically proves my point -- that you need different hardware
> > altogether in order to make an OS in a high level language like Lisp or
> > Python.
> It doesn't prove anything of the sort. The Lisp hardware was needed
> for performance reasons, back in the day.
OK, then give me an example of Lisp OS that runs on a PC. I would like to
install it on my PC tomorrow. Or maybe my Mac. That was your whole point,
originally, that since it could be done in Lisp, why not Python?
More information about the Python-list