Page 1 of 5
a idea!
Posted: Fri Sep 05, 2003 11:00 pm
by flich
Why not do a whole OS Dev.org community OS project? it will be great!!! Lets do one!
RE:a idea!
Posted: Fri Sep 05, 2003 11:00 pm
by Robert Lee
A great idea. I've also been tossing it around in my mind. I think it would make a good WIKI project (storing the source files in the wiki for public editing). But .zip file snapshots would need to be either regularly created and donated or automatically generated so that users don't all have to download every single file.
The big problem is that everyone has thier own ideas as to what a good OS is. For best results, in a wiki setting, just start writing one solo. Document your ideas and make your "philosophy" clear. Welcome feedback and public changes. Then when you get it started, invite people from the forum to add thier own ideas and maybe code to the existing project. Don't be afraid to let it fork though, as some users will "take the code and run". That's inevitable. Also, some people will disagree with your design choices. Let them. Maybe they can create another wiki-section for thier own fork and make some real progress seperatly. It worked for Multics/Unix.
I'm thinking about doing the same with a TASM Ideal mode library of general purpose procedures.
In any case, if you have a start, I'd say go for it. If someone messes it up, the wiki has a revision history to restore your changes from on a per-file basis. It's really not a bad platform to work off of.
-Robert
RE:a idea!
Posted: Fri Sep 05, 2003 11:00 pm
by flich
the only reason why I did this is to get some assembly programmers a shoot and see if they are reallying to help me
I sincerely support you
Posted: Fri Sep 05, 2003 11:00 pm
by modshah
hi,
I am also a OSdever. I sincerely feel that this type of project will benefit the OS community a lot than giving out separate tutorials to new-comers. As robertlee pointed out - it might be stolen - but that is just a secondary concern ( Well in that case every OS that is in the OSF stands the same risk).
As for disagreements over design ideas - I think we could have a separate discussion forum, where we could submit our ideas and reservations. And after a pre-specified date we could all vote for the feature that most of likes( I believe this might mean a bit of more work for Chase
though ).
We could have a RFC sort of arrangement where there is a chairman, group coordinators etc. Those who have already developed a working OS could lead the group - persons like Chase, Jamethiel and others of equal calibre could lead.
Cheersmodshah
RE:I sincerely support you
Posted: Fri Sep 05, 2003 11:00 pm
by Xenos
A 'community OS' would be great. I think it would be best to create something modular. A microkernel, device drivers, file systems, graphics... Everything could be configured separately. This would allow the flexibility that is necessary for this kind of project. Every participant could make his ideas a part of the OS.
Let's do it!
RE:I sincerely support you
Posted: Fri Sep 05, 2003 11:00 pm
by knicos
Great idea.
Its about time for a new community OS to be developed, now that Linux is having legal problems. Since it only took me 2 months to get my OS working, a team this size could do very rapid development. There is a huge variety of good ideas here that could make a very interresting OS.
I would certainly like to be a part of it.
RE:I sincerely support you
Posted: Fri Sep 05, 2003 11:00 pm
by carbonBased
I'd certainly be up for something. I think it'd be a great idea. True, a lot of us are possibly a little stubbourn (looks in mirror...
about design issues, but if we keep it "democratic" so-to-speak, I think we'll do alright.
And even still - I mean, I've always been a microkernel kind of guy, but I have no issues writing a monolithic kernel, if that's what's decided.
I wonder if Chase is able to implement a CVS setup on this server? (might be a better solution then wiki for this... I dunno... I don't know wiki well) If not, I can look into it on my server, if need be.
Anyway, yeah, let's get a vote here, and get some ideas floating around! It's about time we all got together for a nice big project
You guys are always welcome to grab source from my OS, or graphics libraries (or whatever, really... neuraldk.org). One of these days I'll get to updating my web site, and OS source
Cheers,
Jeff
RE:I sincerely support you
Posted: Fri Sep 05, 2003 11:00 pm
by flich
heh well we can probley do it democracticly and such... but i dont know. but a vote sounds good
-Flich
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by mr. xsism
lol!!!
Ok, sorry. I don't think you guys have any idea how hard this is. SO many decisions and the same # of ideas/opinions. Let me give you some driven advice: make standards before coding. Don't do it as you go.
Post here when you guys get past the "Hello World" Stage and MM. I should be here in about 2 months
j/k, kinda.
Regards,
mr. xsism
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by modshah
hi everyon,
Yea making a community OS is a great challenge - especially in agreeing to design considerations.
But most of us would like to create a framework before we proceed on. So I think we must first start on design consideration(sort of posting, debating, and voting) - I think that will make the design more rich, flexible and sensible.
Also it will give our community a more mature face. I am just excited at the idea of starting the project. So when shall we start ?
By now I feel Chase must have responded - What's wrong ? Chase where are u ?
regards
modshah
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by carbonBased
Sounds suprisingly condescending comming from a 16 year old that seems to be no further along with his os project then most everyone else here... have faith, kid!
Some of us have actually already developed OSs, you know, and have more then a feeting familiarity with the task at hand. Some of us are avid Linux kernel hackers, as well.
Of course we're going to plan before coding; that's good advice for any project. And especially for one with so many options as an OS.
Aside from design, we need to discuss the actual development environment, as well. I would assume we'd develop on x86? Any other platform people would like to develop on? PPC, perhaps?
And how about language? I would tend to lean towards C, however there is something about a kernel written in C++ that is really intriguing, and I wouldn't be adverse to it (although, I've never done it before). What I'd _really_ like to do - and is probably best left to another OS project - is to write an OS in Eiffel (is anybody else interested in this, btw?)
How about kernel type/orientation, etc? I would suggest going with a microkernel, myself. If we use grub (or any multiboot compliant loader) then we can use the loaders mechanisms to load the modules at boot time, which is nice.
For memory management, I think it'd be best to use the flat model, using the pager for protection. This is a simple and powerful solution, and by mapping the actual page tables and directories into the memory space, you can easily perform linear to physical translations.
I think it'd be best to use file-system and binary specifications that are already in place. We can start out with a FAT filesystem, for example, and migrate later if need be. I've got a few RDOFF2 routines if we choose to adopt that object format... however, elf might be a better choice.
Anyway, enough from me... what is everyone else's vision of this community OS? I'm flexible, seeing as though I will probably also continue development of my own OS at the same time.
Cheers,
Jeff
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by Robert Lee
I agree in almost every regard.
I've never used GRUB but I know many other developers here have. It would be a great learning experience. This will prevent our reinventing the wheel as well.
I also have to agree on using existing binary and filesystem standards. I don't know much about non-FAT filesystems. I know quite a lot about FAT12 and should have no problem pickup up FAT16 and FAT32. I wouldn't mind using any of the existing systems, even if, and especially if, it meant learning a new one.
Same goes for executable formats -- I know very few and none very well. Eventually I want to invent one. But at least at first I wouldn't mind using an existing format.
I know nothing about paging so I'm afraid I can't form an opinion there. Though I think flat memory is better then segmented memory.
For PIC, I've always wanted to store a patch-table in the executable file and have the program loader patch up the executable to reflect it's actual position. I beleave this is what the COFF-based formats use right? As apposed to the ELF method which if I understand it correctly, uses a more complex method of position independance utilizing specific registers.
A microkernel would be the best option I think. I've always liked the format.
I've always used assembler for my os project. I don't know where to start using C or what compiler(s) to use; nor how to use them. But I think it would be a great learning experience.
I set up a page on the wiki for people to start from posting thier ideas. It just contains my own random musings right now. The page name is "CosMain".
-Robert
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by SystemHalted
What about an osdev file system too. Not just for this but for people who are learnig about file systems and wish to implement them in thier os. Also lots of docs on the osdfs for newbies.
RE:a idea!
Posted: Sat Sep 06, 2003 11:00 pm
by flich
hmm so it looks like this will work or...? And i aint 16 i am 15. I know lots of coding... i coded in:
I will suggest that C will be the coding lang. its fast, powerful, and easy to use... espically for something like a OS
Grub hmmm we can use that I guess... until we can create our own boot loader
I really dont know what else thats all I can think of.
RE:a idea!
Posted: Sun Sep 07, 2003 11:00 pm
by Xenos
C sounds good, but I recommend C++. Things like drives, files, serial ports or whatever are perfect examples for object oriented programming.
Another concern is which compiler to use. Most OS developers use gcc/djgpp. I think Watcom would be an alternative, since its lots of auxiliary pragmas offer a large flexibility, especially when mixing C and assembly.