Is it possible to program my own OS from scratch? Don't tell me that it is a stupid idea or anything. I am just wondering if it is possible and if so, where should I start?
Linus Torvalds did. But then he didn't ask anyone where to start.
Yes! You don't have to know Assembly either. You can write an OS in any high level language including Java.
Probably the best place to start would be to take a course on Operating Systems, and if that's not possible, reading a book on Operating Systems. That will give you an idea of what an OS is, and which parts of an OS you want to write.
Then you simply write the different parts of the OS. Compile it for your architecture, and away you go.
It is easier than you think, and it is a fantastic idea. It gives you a great understanding of computers.
I wonder if you could use what apple already has for boot code and drivers, and then build from that? I know you couldn't legally, but is it possible?
dmzYou cannot write an OS in a high-level language, sorry mrbash, no-can-do.
You can write a GUI that way, on top of Darwin or any of the free UNIX-like kernels. Is that perhaps what you meant?
Writing an OS from scratch is a gargantuan task - try picking a small target if you wish to pursue this idea seriously - an 8-bit processor with a small assembler and few device drivers - VDT, keyboard, floppy disk and serial port are a good start. I wrote a DOS for the ZX80 way back in the early 80's, and for one person, it was still a huge task, but very, very educational.
Good luck, and keep learning!
dmz
Is it possible to program my own OS from scratch? Don't tell me that it is a stupid idea or anything. I am just wondering if it is possible and if so, where should I start?
I suspect most of the people claiming that you cannot write an OS in a high level language do not have a formal education in computer Science. And for those who do, shame on you, you should know better.
A first course in OS will shown that the level of the language does not matter, it is only the logic that you implement that matters.
The operating system converts Assembly code into machine code, just like the operating system converts object code from a high-level language into machine code.
The processor did not run Lisp directly, but was a stack machine with instructions optimized for compiled Lisp.
What's your point?
It was underlined: All operating system software was written in Lisp. Even if it's compiled to machine code, it's still written in Lisp. Or are you arguing that compilers are forbidden?
Um, Darwin is written in Objective-C. That is a high-level language. Very little of modern OSes are written in assembly. NONE of the Linux kernel is written in assembly. As long as it is 32-bit, and there is a GNU C compiler for it, Linux will run on it.