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)