What would the boot sequence be if it were your operating system.
would it boot instantly?
could it boot from usb and live in the ram.
what programs would they include
what would your choice be for a programming language.
will you make your own compiler
how would you manage a real-time operating system
what couldnt we make from scratch

im sure with a little bit of knowledge from everyone we could have our own operating system.

some of us went to university or college. Some have found work without mainstream education in programming. some are just hobbiests

i suggest we all come together and start writing a skeleton of an operating system with i\o mouse file suppport usb and small tools and compilers.

please reply and let me know what u think. maybe if we get enough replys we can get our own discussion. source code is much welcome.

i've included a link to anouther one of my topics it might be a point of interest for further readinghttp://www.asmcommunity.net/board/index.php?topic=30612.0
Posted on 2011-07-30 18:39:45 by gotatrust
I quite liked the Amiga's approach to the OS: the basic libraries came in a ROM (the 'Kickstart' ROM), so the moment you turned on the system, you already had basic filesystem support, a simple windowing system etc. It also didn't take up system memory.
Ofcourse in those days it was more important, since an OS had to run from floppy disks. So you had serious limitations regarding speed and size.

In a way it was linux avant-la-lettre: it was common practice to create your own OS floppy, including only the things you needed. So you made your own 'distribution'.

It was quite easy to build floppies that were custom-made for one application, just having enough OS functionality to run the app and do some simple file management. And a startup script that would load the app right away.

Obviously you could get away with this more easily back in those days... firstly because all Amigas had the same hardware, and secondly because software didn't need an update every day of the week and twice on Sunday.
These days you get BIOS updates quite often, let alone OS updates. With the Amiga it was not possible to update the Kickstart ROM (aside from physically swapping out the chips). Today, with the use of flash ram, it would be more feasible to have such a system, since it can be updated via software. Then again, now that we have SSD's, do we even need a different kind of memory to store basic OS libraries?

But that is something that I'd like to see in an OS: that a core 'image' is pre-built, which is loaded directly when the system is turned on, so you already have the kernel and basic file I/O, graphics and networking going, even before the OS actually has to 'boot'.
Booting would then be all about loading services from some kind of configuration script.
Well, actually it'd be quite similar to hibernating... once the basic kernel and drivers are loaded, but before any services and apps are started, you create an image and store it in fast read-only memory.
You only have to re-image it whenever the hardware changes (and you could create backups of older images, so you can go back to a 'last known good' image, or even a very generic compatible one, if all else fails).
Posted on 2011-07-30 19:09:07 by Scali
loaded directly when the system is turned on, so you already have the kernel and basic file I/O, graphics and networking going, even before the OS actually has to 'boot'

Thats what would give it an edge. have it on a low level start up and have capability of running a small webserver on or networkdatabase. running simple file management programs with other small tools.
Posted on 2011-07-30 19:24:40 by gotatrust
Oh, and to answer some other questions:
- Language: I'd choose portable C with assembly only where required (for architecture-specific code, and optimizing bottlenecks). The goal is to make it as easy to port to different computers as possible (for example, ARM is becoming more and more relevant every day, with smartphones, tablets and other popular gadgets. So you don't want to limit yourself to x86).

- Compiler: I'd choose to go with an existing compiler. There's no way you can build your own compiler that's anywhere near as good as what is available (look at gcc for example, largest open source compiler effort around, but still it is well behind Microsoft and Intel. It would be incredibly naive to think that a small team could write a compiler from scratch that is anywhere near as good as gcc, let alone the commercial options). Remember, in the end the performance of your OS will only be as good as your compiler.
Posted on 2011-07-31 06:38:05 by Scali
Just in case you weren't aware, another highly recommended compiler option is clang, part of the LLVM project.
I personally would start here for new OS development.
Posted on 2011-07-31 08:44:54 by p1ranha
Well, to clarify, I mean: use *an* existing compiler. Doesn't matter which.
If you develop your own executable binary format, just build your own linker for an existing compiler chain.
Posted on 2011-07-31 09:04:14 by Scali