The Experts below are selected from a list of 2685 Experts worldwide ranked by ideXlab platform

Gernot Heiser - One of the best experts on this subject based on the ideXlab platform.

  • Are virtual-machine monitors Microkernels done right?
    Operating Systems Review, 2020
    Co-Authors: Gernot Heiser, Volkmar Uhlig, Joshua Levasseur
    Abstract:

    A paper by Hand et al. at the recent HotOS workshop re-examined Microkernels and contrasted them to virtual-machine monitors (VMMs). It found that the two kinds of systems share architectural commonalities but also have a number of technical differences which the paper examined. It concluded that VMMs are a special case of Microkernels, "Microkernels done right".A closer examination of that paper shows that it contains a number of statements which are poorly justified or even refuted by the literature. While we believe that it is indeed timely to reexamine the merits and issues of Microkernels, such an examination needs to be based on facts.

  • Virtualization for Embedded Systems
    2020
    Co-Authors: Gernot Heiser
    Abstract:

    1 Introduction 52 Virtualization 62.1 What Is It? 62.2 How Is It Done? 72.2.1 Pure virtualization 82.2.2 Impure virtualization 93 Virtualization for Embedded Systems 103.1 Virtualization Benefits for Embedded Systems 103.1.1 Modern embedded systems software 103.1.2 Multiple concurrent operating systems 103.1.3 Security 113.1.4 Multicore chips 123.1.5 License separation 123.2 When “Virtualization” is not Virtualization 133.2.1 Security 133.2.2 License separation 133.3 Limits of Virtualization 143.3.1 Software complexity 143.3.2 Integration 143.3.3 Security policies 153.3.4 Trusted computing base 164 Microkernels — A Better Solution 174.1 Embedded Systems Requirements 174.2 Microkernels 174.2.1 What are Microkernels? 174.2.2 General properties of Microkernel systems 184.3 OKL4 Microkernel Technology 194.3.1 Low-overhead virtualization 194.3.2 Unbeaten IPC performance 204.3.3 Efficient resource sharing 204.3.4 Flexible scheduling 214.3.5 Security 214.3.6 Small trusted computing base 224.3.7 Open-source software 234.4 Virtualization with OKL4 — Best of Both Worlds 235 The Future: Many Cores, Many Components, Many Nines 255.1 The Challenges 255.2 Future-Proofing Embedded Technology 25Bibliography 27About the Author 28OK 40036:2007 Copyright

  • the jury is in monolithic os design is flawed Microkernel based designs improve security
    Asia-Pacific Workshop on Systems, 2018
    Co-Authors: Simon Biggs, Gernot Heiser
    Abstract:

    The security benefits of keeping a system's trusted computing base (TCB) small has long been accepted as a truism, as has the use of internal protection boundaries for limiting the damage caused by exploits. Applied to the operating system, this argues for a small Microkernel as the core of the TCB, with OS services separated into mutually-protected components (servers) -- in contrast to "monolithic" designs such as Linux, Windows or MacOS. While intuitive, the benefits of the small TCB have not been quantified to date. We address this by a study of critical Linux CVEs, where we examine whether they would be prevented or mitigated by a Microkernel-based design. We find that almost all exploits are at least mitigated to less than critical severity, and 40% completely eliminated by an OS design based on a verified Microkernel, such as seL4.

  • An Evaluation of Coarse-Grained Locking for Multicore Microkernels.
    arXiv: Operating Systems, 2016
    Co-Authors: Kevin Elphinstone, Amirreza Zarrabi, Adrian Danis, Yanyan Shen, Gernot Heiser
    Abstract:

    The trade-off between coarse- and fine-grained locking is a well understood issue in operating systems. Coarse-grained locking provides lower overhead under low contention, fine-grained locking provides higher scalability under contention, though at the expense of implementation complexity and re- duced best-case performance. We revisit this trade-off in the context of Microkernels and tightly-coupled cores with shared caches and low inter-core migration latencies. We evaluate performance on two architectures: x86 and ARM MPCore, in the former case also utilising transactional memory (Intel TSX). Our thesis is that on such hardware, a well-designed Microkernel, with short system calls, can take advantage of coarse-grained locking on modern hardware, avoid the run-time and complexity cost of multiple locks, enable formal verification, and still achieve scalability comparable to fine-grained locking.

  • for a Microkernel a big lock is fine
    Asia-Pacific Workshop on Systems, 2015
    Co-Authors: Sean Peters, Adrian Danis, Kevin Elphinstone, Gernot Heiser
    Abstract:

    It is well-established that high-end scalability requires fine-grained locking, and for a system like Linux, a big lock degrades performance even at moderate core counts. Nevertheless, we argue that a big lock may be fine-grained enough for a Microkernel designed to run on closely-coupled cores (sharing a cache), as with the short system calls typical for a well-designed Microkernel, lock contention remains low under realistic loads.

