Proceedings ArticleDOI
Sealing OS processes to improve dependability and safety
Galen C. Hunt,Mark Aiken,Manuel Fähndrich,Chris Hawblitzel,Orion Hodson,James R. Larus,Steven P. Levi,Bjarne Steensgaard,David Tarditi,Ted Wobber +9 more
- Vol. 41, Iss: 3, pp 341-354
Reads0
Chats0
TLDR
The implementation of the sealed process architecture in the Singularity operating system is described, its merits and drawbacks are discussed, its effectiveness is evaluated, and the first macrobenchmarks for a sealed-process operating system and applications are presented.Abstract:
In most modern operating systems, a process is a hardware-protected abstraction for isolating code and data. This protection, however, is selective. Many common mechanisms---dynamic code loading, run-time code generation, shared memory, and intrusive system APIs---make the barrier between processes very permeable. This paper argues that this traditional open process architecture exacerbates the dependability and security weaknesses of modern systems.As a remedy, this paper proposes a sealed process architecture, which prohibits dynamic code loading, self-modifying code, shared memory, and limits the scope of the process API. This paper describes the implementation of the sealed process architecture in the Singularity operating system, discusses its merits and drawbacks, and evaluates its effectiveness. Some benefits of this sealed process architecture are: improved program analysis by tools, stronger security and safety guarantees, elimination of redundant overlaps between the OS and language runtimes, and improved software engineering.Conventional wisdom says open processes are required for performance; our experience suggests otherwise. We present the first macrobenchmarks for a sealed-process operating system and applications. The benchmarks show that an experimental sealed-process system can achieve performance competitive with highly-tuned, commercial, open-process systems.read more
Citations
More filters
Proceedings ArticleDOI
Finding and reproducing Heisenbugs in concurrent programs
Madanlal Musuvathi,Shaz Qadeer,Thomas Ball,Gerard Basler,Piramanayagam Arumuga Nainar,Iulian Neamtiu +5 more
TL;DR: For each bug, CHESS consistently reproduces an erroneous execution manifesting the bug, thereby making it significantly easier to debug the problem.
Proceedings ArticleDOI
Unikernels: library operating systems for the cloud
Anil Madhavapeddy,Richard Mortier,Charalampos Rotsos,David Scott,Balraj Singh,Thomas Gazagnaire,Steven G. Smith,Steven Hand,Jon Crowcroft +8 more
TL;DR: The Mirage prototype compiles OCaml code into unikernels that run on commodity clouds and offer an order of magnitude reduction in code size without significant performance penalty, and demonstrates that the hypervisor is a platform that overcomes the hardware compatibility issues that have made past library operating systems impractical to deploy in the real-world.
Journal ArticleDOI
Singularity: rethinking the software stack
Galen C. Hunt,James R. Larus +1 more
TL;DR: This paper describes the efforts of the Singularity project to re-examine these design choices in light of advances in programming languages and verification tools, and sketches the ongoing research in experimental systems that build upon it.
Proceedings ArticleDOI
Attested append-only memory: making adversaries stick to their word
TL;DR: This paper proposes Attested Append-Only Memory (A2M), a trusted system facility that is small, easy to implement and easy to verify formally, and implements A2M and protocols, and argues that the improved fault tolerance is cost-effective for a broad range of uses, opening up new avenues for practical, more reliable services.
Proceedings ArticleDOI
Helios: heterogeneous multiprocessing with satellite kernels
TL;DR: Satellite kernels are introduced, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics, and offloaded several applications and operating system components, often by changing only a single line of metadata.
References
More filters
Book
The Java Language Specification
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
Book
Smalltalk-80: The Language and its Implementation
Adele E. Goldberg,David Robson +1 more
TL;DR: This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.
Proceedings ArticleDOI
Efficient software-based fault isolation
TL;DR: It is demonstrated that for frequently communicating modules, implementing fault isolation in software rather than hardware can substantially improve end-to-end application performance.
Journal ArticleDOI
Terra: a virtual machine-based platform for trusted computing
TL;DR: A flexible architecture for trusted computing, called Terra, that allows applications with a wide range of security requirements to run simultaneously on commodity hardware, is presented.
Proceedings ArticleDOI
Exokernel: an operating system architecture for application-level resource management
TL;DR: The prototype exokernel system implemented here is at least five times faster on operations such as exception dispatching and interprocess communication, and allows applications to control machine resources in ways not possible in traditional operating systems.