Python Operating System???
macrocosm at fastmail.fm
Sat Jan 8 13:27:48 EST 2005
Peter Hansen wrote:
> Paul Rubin wrote:
>> When Unix was first written, people thought implementing an OS in C
>> was ludicrous. Everyone knew OS's had to be written in assembler.
> Actually, when Unix was first written that belief was entirely
> correct, and OSes *did* have to be written in assembler.
> That is, pure C did not have the capability to handle all
> that was required. I recall it taking a good decade before it
> became *common* to find C compilers with, for example, @interrupt
> support to let the compiler generate code that properly saved
> all registers and used RTI instead of RTS (or whatever it might
> have been called one one's particular flavour of CPU).
If my memory serves me, you are entirely correct.
> Now, once you added a few tiny interrupt handlers, and some context
> switching (stack manipulation) routines, pretty much everything else
> *could* be done in C, but that doesn't invalidate the point.
> I think it's safe to say that none of pure C, pure Lisp, or pure Python
> are really capable of being used as the *sole* language to build
> an operating system.
> It's also safe to say that this is a largely irrelevant point.
> It would probably only be of academic interest to try to do
> something like that. Any practical attempt would not think more
> than twice of resorting to a little "glue" in assembler or in
> the form of "canned" byte sequences built by hand and stuck
> into the appropriate places in memory...
Indeed indeed. Once must remain focused and ask oneself what he/she is
attempting to achieve. In all likelihood, a little asm/c/python glue
work won't hurt the objective, especially given that doing otherwise
would entail a very _low level_ reworking of Python that would take as
much and likely more effort and skill than to resort to asm/c when
Python falls incapable. One could do a Python-Lisp OS w/ Lisp used for
the Python incapable areas, but you would near entirely loose the
benefits of Lisp in that respect--- it would have to be so low-level,
could you call it Lisp? (A question someone else here posed in this
More information about the Python-list