Multi-core
A multi-kernel - operating system treats a multi-core processor as a network of individual kernels, in about as if the processor is a distributed system . Such a system uses message passing instead of shared memory .
Working method
The principle of considering each computation kernel as a separate system and only using message passing enables systems with many cores to be scaled better than on classic systems (for example with the microkernel ), so the computing load can be distributed more favorably.
Furthermore, the trend in the development of multi-core systems is moving more and more towards "large" cores, which distribute the work to many more "small" cores. Classical homogeneous systems have the problem of losing potential performance gains through more computational logic through control logic , which makes the concept suboptimal for tasks that can be easily parallelized (large cores can execute linear code quickly, but they are relatively unsuitable for parallel tasks because one can rely on the die - Area can accommodate relatively few large cores, but one could accommodate many small cores on the same area, which can thus better execute parallel code).
An example of this trend can be seen if one looks at the functional principle of load distribution on a commercially available multi-core processor with the functional principle of load distribution between the individual processors of a modern graphics card . This difference shows that you can better execute code on the CPU that executes a lot of jumps and needs relatively little bandwidth and runs with few threads , but on the graphics card you can better execute very computationally heavy code that can use a lot of bandwidth, but that too makes few jumps.
One can also let x86 - and ARM - (and SPARC - etc.) processors cooperate with each other with the concept of the multi-kernel , whereby one can achieve a better performance. The multi-kernel concept is limited to one machine with one or more processor sockets , but implementation with several machines on which a multi-kernel runs is also possible and brings further advantages, for example good load distribution and increased reliability .
example
An example of a multi-kernel operating system is Barrelfish, which is a collaborative research project between ETH Zurich and Microsoft Research Cambridge.
See also
Individual evidence
- ↑ The Barrelfish Operating System (English)
- ↑ Baumann et al .: The Multikernel: a new OS architecture for scalable multicore systems , published in the 22nd meeting on the principles of operating systems (2009) (PDF, English; 312 kB)