Design plan for xD-OS

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
User avatar
xDDunce
Member
Member
Posts: 173
Joined: Tue Aug 12, 2008 4:04 pm
Contact:

Design plan for xD-OS

Post by xDDunce »

hiya all,

i just wanted to get your oppinions on some ideas i have for my OS.

outline: i want to make a small system, bootable on most systems, that can (so to say) debug the system. that is, if there is a fault in the hardware, then the user will be able to find where it is (of course, this won't be 100% accurate, but it can be put down to details such as "error on RAM chip in slot #2. detected RAM = 128MB, accessible RAM = 0MB" for a broken RAM chip. or a faulty Graphics Card: "error on Graphics Card. Graphics Card vendor = 'NVidia' " etc. etc.). this then leads to simple (yet affective) driver development. i hope to keep multi-tasking to a minimum, so that each task gets more processing power dedicated to them.

so, basicly , I want to have a simple text based input, styled in a similar way to the Commodore64. it will have an interpreter (probably python, i don't like BASIC :lol: ) which will run the programs, be them made by me or the user. i aim to give the interpreter the power to send signals out on ALL ports (i know this seems like a lot of power but it fits with my purpose). also, with most (if not all) programs being ran within the interpreter, this mean a fork() command just needs a copy of the page directory containing a copy of the program, followed by zeroing the program data pages, then start from the entry symbol.

all of this seems too simple to be possible, but as they say "sometimes the simple ideas are the most effective".

Hope to get some useful feedback :D

Cheers,
James.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Design plan for xD-OS

Post by Troy Martin »

Wow. That's quite a set of ideas!
(probably python, i don't like BASIC :lol: )
=D> =D> =D>
Having a (mostly) functional Python interpreter is sort of like having a shell to a whole kernel. You'd need to have many system calls in order to support even a simple program like this:

Code: Select all

name=input("What is your name? ")
print(name)
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Design plan for xD-OS

Post by Love4Boobies »

Troy Martin wrote:You'd need to have many system calls in order to support even a simple program like this:

Code: Select all

name=input("What is your name? ")
print(name)
I don't know Python but I seriously doubt that's true.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Design plan for xD-OS

Post by AndrewAPrice »

Love4Boobies wrote:
Troy Martin wrote:You'd need to have many system calls in order to support even a simple program like this:

Code: Select all

name=input("What is your name? ")
print(name)
I don't know Python but I seriously doubt that's true.
Well in a microkernel you'd need:
General syscalls:
- send message
- get message
- allocate memory
- get process
Console driver:
- map memory into process
Input driver:
- register for irq interrupt
- register io port
My OS is Perception.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Design plan for xD-OS

Post by Love4Boobies »

Mapping isn't really necessary. Also, no one mentioned anything about a microkernel. :|
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
xDDunce
Member
Member
Posts: 173
Joined: Tue Aug 12, 2008 4:04 pm
Contact:

Re: Design plan for xD-OS

Post by xDDunce »

Troy Martin wrote:Wow. That's quite a set of ideas!
Thanks. Took me my double computing lesson (50 mins per lesson. im way ahead of my class so why should i listen? :lol: ) on monday to plan it all out in my head. Just getting it all down on paper now.

also, im hoping to make a kindof hybrid exokernel. giving the kernel jobs such as memory allocation etc. but giving programs direct access to most, if not all, connected hardware.

im currently setting up a sourceforge project, just need to get my application reviewed. i know they don't seem to like OS projects because of their size, but im hoping this will be relatively small.

Thanks for all the coments guys! keep 'em comin!

Cheers,
James.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Design plan for xD-OS

Post by Troy Martin »

xDDunce wrote:im way ahead of my class so why should i listen? :lol:
Ahh, someone who feels my pain. I have to take "Basic Computers 8" before "Information Technology 11" next year, so I might as well just show my teacher my OS and get an A+ for the course! :mrgreen:
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
xDDunce
Member
Member
Posts: 173
Joined: Tue Aug 12, 2008 4:04 pm
Contact:

Re: Design plan for xD-OS

Post by xDDunce »

Troy Martin wrote:
xDDunce wrote:im way ahead of my class so why should i listen? :lol:
Ahh, someone who feels my pain. I have to take "Basic Computers 8" before "Information Technology 11" next year, so I might as well just show my teacher my OS and get an A+ for the course! :mrgreen:
i have 2 teachers for computing, one was once a very good assembly programmer(has been teaching IT for the past 7 years so he isn't quite up to scratch) and the other is a web designer/database manager. both are quite jealous of me attempting to write an OS although quite proud of being able to teach me (plus i seem to be a valuable source of information during teaching the rest of the class :lol: )

i have almost got my SVN setup, just need the people at sourceforge to give me my project space :twisted:

Cheers,
James.
Post Reply