A new OS

A

A Evans

Hello Everyone I am working towards starting a project developing a new
Operating System using the Python language (or a derivative thereof). As
recommended on this forum I am asking if people are interested in something
like this and ask who would be willing to support a project this large.

Any and all ideas are welcome this message is just to see what kind of
support this project would recieve

Cheers

Andrew
 
P

Peter Hansen

A said:
Hello Everyone I am working towards starting a project developing a new
Operating System using the Python language (or a derivative thereof). As
recommended on this forum I am asking if people are interested in something
like this and ask who would be willing to support a project this large.

Any and all ideas are welcome this message is just to see what kind of
support this project would recieve

I would never even consider such a thing (supporting it, that is) unless
someone explained in detail what they saw as the disadvantages of
current operating systems (e.g. Linux) and what they felt Python would
contribute which would make their product so "revolutionary".

-Peter
 
B

bobb

This reminds me of the discount book I saw once
"How to build your own 32 bit operationg system"
I wouldn't bother. (I agree w/ peter hansen)
 
C

Corey Coughlin

I think it sounds like a great idea. I'd ultimately like to go a
direction like that at some point. One of the biggest problems with
existing operating systems (like Windows or Linux) is that they are
for the most part built on C, which then dictates what the low level
calls look like, the memory architecture, and so on. Writing an OS in
Python could give you a new perspective on mapping a high level
architecture onto a machine. Imagine, for instance, an OS
architecture with a genuine object hierarchy, where low level details
get abstracted into a machine level that can be swapped out to conform
to different processor architectures, where garbage collection is an
OS service, and maybe the filesystem is actually an object persistance
system, so every file is actually an object with type instead of a bag
of bytes, and then imagine how easy it would be to add advanced
indexing a la Chandler to it. Could we then distribute programs as
only python bytecode, getting platform independence? Would it be
easier adding security using higher levels of abstraction? How about
creating a complete network OS? Would that be easier in python? In
general, as you abstract complex os services into simpler python code,
would it be easier to expand the capabilities of your os? I can't
imagine that it would be harder. It could be quite an interesting
project, if conducted with the aim of not just making yet another
generic operating system, but with the aim of creating a truly
pythonic OS. That would be great.
 
A

A Evans

Hello Everyone and thanks for the replies

Yes It would be an entire OS made from Python. When I have something started
I will come back to this forum and see then who would be interested. As
asking for support is the wrong choice of words.

What I should of said:

Does anyone have any ideas to implement something this large and once I have
a solid foundation to build from then who would be willing to help support
the development of this project

Thank You

A. Evans
 
H

Harald Massa

Hello A. Evans,

I propose you should take a look at PyPy first.

PyPy is an attempt to realise Python in Python. Because "IN THE END" your
Operating System must run on existing hardware. And there is a step between
Python and Assembler...

With standard CPython it is C-language, with Jython it is Java.

But there can be C-Errors in Python and C-Errors within Java ... so to get
"only Python", you need a PythonPython first.

Am I wrong?

Harald
 
A

Anton Vredegoor

Harald Massa said:
I propose you should take a look at PyPy first.

PyPy is an attempt to realise Python in Python. Because "IN THE END" your
Operating System must run on existing hardware. And there is a step between
Python and Assembler...

With standard CPython it is C-language, with Jython it is Java.

But there can be C-Errors in Python and C-Errors within Java ... so to get
"only Python", you need a PythonPython first.

Am I wrong?

Yes I think so. PyPy is a nice project, but it is a kind of all or
nothing project. What is needed is something like Prothon, but even
smaller.

Prothon is using a set of separate dlls (f.e. dict.dll, list.dll etc.)
to provide the basic objects. This is a lot better than what Python is
doing at the moment, because Python depends on one megadll
(pythonxx.dll) for these objects.

The problem with this approach is that all objects have to be compiled
using the same compiler, while it would theoretically be possible to
write one dll using C, another using Lisp another using assembler and
another using something else.

