Jump to content



Photo

Help to write Micro Kernel using C

micro kernel c++

  • Please log in to reply
6 replies to this topic

#1 SpartanX

SpartanX

    SpartanX

  • Joined: 24-February 10
  • Location: Mother INDIA

Posted 22 June 2013 - 12:00

Hi,
Is this possible to write a Micro kernel using c, Yeah we can write it using assembly but just curious.
Also please refer me to some micro kernel programming tutorials and guides. Thank You :)




#2 n_K

n_K

    Neowinian Senior

  • Tech Issues Solved: 3
  • Joined: 19-March 06
  • Location: here.
  • OS: FreeDOS
  • Phone: Nokia 3315

Posted 22 June 2013 - 12:13

Microkernel for what? x86 system or a specific Atmel or PIC chip or ARM chip or what?



#3 f0rk_b0mb

f0rk_b0mb

    Neowinian Senior

  • Tech Issues Solved: 3
  • Joined: 02-June 12
  • Location: 'Murica
  • OS: Windows, Linux, OS X
  • Phone: Motorola Moto G

Posted 22 June 2013 - 12:24

Hope this helps: http://mikeos.berlios.de/



#4 MFH

MFH

    RAII fanatic

  • Joined: 24-June 10

Posted 22 June 2013 - 12:30

Sure it's possible. C is essentially just a portable assembler…

 

You may need a few lines of code to initialize your C code (aka the stuff that happens before main gets called), but that's it.



#5 OrsenPike

OrsenPike

    Neowinian

  • Tech Issues Solved: 1
  • Joined: 01-April 13

Posted 24 June 2013 - 20:32

Yup this is basically what C was invented for originally. It is a systems programming language after all :)

 

You will need a little (inline) asm for a couple of things but over 99% can be done in C. The Linux kernel is mostly C for example (although the Linux kernel is monolithic not micro, perhaps a better example is the GNU Hurd kernel as it is a micro kernel written in asm/C http://en.wikipedia.org/wiki/Hurd )



#6 MFH

MFH

    RAII fanatic

  • Joined: 24-June 10

Posted 24 June 2013 - 20:46

You may also have a look at MINIX 3, a micro-kernel OS that is actually stable :)

http://www.minix3.org/



#7 +Karl L.

Karl L.

    xorangekiller

  • Tech Issues Solved: 15
  • Joined: 24-January 09
  • Location: Virginia, USA
  • OS: Debian Testing

Posted 25 June 2013 - 22:56

Another existing OS kernel you could consider looking at is ReactOS. Unlike Hurd or Minix, it is not a true microkernel. ReactOS shares the same architecture as Windows NT, so it is a hybrid kernel. However, unlike virtually every other open-source operating system, ReactOS can be compiled on Windows - a huge advantage considering the primary focus of the Neowin community. In fact, the project has a full development/debug environment, ROSBE, which they built specifically for that purpose. Take a look at the ReactOS Development Guide and Development Wiki before checking out a copy of the source code to look at the kernel. Although their kernel still has some hacks in place, particularly in the memory manager, it is fairly stable and very well documented.