-3

I thought about creating a operating system, I relying on your advise now on where to start to start making it.

1
  • 2
    I would suggest taking a class.
    – dobey
    Nov 13, 2013 at 19:02

1 Answer 1

3

Are you serious? I mean, there are lots of fanmade operating systems, but it's heavy and hard work!

To begin with, an operating system shall have, at least:

  1. A Bootloader: To push the kernel into the RAM, prepare the TLBs and make some housekeeping

  2. A Kernel: the kernel is the most essential part of an operating system, and it manages crucial aspects such as the physical/virtual memory mappings between programs, multitasking, I/O scheduling, IPC, mutexes and so on. Depending on the OS, there are several philosofies (monolithic, like the Linux architecture; hybrid, like the OS X architecture; or microkernel, like the unfinished Hurd). Depending on it, it is kernel code or user code the one that manages each individual aspect of the system.

  3. Userland applications, which will give a user some interaction with the machine.

In the GNU/Linux and BSD world, we have several of them, like:

Bootloaders: GRUB2, GRUB, LILO, ISOLINUX...

Kernels: Linux, kFreeBSD...

Userland apps: GNU [or] BSD Coreutils, Bash, Xorg, and countless more :)

Anyway, if that's your question, here's your answer, and for more information, there's a lot of them on how to start scratching your head around design decisions on each aspect in the following wiki: http://wiki.osdev.org/Main_Page

There's a lot of information about how bootloaders work, how to program in the baremetal without commodities such as the stdio.h and, really, a lot of useful information.

0

Not the answer you're looking for? Browse other questions tagged .