Is it possible to write a full blown operating system (such as Linux) in Python? I mean writing a kernal, and then other applications that the kernal calls, without having Windows, Linux, UNIX, or Macintosh OS installed on your computer?
Yes, there is a devlopment of a full featured GUI Operating System written in Python under the name Unununium (wouldn't be my choice), nicknamed after the 111th chemical element 'Roentgenium', whose temporary IUPAC name until November 2004 was 'Unununium'. See: http://en.wikipedia.org/wiki/Unununi...erating_system)
The info on the links is not encouraging: "very little code was written in 2005, and 2006 doesn't look much better." Hmm...
My mildly informed $0.02, for the purpose of generating lively discussion: I don't think a true OS can be written in Python, for the following reason: Python requires memory management to work behind the scenes. But, memory management requires an OS or a virtual machine to keep track of which memory blocks are stale and need to be garbage-collected. Hence, Python will always be dependent on an OS in order to function, even if the Python code is turned into C and thence into an executable.
According to my engineering professor, the reason there is a variety of computer languages is that each language (at least the popular once) was written for a purpose. Python was not written to make Operating Systems, but C was (for Unix). So it would be a little silly to use Python.
This should be worth a wooden nickel, I understand UUU uses C for the low level stuff and Python for the Windoze stuff. This way the memory manager should not be much of an obstacle. Will it ever get off the ground? I don't know.
I have the hunch that C had to rely on a bit of assembly code when the Unix OS was written.
Last edited by vegaseat; Dec 10th, 2006 at 11:11 pm.
Sure Python requires memory management, but if you provide a bare-metal type OS beneath the interpreter, somewhat like how BIOS provides a compatibility layer, then you could set out to write an OS that's extremely heavily implemented with Python. Still, doing so would require an intimate understanding of the plumbing of the Python Interpreter.
If one could develop this compatibility layer with a regard to cross-platform support, if implemented thoughtfully, then for each distinct architecture, one would have to write the lowest-level support layer and then could import most/all functionality of the rest of the system. At least, in the general case. Developing something like this would completely rock.
No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.