I am unable to contribute with coding but I have a suggestion: make your OS Linux-based. This will save you a lot of time because you won’t have to code the kernel or anything like that. You can use Linux from Scratch to build a distro yourself, or fork an existing one. There are also some other open source OSes that you could base yours on. Or, if you have extreme skill and time, make the whole thing from scratch.
To a certain extent, everything acts like Windows. I have Linux set up to be fairly similar to Windows because it’s familiar. It kinda comes that way though in a lot of cases. Now to make it truly act like Windows, you’ll need a Linux program called Wine that runs some Windows apps with varying levels of success on Linux.
Well, if you want to make an OS from scratch, your going to need to first design a Kernel, which requires knowledge of the Assembly language. I’ve heard its learning curve is probably the hardest of all “practical” programming languages. (Brainf*** and others are probably harder to learn but, why?)
An OS should be a series of programs connected to each other and the kernel, running on hardware.
A computer virus by definition is malicious.
I feel like there is some sort of miscommunication going on here about hardware. As bobastley said, the OS is like a gateway between the applications and the hardware.
The chain of command goes:
power cord → computer hardware → OS (and in the OS everything goes back to the kernel) → applications
So, the apps go through the OS to the hardware for everything, including system resources (CPU, RAM, etc.), speakers, and internet. The OS will need drivers to support the hardware (Linux has most of them built in to the kernel) in order to even run. Then it needs apps that support the OS.
I would not recommend building an OS from scratch, especially if you don’t have experience with low-level concepts like I didn’t when I first asked the same question.
The reason why there are so many Linux distros is that the nitty-gritty is already developed, and programmers can simply use Linux as their base, and develop stuff that they actually desire. The only reason I even considered making an OS is because I wanted more control, and I personally feel Linux already has that control, not to mention it’s backed-up by the entire open-source community.