G. Wickham - One of the best experts on this subject based on the ideXlab platform.

  • Preliminary comparison between the single-threaded and multi-threaded RHODOS Microkernel
    Proceedings of IEEE Singapore International Conference on Networks and International Conference on Information Engineering '95, 1995
    Co-Authors: G. Wickham, Michael Hobbs, Andrzej Goscinski, D. De Paoli
    Abstract:

    RHODOS is a distributed operating system based on the client server model and a Microkernel paradigm. It is a research tool designed to be capable of implementing and evaluating different mechanisms and policies that are proposed by researchers. To maintain suitability for this task, the RHODOS Microkernel has recently been upgraded from single to multi threaded operation. However, this upgrading has resulted in a significant number of changes to the operation of some system calls and interrupt handlers. The paper compares the two versions of the RHODOS Microkernel, and quantifies the changes that have been made with performance timings. This work is very important, as it permits researchers to understand the characteristics and performance limitations of the user and kernel processes they create.

  • The RHODOS Microkernel, kernel servers and their cooperation
    Proceedings 1st International Conference on Algorithms and Architectures for Parallel Processing, 1995
    Co-Authors: D. De Paoli, A. Goscinski, M. Hobbs, G. Wickham
    Abstract:

    The use of a Microkernel as the foundation for modern distributed operating systems is a common decision made among system designers. This paper describes the RHODOS distributed operating system, the design decisions, its' Microkernel and kernel servers. The different approaches to the cooperation between the RHODOS Microkernel and the kernel servers are presented including an analysis of the trade-offs these approaches yield between modularity and performance.

  • Research into the Development of the RHODOS Multi-threaded Microkernel *
    1994
    Co-Authors: G. Wickham, Michael Hobbs, Andrzej Goscinski, Geelong Victoria
    Abstract:

    An important factor contributing to an operating systems’ performance is the design and efficiency of the kernel code. This is especially true for Microkernel based operating systems where the Microkernel and kernel provides support for system servers. RHODOS is a Microkernel based distributed operating system designed as a testbed for the study of the numerous research topics available in this area. The current version of RHODOS uses a single threaded Microkernel, which fulfilled our requirements of providing a stable platform. A significant drawback of a single threaded architecture is the difficulty with which paging can be implemented. This report details the current state of the RHODOS single threaded Microkernel and provides justification for the implementation of a multi threaded Microkernel.

  • The Logical Design of the RHODOS Multi-threaded Microkernel *
    1994
    Co-Authors: G. Wickham, Michael Hobbs, Andrzej Goscinski, Geelong Victoria
    Abstract:

    Abstract As the RHODOS system has come under increasing use, the need to utilise multiple threads of control withinthe Microkernel has become apparent. In this report we present the logical design of a multi-threaded Microkernel forthe RHODOS distributed operating system. The important components of the RHODOS Microkernel (both hardwaredependent and independent) that require design and development to allow multi-threading include areas such as:system stack management during interrupt and exception handling; allocation and control of Microkernel resources;and context switching.To increase the performance and flexibilty of a Microkernel based operating system, it is a vital fact that multi-threading and preemptability of process execution be available. This report also highlights the reasons behind thisclaim and proposes a method for the smooth transition from the current single-threaded RHODOS Microkernel to thenew improved multi-threaded Microkernel.*This work was partly supported by Australian Research Council under Grants A48831034, A49232429 andthe Deakin University Research Grant 0504010151.

  • Message Passing and RPC-based Interprocess Communication Mechanisms in the RHODOS Microkernel *
    1994
    Co-Authors: Andrzej Goscinski, G. Wickham, Michael Hobbs, P. Joyce, Geelong Victoria
    Abstract:

    RHODOS is a Microkernel based distributed operating system that has been designed with message passing as the primary communication mechanism. RHODOS provides efficient interprocess communication system by providing two methods of cross address space communi- cations: internal buffering and virtual memory mapping. Both methods were implemented to reduce operating system overheads in communications. Integral to the success of the interprocess communications facility within RHODOS are the Microkernel data structures: SNames, Opera- tion Structures, and Berkeley Mbufs. These Microkernel data structures provide the required mod- ularity, flexibility, and simplicity in the design of interprocess communication mechanism necessary for both message passing and remote procedure call based communications for RHO- DOS.

