Hi,
starmanz wrote:
Brendan wrote:
Various things (code quality, performance, reliability, features) take time. You might be able to slap together a piece of trash (with extremely poor code, extremely bad performance, no concern for stability/reliability and no features) in less than 1 year; but nobody unfortunate enough to use it will consider it finished (or usable).
Well, guess what (don't take this harshly). Other people have wrote this code. In Assembly, I could probably make Hello World in 3 minutes. You can make a bootloader and kernel in like 10 minutes. It doesn't take years. Unless you have only a few minutes per day, you can make an OS in less than a year.
For me specifically; I could write a boot loader in 10 minutes, but I'd be so disgusted by my incompetence that I'd probably delete it immediately and then end up playing games for a week to recover from my own self-hatred.
I actually started rewriting my boot code on the 4th of February (where half is just "copy & paste" from the previous version). So far I have about 15% of two boot loaders done; and I know from experience that the boot loaders are nothing compared to the next piece of boot code (or the "boot modules" it will use). I'll be extremely surprised if I'm able to begin working on a kernel this year. Of course I'm relatively extreme - my boot code has features that make the boot code in commercial OSs look like children's toys.
starmanz wrote:
The Linux Kernel might have only took 1 year but many OS projects take less than a few months. It depends on what you are gonna include.
So far Linux has taken about 26 years and it's still being worked on. However, Linux is/was mostly just clone of another OS (no time spent researching and designing things like APIs, advanced features, etc), and Linux is only a kernel (which is a small part of a whole OS), and the number of developers working on Linux alone (excluding GUIs, apps/utils, etc) is huge (and includes multiple large companies).
starmanz wrote:
Simple shell with commands written in Assembly that implements the filesystem (Mini version of DOS) - Less than a week (could even be 3 days).
That's not an OS; that's something you might write to get a little experience before you even start trying to writing an OS.
starmanz wrote:
Shell with drivers and lots of programs (painting software for example, compilers and assemblers) - Less than a month (something more).
Operating system with simple GUI - That should take a week or even a month depending on if you're gonna include the shell with drivers and lots of programs.
Operating system with a GUI, many programs, lots of drivers and things - Around 6 months possibly.
Operating system that is fully functional - Years and years.
Um, what?
Why do you think there's a difference between an OS that is "finished" and an OS that is "fully functional"?
Cheers,
Brendan