DEV Community

Aisuko
Aisuko

Posted on

The concepts of microkernel

As a new contributor to the project of the GNU Hurd, I'd like to make clear many of the concepts like kernel microkernel, and there are so many concepts I need to cover. And I will show them below:

What's the kernel?

  • provides essential resources of the hardware of computers and other programs
  • run all time
  • remains resident in main memory

The implements of the kernel:

  • UNIX
  • microkernel

The concepts of UNIX

UNIX is a kernel implementation and I'd like talk more detail on the UNIX article

  • file descriptor
  • process
  • signal
  • sys-call(system call)

In UNIX, sys-call is used to request all kind of functionality from operating system kernel, but in microkernel-based system typically won't offer a lot of sys-calls, apart from one central one, and that is send message but instead RPCs will be used instead.

In the GNU Hurd, a lot of what is traditionally considered to be a UNIX system call is implemented(primarily by means of RPC) inside glibc.

The concepts of microkernel

A microkernel is one kind of a kernel implementation.

The architecture benefits of microkernel

  • A microkernel attempts to minimize the mandatory part of the operating system, by providing the minimal number of mechanisms.

  • Maximise the flexibility of implementation(by imposing minimal policy), allowing the efficient implementation of the remainder of system.

On UNIX, a process is associated with a UID, the UID determines what the process is authorised to do. But on a microkernel, the policy that controls what resources the process may access are relied separately.

And this may achieved though the use of UIDs, however need not. So, the process mechanism on such microkernel impose less policy on UNIX.

What's the policy?

  • A policy is a rule that define what may or may not happens.

What's the mean of the mechanisms?

From Collaborative International Dictionary of English V.0.48 defines:

a mechanism as the series of causal relations that operate to produce an effect in any system; as, the mechanism of chemical reaction(how it happens)

  • A mechanism is a function that produces some result, they necessarily impose some policy(rules)

Why the process is not policy free?

  • A process is not policy free as it is possible to use other mechanisms to encapsulate a program instance

Summary

We already know kernel and the relationships between it to UNIX and microkernel, and the definition of concepts of microkernel like policy, mechanisms, policy free and the mistakes of the article will be fixed in as depth as we learning.

Reference articles:

https://www.gnu.org/software/hurd/kernel.html
https://www.gnu.org/software/hurd/microkernel.html
https://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd.html
https://www.gnu.org/software/hurd/unix.html
https://www.gnu.org/software/hurd/system_call.html

Top comments (0)