Jilong Kuang - One of the best experts on this subject based on the ideXlab platform.

  • A Scalable Physical Memory Allocation Scheme for L4 Microkernel
    2012 IEEE 36th Annual Computer Software and Applications Conference, 2012
    Co-Authors: Chen Tian, Daniel Waddington, Jilong Kuang
    Abstract:

    L4 Microkernel family has become very successful on mobile devices. However, with the rapid shift from uniprocessor to multicore and manycore processor, many critical OS functions including physical memory allocator (PMA) must be re-designed in order to achieve better system throughput. While research and engineering efforts have been made for PMA in monolithic kernels such as Linux, not much work can be found for L4 Microkernels. Due to the the design difference, the PMA in L4 Microkernels is part of user level page fault handler (a.k.a. pager), which is executed as a stand-alone server in the least privilege mode. Memory allocation and free requests are handled through inter-process communication (IPC) rather than normal system or kernel function calls. In this work, we first study the scalability issue of the PMA implementation in L4 Microkernels, and propose our solution in the context of Fiasco.OC, a state-of-the-art L4 Microkernel implementation. We also discuss how to leverage the L4 Microkernel design advantages to implement a PMA with more advanced features, such as load balancing, customizability and NUMA-awareness. Finally, we conduct experiments to verify the scalability result of our solution. The experiment is conducted on a 48-core AMD magny-cours server.

  • COMPSAC - A Scalable Physical Memory Allocation Scheme for L4 Microkernel
    2012 IEEE 36th Annual Computer Software and Applications Conference, 2012
    Co-Authors: Chen Tian, Daniel Waddington, Jilong Kuang
    Abstract:

    L4 Microkernel family has become very successful on mobile devices. However, with the rapid shift from uniprocessor to multicore and manycore processor, many critical OS functions including physical memory allocator (PMA) must be re-designed in order to achieve better system throughput. While research and engineering efforts have been made for PMA in monolithic kernels such as Linux, not much work can be found for L4 Microkernels. Due to the the design difference, the PMA in L4 Microkernels is part of user level page fault handler (a.k.a. pager), which is executed as a stand-alone server in the least privilege mode. Memory allocation and free requests are handled through inter-process communication (IPC) rather than normal system or kernel function calls. In this work, we first study the scalability issue of the PMA implementation in L4 Microkernels, and propose our solution in the context of Fiasco.OC, a state-of-the-art L4 Microkernel implementation. We also discuss how to leverage the L4 Microkernel design advantages to implement a PMA with more advanced features, such as load balancing, customizability and NUMA-awareness. Finally, we conduct experiments to verify the scalability result of our solution. The experiment is conducted on a 48-core AMD magny-cours server.

