OSDev.org
https://forum.osdev.org/

implementing servers for a microkernel
https://forum.osdev.org/viewtopic.php?f=1&t=43566
Page 1 of 1

Author:  acccidiccc [ Tue May 11, 2021 12:03 pm ]
Post subject:  implementing servers for a microkernel

Hello, I have question: How does the Kernel call the servers in a micro-kernel? If i understand the Concept, they are not inside the kernel binary. Now how do they run in kernel-mode if they are not a kernel and how are they invoked? Thanks a lot in advance and sorry for my lack in knowledge!

Author:  rizxt [ Tue May 11, 2021 12:08 pm ]
Post subject:  Re: implementing servers for a microkernel

Running in "kernel mode" means running in ring 0. Any program can run in ring 0 if the kernel allows it to. A program does not need to be inside the kernel to run in "kernel mode".

Also, how the kernel interfaces with the servers is completely up to you. A design I would think of is one where servers must register with the kernel, and the kernel recognizes servers for their functions and redirects related operations to the servers.

Author:  nexos [ Tue May 11, 2021 12:40 pm ]
Post subject:  Re: implementing servers for a microkernel

In a microkernel, servers run in user mode to provide better security. As far as communication goes, the kernel could simply send a message to the servers. That is my plan (whenever I start coding it :) ).

Author:  acccidiccc [ Wed May 12, 2021 6:34 am ]
Post subject:  Re: implementing servers for a microkernel

thanks for clearing my misconception about ring 0 and for your reply! :)

Author:  rdos [ Wed May 12, 2021 7:04 am ]
Post subject:  Re: implementing servers for a microkernel

I think a general message function is too slow and limited for a microkernel implementation, so I will build a custom interface for my user space file system servers.

It will build on a set of useful primitives, like a block object that can safely be shared in different address spaces without an advanced VMM implementation. I also communicate data through physical addresses rather than extensive use of memory mapping.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/