Prothon theoretically could do that, but it loads the basic dlls the
moment the interpreter is started, which makes it dependent on having
all these dlls available (and possibly all dlls need to be compiled
using the same compiler, I don't know about that).

What is needed for Python to come closer to the OS and to enable it to
advance faster is a bootstrapping interpreter which basically only
provides a ctypes alike functionality that enables it to import a set
of basic Python object dlls in the same way as if it were standard
operating system dlls. It would make no difference for the interpreter
if it imported dict.dll or for example kernel32.dll, but of course
this strategy would introduce needing to have *some* dlls imported
before all others in order to provide basic functionality. This is
currently necessary for the __future__ extension too so there is a
precedent already. I expect such a beast to have a footprint of about
100k.

There would be no problems with Python extensions needing to be
compiled with a certain C-compiler since all dlls would be required to
conform to the dlls of the operating system.

This would bring Python a lot closer to seamless interaction with the
operating system and enable it to eventually turn into not a
completely separate operating system but into something akin to Cygwin
(which is a kind of Linux running under Windows).

Another advantage would be that it would be possible to update Python
in smaller steps, for example only a newer dict.dll, this time a dll
written in assembler or even in Lisp. For systems that don't have this
compilers older dict.dll files would still be available.

Some Python scripts could have a really small footprint as if it were
Lua scripts because we only need to provide those dlls that the script
uses, sometimes only dlls that the operating system already has, or
dlls that are in Cygwin, Visual Basic or C# and which are freely
available on the net. In the latter case probably some flexible dll
loader functionality would be necessary, hence the need for ctypes.

Or we could compile the necessary dlls on the fly using a Python
compile-to-os-specific-dll script that only needed a few standard
Python dlls itself.

Since I'm not an OS-guru or even know a lot about the lower level
details (though I have been able to write and compile extensions in C)
I might be wrong about the feasibility of such a project (maybe it can
be done but the standardization of dll interfaces would be
prohibitively difficult given Pythons dynamic and platform independent
development cycle) but I remain confident that this is the way to go.

(I'm Dutch you know, so I can't be proven wrong unless you've got a
timemachine, I have used mine to post the same kind of idea about half
a year ago and I *will* use it to retroactively fix *this* post in
case there are problems with it :))

Anton
 
Y

Yermat

A Evans a écrit :
Hello Everyone I am working towards starting a project developing a new
Operating System using the Python language (or a derivative thereof). As
recommended on this forum I am asking if people are interested in something
like this and ask who would be willing to support a project this large.

Any and all ideas are welcome this message is just to see what kind of
support this project would recieve

Cheers

Andrew

Taking a look at the Isaac Project may give you some hints...
http://www.isaacos.com/

It's based on an object-oriented and dynanism language named lisaac
(even inheritage is dynamic).
 
M

Maurice LING

A said:
Hello Everyone I am working towards starting a project developing a new
Operating System using the Python language (or a derivative thereof). As
recommended on this forum I am asking if people are interested in something
like this and ask who would be willing to support a project this large.

Any and all ideas are welcome this message is just to see what kind of
support this project would recieve

Cheers

Andrew
Is it possible to program a python virtual machine into an EEPROM
(eletrically erasable programmable read-only memory) and then set the
BIOS to access this VM as the bootloader? So in directly, we have a very
low level python VM in the system when it boots up......

Maurice
 
J

Josiah Carlson

Is it possible to program a python virtual machine into an EEPROM
(eletrically erasable programmable read-only memory) and then set the
BIOS to access this VM as the bootloader? So in directly, we have a very
low level python VM in the system when it boots up......

Two key issues:
Memory; depending on your EEPROM, you may or may not be able to fit a
Python VM.
OS Services; traditionally, Python has relied on the operating system
for various services that are important to a large number of nontrivial
applications (sockets, filesystem interfaces, malloc, etc.)

- Josiah
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top