I don't know about the use of graphics, but why don't you develop a command processor in a controlled environment. Like application inside the os you are familiar with. You can also create a file system that the built-in commands of the command processor can handle. This will give you a lot of room for experimentation. You won't have the concept of hosted third-party application though.
I am not an expert, but I guess an operating system would minimally have:
- boot loader
- a shell of some sorts
- a file system
- executable file format (and what have you other system formats)
- compiler or linker capable of producing programs in this executable format (; not necessarily your own compiler)
- executable launcher/loader
- system API capable of supporting the shell and interaction between the user applications and the os (you don't need to support windowing or any GUI); needless to say, driver code for at least one hardware configuration
I have never tried anything like this. I think you could reuse solutions from existing operating systems and this will make your effort significantly less and your os much more interoperable. You could (and probably should) use a virtual machine for initial testing and most of the experimentation. You may choose to invest in some toy hardware, like a board with a micro-controller and primitive user interface, which will allow you to test some OS concepts on a stand-alone device for something like intelligent calculator. After all, mobile phones have os-es. You may (and probably will) need additional development tools that you will have to create yourself. I don't know much more than that. I am not even sure about what I said.
simeonz has the right idea but the BIG part about a project like this is still missing from his list, Hardware drivers and initialization. I don't mean like the startup POST, but rather telling your video card how to draw a circle. You could stick to generic commands I guess but any GUI you try to build would suffer, which is why a command line should be your first mile stone.
Actually why not try to rewrite the Command Shell for Windows? Make some better commands for it, make it more useful etc. that would be a great first project in this field.
ok thanks,
75% of this project hb compeleted.
this project is a teamwork by indian UNS software engineer students.
and this is a callagian project.
our os is multitask.now work successfully.
my problem is this that i dont work on image processing indipendencly,and just work with free libraries about this subject(open gl , glut).
i dont want create new compiler i use gcc,
how make its gui !?!?