Geelong Victoria - One of the best experts on this subject based on the ideXlab platform.

  • Research into the Development of the RHODOS Multi-threaded Microkernel *
    1994
    Co-Authors: G. Wickham, Michael Hobbs, Andrzej Goscinski, Geelong Victoria
    Abstract:

    An important factor contributing to an operating systems’ performance is the design and efficiency of the kernel code. This is especially true for Microkernel based operating systems where the Microkernel and kernel provides support for system servers. RHODOS is a Microkernel based distributed operating system designed as a testbed for the study of the numerous research topics available in this area. The current version of RHODOS uses a single threaded Microkernel, which fulfilled our requirements of providing a stable platform. A significant drawback of a single threaded architecture is the difficulty with which paging can be implemented. This report details the current state of the RHODOS single threaded Microkernel and provides justification for the implementation of a multi threaded Microkernel.

  • The Logical Design of the RHODOS Multi-threaded Microkernel *
    1994
    Co-Authors: G. Wickham, Michael Hobbs, Andrzej Goscinski, Geelong Victoria
    Abstract:

    Abstract As the RHODOS system has come under increasing use, the need to utilise multiple threads of control withinthe Microkernel has become apparent. In this report we present the logical design of a multi-threaded Microkernel forthe RHODOS distributed operating system. The important components of the RHODOS Microkernel (both hardwaredependent and independent) that require design and development to allow multi-threading include areas such as:system stack management during interrupt and exception handling; allocation and control of Microkernel resources;and context switching.To increase the performance and flexibilty of a Microkernel based operating system, it is a vital fact that multi-threading and preemptability of process execution be available. This report also highlights the reasons behind thisclaim and proposes a method for the smooth transition from the current single-threaded RHODOS Microkernel to thenew improved multi-threaded Microkernel.*This work was partly supported by Australian Research Council under Grants A48831034, A49232429 andthe Deakin University Research Grant 0504010151.

  • Message Passing and RPC-based Interprocess Communication Mechanisms in the RHODOS Microkernel *
    1994
    Co-Authors: Andrzej Goscinski, G. Wickham, Michael Hobbs, P. Joyce, Geelong Victoria
    Abstract:

    RHODOS is a Microkernel based distributed operating system that has been designed with message passing as the primary communication mechanism. RHODOS provides efficient interprocess communication system by providing two methods of cross address space communi- cations: internal buffering and virtual memory mapping. Both methods were implemented to reduce operating system overheads in communications. Integral to the success of the interprocess communications facility within RHODOS are the Microkernel data structures: SNames, Opera- tion Structures, and Berkeley Mbufs. These Microkernel data structures provide the required mod- ularity, flexibility, and simplicity in the design of interprocess communication mechanism necessary for both message passing and remote procedure call based communications for RHO- DOS.

Ning Ge - One of the best experts on this subject based on the ideXlab platform.

  • Modeling and Timing Analysis for Microkernel-Based Real-Time Embedded System
    IEEE Access, 2019
    Co-Authors: Rongfei Xu, Li Zhang, Ning Ge
    Abstract:

    Currently, more and more application-specific operating systems (ASOSs) are applied in the domain of real-time embedded systems (RTESs). With the development of a Microkernel technique, the ASOS is usually customized based on a Microkernel using the configurable policy. Evaluating the timing requirements of an RTES based on the ASOS is helpful to guide the designer toward the choice of the most appropriate configuration. Modeling and analyzing the time requirements for such a system in the early design stage are essential to avoid redesigning or recoding the system at a later stage. However, the existing works are insufficient to support the modeling for both the specific domain of the Microkernel-based RTES and the variability of the configurable policy, as well as a general analysis for the various configurations. To solve these problems, this paper presents a modeling and timing analysis framework (MTAF) for the Microkernel-based RTES. Our main contributions are twofold: 1) proposing a domain-specific language (DSL) for the timing analysis modeling of the Microkernel-based RTES; then, we define and implement this DSL as a UML profile and (2) proposing a static timing analysis approach for the RTES design modeled by the DSL, where a timing analysis tree and uniform execution rules are defined to analyze the variability in a general way. In the case study, we take the scheduling policy as an example to show the use of our framework on a real-life robot controller system.