Engineering

Publication Search Results

Now showing 1 - 10 of 456

  • (1998) Turner, I.L.; Tomlinson, R.B.; Watson, M.
    Report

  • (1998) Couriel, E.D.; Cox, D.R.; Horton, P.R.
    Report


  • (1999) Deller, L; Heiser, Gernot
    Conference Paper
    Linking and loading are the final steps in preparing a program for execution. This paper assesses issues concerning dynamic and static linking in traditional as well as single-address-space operating systems (SASOS). Related loading issues are also addressed. We present the dynamic linking model implemented in the Mungi SASOS and discuss its strengths and limitations. Benchmarking shows that dynamic linking in a SASOS carries significantly less overhead than dynamic linking in SGI`s Irix operating system. The same performance advantages could be achieved in Unix systems, if they reserved a portion of the address space for dynamically linked libraries, and ensured that each library is always mapped at the same address.

  • (1999) Elpinstone, Kevin; Heiser, Gernot; Liedtke, Jochen
    Conference Paper
    Most modern wide-address computer architecture do not prescribe a page table format, but instead feature a software-loaded TLB, which gives the operating system complete flexibility in the implementation of page tables. Such flexibility is necessary, as to date no single page table format has been established to perform best under all loads. With the recent trend to kernelised operating systems, which rely heavily on mapping operations for fast data movement across address-spaces, demands on page tables become more varied, and hence less easy to satisfy with a single structure. This paper examines the issue of page tables suitable for 64-bit systems, particularly systems based on microkernels. We have implemented a number of candidate page table structures in a fast microkernel and have instrumented the kernel`s TLB miss handlers. We have then measured the kernel`s performance under a variety of benchmarks, simulating loads imposed by traditional compact address spaces (typical for UNIX systems) as well as the sparse address spaces (typical for microkernel-based systems). The results show that guarded page tables, together with a software TLB cache, do not perform significantly worse than any of the other structures, and clearly outperform the other structures where the address space is used very sparsely.

  • (1998) Heiser, Gernot; Lam, F; Russell, Stephen
    Conference Paper
    We present the accounting system used for backing store management in the Mungi single-address-space operating system. The model is designed such that all accounting can be done asynchronously to operations on storage objects, and hence without slowing down such operations. It is based on bank accounts from which rent is collected for the storage occupied by objects. Rent automatically increases as available storage runs low, forcing users to release unneeded storage. Bank accounts receive regular income. A taxation system is used to prevent excessive buildup of funds on underutilised accounts. The accounting system is mostly implemented at user level, with minimal support from the kernel. As a consequence, the accounting model can be changed without modifying the Mungi kernel.

  • (1997) Liedtke, Jochen; Elphinstone, Kevin; Schonberg, Sebastian; Hartig, Hermann; Heiser, Gernot; Islam, Nayeem; Jaeger, Trent
    Conference Paper
    Extensibility can be based on cross-address-space communication or on grafting application-specific modules into the operating system. For comparing both approaches, we need to explore the best achievalbe performance for both models. This paper reports the achieved performance of cross-address-space communication for the L4 microkernel on Intel Pentium, MIPS R4600 and DEC Alpha. The direct cost ranges from 81 cycles (Alpha) to 115 cycles (Pentium). Since only 2.5% of the L1 cache are required (Pentium) the average indirect costs are not expected to be much higher.

  • (1996) Vochteloo, J; Elphinstone, Kevin; Russell, Susan; Heiser, Gernot
    Conference Paper
    The Mungi single address space operating system provides a protected procedure call mechanism named protection domain extension (PDX). The PDX call executes in a protection domain which is the union of (a subset of) the caller`s, and a fixed domain associated with the procedure. On return, the caller`s original protection domain is reestablished. Extensive caching of validation data allows amortisation of setup costs over a possibly large number of invocations. The PDX mechanism forms the basis for object support in Mungi, particularly encapsulation. It is also used for accessing devices, and to implement user-level page fault handlers.

  • (1996) Ouyang, Jinsong; Heiser, Gernot
    Conference Paper
    This paper describes libra, a library to support efficient reliable distributed applications. Libra is designed to meet two objectives: to simplify the development of reliable distributed applications, and to achieve fault-tolerance at low run-time cost. The first objective is met by the provision of fault-tolerance transparency and a simple, easy to use high-level message passing interface. Fault-tolerance is provided to applications transparently by libra and is based on distributed consistent checkpointing and rollback-recovery integrated with a user-level network communication protocol. The second objective is met by the use of protocols which minimise communication overhead for taking a consistent distributed checkpoint and catching messages in transit, and impose low overhead in terms of running times. The paper presents measurements backing up these claims.