I think the significance of micro-kernel (1)

 Always studying or something associated with the core of the analysis, regardless of the community Linux kernel macro or micro-kernel, microkernel (community a bit narrow, not clear groups, community groups, right, on the community), has been wanted in terms of performance on beyond Linux. From the first microkernel fail, every once in a while there will be comparable to the Linux micro-kernel voice appeared: we have a message-based IPC mechanism, Tremble Linux; we have a capability-based security mechanisms, and tremble Linux . The Linux unfortunately not tremble, contrary Linus comrades for Linux over and over again in a variety of languages ​​and applications ravaged microkernel.

Unfortunately, I was standing on the side of the micro-kernel; and I firmly believe that microkernel will take macro kernel Instead, this may be carried out by the change of macro kernel architecture itself, it could be a perfect design microkernel instead.

I mention some points about the current microkernel advantages of Linux:

1. microkernel more modern software engineering.

The benefits of modern software engineering ideas generated are applicable to micro-kernel can be more rational design, can be more easily understood, I said the current complex Linux kernel is very serious and troublesome thing I want no objection, it seems the Linux kernel BUG is an important reason for the frequent appearance.

2. microkernel more stable

Driving into user mode, kernel procedures into a mechanism, it can be done incredible microkernel small, such as 5000 rows. Each drive crash will not cause the collapse of the whole system, which is what a seductive properties, compared to Linux. . .

3. microkernel more scalable

Linux's flexibility is also strong, so I can not emphasize this advantage very confidently, but I think this is the need to make, after all, microkernel can easily transplant in a large number of hardware platforms (of course, after the transplant is not driven, but most of all can have a serial thing).

The first two advantages microkernel I think it is very important pillar advantage, which is why I am strong microkernel.

So why the microkernel never had a world in mainstream applications?

Microkernel mostly used in some embedded or TrustZone, hypervisor or other I do not know where. No microkernel-based drive, the application can not be the reason microkernel extensive use of it? I think this is just an excuse for a word of it. The so-called no drive, no applications, the most important reason is because the write drivers, who wrote the application are not optimistic about its future; I think the developers are smart, are the most able to assess the vitality of the platform.

I firmly believe that microkernel will replace monolithic, so I carefully analyze why the micro-kernel can not compete with monolithic kernels, I found three points, find the kernel from a technical point of 3:00, from the perspective of what I call the core technology It refers to the efficiency of the kernel. Before I look at Linux code, if the Linux kernel and the kernel driver in isolation of view, Linux is really very little, Linux kernel itself alive only three threads, Linux-related code-driven execution initcall peripherals, process is very short . Although the Linux kernel is huge, but as a Linux kernel, to the computer, the overhead is really pitiful. While Linux and provides extremely high efficiency of the system call, driver model, in Linux, everything is all about efficiency.

So, I propose a disadvantage for Linux micro-kernel, the only one:

1. efficiency.

I felt someone might want to start the same old tune, the microkernel hundreds of years ago to try to thrash out again based on the failure of the IPC.

In this paper, microkernel castigate hundreds of years ago until last sentence.

Microkernel in many years of evolution has been very good, I carefully read the white paper seL4, we analyze its various system calls.

Also learned Fiasco, also went to see the system calls, the white paper design several times zircon and so on. Of course, still look enough, after all, some are closed source.

This series of L4 microkernel or L4.1 generation micro-kernel, from all aspects I can not criticize it at the unreasonable design, are very thoughtful consideration for weaknesses among security, interprocess communication speed has a microkernel very comprehensive consideration, tit for tat to solve the problem.

Unfortunately, or lack of efficiency.

How lack of efficiency? How have efficiency?

The so-called efficiency, is not register achieved through short message called efficiency, more than anything endpoint and his ilk; of course, this is a very good design. But that did not get the final efficiency. The so-called efficiency the most direct manifestation that I can quickly open a file open, I opened a lot of files, and can rapidly open; I frequently read and write files to and fro, the reaction system is still smooth. For a kernel function efficiency is achieved with minimal overhead to implement and carry a greater load operation with the fastest response. Core-oriented design process, the business process functions; more processes can carry more overhead smaller, the process operation can be completed (the external apparatus including the processing required to provide logical process) faster.

Microkernel excellent current stage of it?

Excellent, this is the answer I deeply contingent of.

The current phase of the micro-kernel to solve the efficiency problem?

No.

Published 24 original articles · won praise 3 · Views 2317

Guess you like

Origin blog.csdn.net/ytfy339784578/article/details/103946499